Android-NDK | 指定库文件名字

Android-NDK 开发中,生成的 ****.so 文件不符合规范,需要在打包时指定一个文件名。

开发环境

不同的开发环境,操作略有不同,这里只列举以下开发环境的解决方案。

  • OS


    Android-NDK | 指定库文件名字_第1张图片
  • JDK


    Android-NDK | 指定库文件名字_第2张图片
  • Android Studio


    Android-NDK | 指定库文件名字_第3张图片
  • Android SDK


    Android-NDK | 指定库文件名字_第4张图片
  • SDK Tools


    Android-NDK | 指定库文件名字_第5张图片

解决方案

关键在于 app\CMakeLists.txt 文件中的配置,由它决定编译、打包出来的文件名字。

  • 方案展示


    Android-NDK | 指定库文件名字_第6张图片

    Android-NDK | 指定库文件名字_第7张图片
  • 示例代码
    请在 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");
    }
  • 编译输出


    Android-NDK | 指定库文件名字_第8张图片

总结

简单的名字修改,浪费一个下午的时间,于是在这里记录一下。

你可能感兴趣的:(Android-NDK | 指定库文件名字)