android – Gradle使用不同的abiFilters进行调试和发布
作者:互联网
这是我的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和arm64-v8a),同时在调试模式下构建应用程序,并在构建版本apk时仅使用一个(armeabi).但它不起作用.调试版和发行版都使用了所有三个abiFilter.
我的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"
}
}
}
}
标签:android,android-ndk,gradle,ndk-build 来源: https://codeday.me/bug/20190823/1701744.html