【发布时间】:2018-11-15 14:56:08
【问题描述】:
abiFilters 在 android build.gradle defaultConfig 块中设置。
我想从发布 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
我想在defautlConfig 块中保留一个完整的abiFilters
并在某些buildType中指定一个
编辑 1:
是的,删除 defaultConfig 并在 debug 和 release 块中设置 abiFilters 会起作用。但我的问题是如何使用defaultConfig
【问题讨论】:
-
回答了我自己的问题,但愿意看看是否有更好的解决方案。仍然不知道如何从 defaultConfig 中完全覆盖 abiFilters
标签: android gradle android-gradle-plugin