我尝试在build-extras.gradle上添加一些风格,但在这之后cordova run android
已停止工作。
使用新的基于gradle的构建系统是否可以在Android上拥有不同的构建风格?
答案 0 :(得分:1)
我遇到了同样的问题,我认为我找到了一个可行的解决方案(尽管我更愿意在cordova内部看到解决方案)。
问题是cordova构建脚本(在运行阶段)假设如果你有多个APK(如果你添加了ProductFlavors就是这种情况),其中一个必须是特定于体系结构的。这导致一个空列表:
构建以下apk:
科尔多瓦应用内/平台/机器人/科尔多瓦/ node_modules / Q / q.js:126 扔e;
^错误:找不到apk架构:x86 build-type:debug
我现在所做的是将以下内容添加到我的 build-extras.gradle 中:
android.variantFilter { variant ->
def flavor = variant.flavors.get(0).name
if (project.hasProperty("activeFlavor")) {
if (flavor != project.getProperty("activeFlavor")) {
variant.setIgnore(true)
}
}
else {
if (flavor != "mydefaultproductflavor") {
variant.setIgnore(true)
}
}
}
当我不想要我的默认味道时,我需要使用以下方法指定味道:
cordova run android -- --gradleArg="-PactiveFlavor=myotherflavor"
不确定原因,但在提供--
参数之前我需要--gradleArg
。
不幸的是,cordova构建过程不喜欢我在没有干净的情况下切换风味(从那以后我在输出目录中再次出现多个.apk文件)。因此,当您先切换时,请执行./platforms/android/cordova/clean
删除旧的.apk文件。