Ell*_*nce 5 java android gradle android-studio android-gradle-plugin
我有一个使用本机JNI库的Android应用程序.我把它放入app/src/main/jniLibs/armeabi-v7a没有任何gradle配置,Android工作室愉快地将它捆绑到APK.
我有一个要求,即所有本机库都不能与某个发行版捆绑在一起.是否可以创建一个构建变体或构建类型,它只是排除所有本机库(甚至可能是名称.so).
本发行版中缺少本机库这一事实并不重要,因为它没有被使用.另一种方法是物理删除文件,运行构建,将它们放回去.然而,这是痛苦的并且容易出错.
从你的信息中build.gradle,我们也许能够准确地知道要做什么。
我使用productFlavours, 结合来flavorDimensions实现可能包含也可能不包含 jni 库的构建。
据我了解,其要点是:productFlavors使您能够拥有 x, y... 类型的 n 个变体,添加flavorDimensions将使您能够拥有 xy 类型的 n 个变体。
例如。里面build.gradle,
flavorDimensions "abi", "version" //this is what can help you build with/w/o jni libraries
productFlavors {
devel {
flavorDimension "abi" //keep a dimension common with arm, armv7
applicationId "com.packagename.dev"
}
prod {
flavorDimension "version"
// this would be your build w/o the ndk support then
applicationId "com.packageName"
}
armv7 {
ndk {
flavorDimension "abi"
abiFilter "armeabi-v7a"
}
}
arm {
ndk {
flavorDimension "abi"
abiFilter "armeabi"
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,您将有多个构建变体,产品风格取决于flavorDimension.
prod风味将是一个构建变体或构建类型,仅排除所有本机库
主题来源 ndk、jniLibs、buildFlavours... :
-在 Android 上掌握“产品风味”
- ndk-with-android-studio
-多风味设置
| 归档时间: |
|
| 查看次数: |
2304 次 |
| 最近记录: |