Android gradle使用cordova 5.0.0构建风味

时间:2015-05-15 20:04:57

标签: android cordova

我尝试在build-extras.gradle上添加一些风格,但在这之后cordova run android已停止工作。

使用新的基于gradle的构建系统是否可以在Android上拥有不同的构建风格?

1 个答案:

答案 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文件。

相关问题