2015-05-15 90 views
3

我试着在build-extras.gradle上添加一些风味,但是做完之后cordova run android已停止工作。Android gradle build cordova 5.0.0

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

回答

1

我面临同样的问题,我想我已经找到了一个可行的解决方案(尽管我宁愿在科尔多瓦本身看到解决方案)。

问题是cordova构建脚本(在运行阶段)假设如果你有多个APK(这是​​如果你添加ProductFlavors的情况),其中一个必须是体系结构特定的。这导致了一个空列表:

Built the following apk(s):

cordova-app/platforms/android/cordova/node_modules/q/q.js:126 throw e;

^ Error: Could not find apk architecture: x86 build-type: debug

我现在所做的是以下内容添加到我的集结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一个前需要那些-- rgument。

不幸的是,cordova构建过程并不喜欢我在没有干净的情况下切换风味(因为在我的输出目录中我再次有多个.apk文件)。所以当你先切换一个./platforms/android/cordova/clean来删除旧的.apk文件。