我有一个Android应用程序,我已经成功地使用Gradle(使用Gradle 0.7)构建。现在我想设置Gradle来构建两个单独的.APK文件,一个只包含ARM本机库,另一个只包含Intel x86本机库。我尝试使用productFlavors,如下例所示:
如何配置NDK与Android Gradle插件0.7
但是,在Gradle脚本中指定productFlavors后,.APK文件根本不包括任何库(libs目录本身不在.APK文件中)。没有productFlavors时,库会被包含 - 尽管生成的APK将包含ARM和x86库。
使用Gradle,似乎我们的库被放置在以下目录中: build/javaResources/release/lib/armeabi-v7a
build/javaResources/release/lib/x86
build/javaResources/debug/lib/armeabi-v7a
build/javaResources/debug/lib/x86
在Gradle脚本中没有productFlavors的情况下,Gradle似乎知道在这些目录中查找库。因此,我对发生了什么感到困惑。为什么包含productFlavors会阻止Gradle在那里查找库呢?
如何配置NDK与Android Gradle插件0.7
但是,在Gradle脚本中指定productFlavors后,.APK文件根本不包括任何库(libs目录本身不在.APK文件中)。没有productFlavors时,库会被包含 - 尽管生成的APK将包含ARM和x86库。
使用Gradle,似乎我们的库被放置在以下目录中: build/javaResources/release/lib/armeabi-v7a
build/javaResources/release/lib/x86
build/javaResources/debug/lib/armeabi-v7a
build/javaResources/debug/lib/x86
在Gradle脚本中没有productFlavors的情况下,Gradle似乎知道在这些目录中查找库。因此,我对发生了什么感到困惑。为什么包含productFlavors会阻止Gradle在那里查找库呢?
android { ... sourceSets.main { jniLibs.srcDir 'src/main/libs' } }
。此外,为使其正常工作,您需要使用至少android插件0.7.3(最好使用最新版本)。 - ph0b