在 Android-NDK
开发中,生成的 ****.so
文件不符合规范,需要在打包时指定一个文件名。
开发环境
不同的开发环境,操作略有不同,这里只列举以下开发环境的解决方案。
-
OS
-
JDK
-
Android Studio
-
Android SDK
-
SDK Tools
解决方案
关键在于 app\CMakeLists.txt
文件中的配置,由它决定编译、打包出来的文件名字。
-
方案展示
示例代码
请在app\CMakeLists.txt
文件中找到:
add_library( # Sets the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
src/main/cpp/native-lib.cpp
)
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib} )
native-lib
是项目创建时的默认值,你可以修改为你想要的规范名字,然后别忘记更新加载名字:
static {
System.loadLibrary("native-lib");
}
-
编译输出
总结
简单的名字修改,浪费一个下午的时间,于是在这里记录一下。