在我的应用程序中,我使用renderscript,它具有x86,armeabi-v7a和mips(每个~2.7Mb)的本机代码。另外我读到mips架构只有几个设备。因此,我想将我的应用程序捆绑在两个APK中:通用(例如x86和armeabi-v7a)和mips。我发现split section有助于为mips创建apk,但是通用apk仍然包含mips架构。所以我的问题是如何从结果apk中排除abi?
由于
答案 0 :(得分:10)
您可以尝试设置包含除MIPS之外的所有内容的其他风格。在其中一个属于Android Gradle插件源的测试项目的build.gradle
文件中,我发现了这一点:
apply from: "../commonHeader.gradle"
buildscript { apply from: "../commonBuildScript.gradle", to: buildscript }
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion = rootProject.ext.buildToolsVersion
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
arm {
ndk {
abiFilters "armeabi-v7a", "armeabi"
}
}
mips {
ndk {
abiFilter "mips"
}
}
}
}
看起来他们的arm
风格基本上包括两个常见的ARM ABI。你可以定义一个" universal"包含x86
和armeabi-v7a
的风味。
他们有另一个test project,其build.gradle
包含:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'mips'
}
}
您可以使用类似的内容,然后从中删除mips
。