我有一个Android应用程序,我已经能够用Gradle成功构建(使用Gradle0.7)。现在,我想设置Gradle来构建两个单独的.apk,一个只有ARM本机库,另一个只有Intel x86本机库。我尝试使用productFlavors,如下例所示:
How to configure NDK with Android Gradle Plugin0.7
但是,在我的Gradle脚本中指定了productFlavors,.apks根本不包括任何库(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/armeabi-v7a
build/javaresources/debug/lib/x86
如果没有Gradle脚本中的productFlavors,Gradle似乎知道在这些目录中查找库。所以我不知道到底发生了什么。为什么productFlavors的加入会阻止Gradle在那里寻找库呢?
关于您所指的示例,您使用的是主要帖子中的片段还是其最佳答案中的片段?主帖中的那个有点过时了,也许这就是为什么它不适合你的项目。
您必须在productFlavors中使用abifilter
属性,并将本机库放在jnilibs
文件夹中。下面是一个build.gradle示例:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20"
defaultConfig{
minSdkVersion 15
targetSdkVersion 20
versionCode 101
versionName "1.0.1"
}
flavorDimensions "abi"
productFlavors {
x86 {
flavorDimension "abi"
ndk {
abiFilter "x86"
}
versionCode 5
}
arm {
flavorDimension "abi"
ndk {
abiFilter "armeabi-v7a"
}
versionCode 2
}
all {
flavorDimension "abi"
versionCode 0
}
}
// make per-variant version code
applicationVariants.all { variant ->
// get the version code of each flavor
def abiVersion = variant.productFlavors.get(0).versionCode
// set the composite code
variant.mergedFlavor.versionCode = abiVersion * 100000 + defaultConfig.versionCode
}
}
请注意,在本例中,我还为每个ProductFlave修改了应用程序的版本代码,因此它可以与Play Store上的多个APK处理功能一起正常工作。
您可以在这里获得更多关于这一切如何工作的背景信息:http://ph0b.com/android-studio-gradle-and-ndk-integration/
我一直在寻找在中包含FXML和图像的适当方法,以便将它们构建到JAR中。我看过这里,试过它,但它仍然不起作用。 抛出此错误: 以下是(Github): 下面是gui.java(Github): stacktrace表示导致了错误 在外面的树,他们都不在,我已经摆弄了几个小时,试图解决这个问题。如有任何帮助,将不胜感激。 如果需要更多信息,这里还有Github存储库
null 我尝试过的相关帖子: 从单个生成类型生成使用不同密钥签名的多个生成 这需要为每种口味配置 它似乎没有使用我自定义的 null null 我的的重要部分如下所示:
我正在尝试将我的项目迁移到gradle。我的一个项目有多种产品风格,并且每个项目都必须在其发布版本中使用不同的进行签名。所以这是我到目前为止尝试的: 当我运行时,我得到一个和以下错误消息: 所以我假设。*Gradle脚本的一部分不是放置代码签名配置的正确位置。
在app.gradle中,我只为专业版添加了LockPattern库: 我在两种风格中都描述了相同的类(所以在主文件夹中),因为它很大,我不想在两种风格中重复代码。pro版本成功构建,但lite版本显示了一个错误,因为我没有导入lite版本的依赖项。 我看到的一个解决方案是将lockpattern库添加到两种口味中,然后使用proGuard,将其从lite口味中删除。虽然我相信这可能奏效,但这可能
当我试图给我的项目添加一种风格时,Gradle就是不想同步,即使我同步了,我也看不到构建变量中的风格。什么会导致这个问题?该项目有几个模块,我需要添加应用程序的味道。我的文件: 我从这里删除了一些信息,比如依赖关系、id等等,只是为了显示一个结构。
null