android开发cmake下的abiFilters和ndk下的abiFilters的区别

cmake下的abiFilters和ndk下的abiFilters的区别

externalNativeBuild {
    cmake {
        cppFlags ""
        abiFilters = ["armeabi-v7a","arm64-v8a"] //指定编译c、c++代码时生成armeabi-v7a和arm64-v8a两个类型的so库
    }
}
ndk {
    abiFilters "armeabi-v7a"	//指定打包apk时只将armeabi-v7a类型的so库打包进apk里面
}
defaultConfig {
        versionCode 1
        versionName "1.0"
        externalNativeBuild {
            cmake {
                cppFlags '-std=c++11'
                abiFilters "armeabi-v7a", "arm64-v8a"
            }
        }

        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }

所以,这两个地方的abiFilters的作用是不同的。cmake下的abiFilters是和编译native代码生成so库有关。而ndk下的abiFilters是只将哪个类型so打包进apk安装包里,和生成so库没有关系。

posted @ 2021-10-27 19:43  yongfengnice  阅读(1206)  评论(0编辑  收藏  举报