abiFilters
是在安卓 build.gradle
文件的 defaultConfig 块中设置的。我想在发布版本(release buildType)中排除
x86
,但是找不到简单的方法来实现。这是
build.gradle
文件的内容:defaultConfig {
ndk {
abiFilters "armeabi", "x86"
moduleName "cipher_v1"
cFlags "-DRELEASE=1"
if (rootProject.ext.has("testCrack")) {
cFlags += " -DTEST_CRACK"
}
if (project.ext.has("authKey") && project.ext.has("androidId")) {
cFlags += "-DAUTH_KEY=\\\"" + project.ext.authKey + "\\\""
"-DANDROID_ID=\\\"" + project.ext.androidId + "\\\""
}
}
}
buildTypes {
release {
ndk {
abiFilters "armeabi"
}
}
}
这是我得到的内容:
unzip -l base-release.aar|grep cipher
17752 02-01-1980 00:00 jni/armeabi/libcipher_v1.so
17640 02-01-1980 00:00 jni/x86/libcipher_v1.so
我真正想要的是:
unzip -l base-release.aar|grep cipher
17752 02-01-1980 00:00 jni/armeabi/libcipher_v1.so
我希望在
defaultConfig
块中保留完整的abiFilters
,并在特定的buildType
中指定它们。
编辑1:
是的,删除
defaultConfig
并在debug
和release
块中设置abiFilters
会起作用。但我的问题是如何利用defaultConfig
。