我有一个Android应用程序,我已经能够使用Gradle成功构建(使用Gradle 0.7) . 现在我想设置Gradle来构建两个独立的.APK,一个只有ARM本机库,另一个只有Intel x86本机库 . 我尝试过使用productFlavors,如下例所示:
How to configure NDK with Android Gradle plugin 0.7
但是,使用我的Gradle脚本中指定的productFlavor,.APK根本不包含任何库(libs目录本身不在.APK中) . 如果没有productFlavors,则包含库 - 尽管生成的APK将包含ARM和x86库 .
使用Gradle,似乎我们的库被放置在以下目录中:build / javaResources / release / lib / armeabi-v7a
Build / javaResources / release / lib目录/ 86
Build / javaResources /调试/ lib目录/ armeabi-V7A
Build / javaResources /调试/ lib目录/ 86
如果没有Gradle脚本中的productFlavors,Gradle似乎知道在这些目录中查找库 . 所以我继续说道 . 为什么包含productFlavor会阻止Gradle查找库?
1 回答
关于您所指的示例,您使用的是主帖或其最佳答案的片段吗?主帖中的那个有点过时了,也许这就是为什么它不适合你的项目 .
您必须在productFlavors中使用
abiFilter
属性,并将本机库放在jniLibs
文件夹中 . 这是一个build.gradle示例:请注意,在此示例中,我还修改了每个productFlavor的应用程序的versionCode,因此它可以正常使用Play商店中的多个APK处理功能 .
您可以在此获得有关这一切如何工作的更多背景信息:http://ph0b.com/android-studio-gradle-and-ndk-integration/