美文网首页Android 开发相关文章收集
Android开发中so库文件的存放位置

Android开发中so库文件的存放位置

作者: 汶水一方 | 来源:发表于2017-08-10 23:07 被阅读680次

    在自己编译so库文件,或者引用第三方的so库文件时,库文件存放目录不正确经常会引起很多问题。这里总结一下。

    so文件存放目录 或 默认生成目录:

    • jniLibs/CPU_ABI:对于Android Studio项目
    • libs/CPU_ABI:对于Eclipse项目
    • jni/CPU_ABI:在AAR文件中
    • lib/CPU_ABI:在APK文件中
    • 在app的nativeLibraryPath目录中:对于Android 版本<5.0 的设备
    • 在app的legacyNativeLibraryDir/CPU_ARCH目录中:对于Android版本>=5.0的设备

    以上提到的CPU_ABI的可能取值如下,它的值取决于你编译的目标平台。

    • armeabi
    • armeabi-v7a
    • arm64-v8a
    • x86
    • x86_64
    • mips
    • mips64

    引用so文件时,如果so文件被放在默认目录下:

    • 在Android Studio中,so文件在jniLibs/CPU_ABI下
    • 在Eclips中,so文件在jni/CPU_ABI下
      那么你不用做额外的设置。

    如果so文件没有被放在默认目录下

    比如在Android Studio中,so文件放在了libs目录下。则需要在build.gradle中添加设置,来指定实际存放目录。

    android {
        ...
        sourceSets {
            ...
            main.jni.srcDirs = []
            main.jniLibs.srcDirs = ['libs']
        }
    ....
    

    相关文章

      网友评论

        本文标题:Android开发中so库文件的存放位置

        本文链接:https://www.haomeiwen.com/subject/qqvkrxtx.html