Gradle 使用不同的 abiFilters 进行调试和发布
Gradle using different abiFilters for debug and release
这是我的 build.gradle 文件的一部分:
android {
//...
defaultConfig {
//...
externalNativeBuild {
ndkBuild {
targets "MyGame"
arguments "NDK_MODULE_PATH=$cocospath:$cocospath/cocos:$cocospath/external:$cocospath/cocos/prebuilt-mk:$cocospath/extensions"
arguments "-j" + Runtime.runtime.availableProcessors()
buildTypes {
debug {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
release {
abiFilters "armeabi"
}
}
}
}
}
//.........
我试图在调试模式下构建应用程序时使用三个 ABI 过滤器 (armeabi, armeabi-v7a and arm64-v8a)
,而在构建发布 apk 时仅使用一个 (armeabi)
。但它不起作用。调试版和发布版都使用所有三个 abiFilters。
我的 gradle 文件有什么问题?
编辑:
事实证明,当我拥有所有三个 abi 过滤器并成功构建应用程序时,我想只留下 armeabi 并且......仍然添加了所有三个。我不得不手动删除 app/build 目录的内容。
您将 aabiFIlters 放在了错误的区块中。这就是它的工作原理:
android {
//...
defaultConfig {
//...
externalNativeBuild {
ndkBuild {
targets "MyGame"
arguments …
}
}
}
buildTypes {
release {
ndk {
abiFilters "armeabi-v7a"
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
ndk {
abiFilters "x86", "armeabi-v7a"
}
}
}
}
这是我的 build.gradle 文件的一部分:
android {
//...
defaultConfig {
//...
externalNativeBuild {
ndkBuild {
targets "MyGame"
arguments "NDK_MODULE_PATH=$cocospath:$cocospath/cocos:$cocospath/external:$cocospath/cocos/prebuilt-mk:$cocospath/extensions"
arguments "-j" + Runtime.runtime.availableProcessors()
buildTypes {
debug {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
release {
abiFilters "armeabi"
}
}
}
}
}
//.........
我试图在调试模式下构建应用程序时使用三个 ABI 过滤器 (armeabi, armeabi-v7a and arm64-v8a)
,而在构建发布 apk 时仅使用一个 (armeabi)
。但它不起作用。调试版和发布版都使用所有三个 abiFilters。
我的 gradle 文件有什么问题?
编辑:
事实证明,当我拥有所有三个 abi 过滤器并成功构建应用程序时,我想只留下 armeabi 并且......仍然添加了所有三个。我不得不手动删除 app/build 目录的内容。
您将 aabiFIlters 放在了错误的区块中。这就是它的工作原理:
android {
//...
defaultConfig {
//...
externalNativeBuild {
ndkBuild {
targets "MyGame"
arguments …
}
}
}
buildTypes {
release {
ndk {
abiFilters "armeabi-v7a"
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
ndk {
abiFilters "x86", "armeabi-v7a"
}
}
}
}