Android gradlew.bat assembleRelease选择启动包

时间:2017-10-05 15:45:52

标签: android gradle android-studio-2.3

我有一个Android Studio应用程序,现在已接近100" productFlavors"与之相关的,当然都在build.gradle中定义。我想从命令行构建它们,因为在IDE中一次构建它们将是一场噩梦。当我在使用命令行gradlew.bat assembleRelease构建错误时遇到错误时,我的问题出现了。一旦我修复了错误,我想在失败点(可能是50种版本)开始构建,而不是在开始时。有没有办法用Gradle做到这一点?使用Ant我不得不对它们进行评论,我希望Gradle有更好的方法,因为文件中的结构要复杂得多。

更新

我终于找到了一个包含Gradle和Ant的解决方案(很讨厌,但它有效)。基本上我想建立我的100个白色标签口味,带有版本的前缀,然后将其复制到没有版本的传送APK。为此,我的ANT脚本如下所示:

#!/bin/sh
DEPLOY_DIR=C:/AndroidBuilds/MyCompany.Build
VERSION="63"

NAME="WhiteLabel1"
DEPLOY_FOLDER="whitelabel1"
APK_NAME=$NAME$".apk"
gradlew assemble$NAME
cp $DEPLOY_DIR/$DEPLOY_FOLDER/$VERSION"-"$APK_NAME $DEPLOY_DIR/$DEPLOY_FOLDER/$APK_NAME

NAME="WhiteLabel2"
DEPLOY_FOLDER="whitelabel2"
APK_NAME=$NAME$".apk"
gradlew assemble$NAME
cp $DEPLOY_DIR/$DEPLOY_FOLDER/$VERSION"-"$APK_NAME $DEPLOY_DIR/$DEPLOY_FOLDER/$APK_NAME

这会生成2个APK,63-WhiteLabel1.APK63-WhiteLabel2.APK,然后将其复制到各自的部署目录WhiteLabel1.APKWhiteLabel2.APK

我想如果你很聪明,你可以让这个参数运行你想要的那个,但是Android Studio做得相当不错。

1 个答案:

答案 0 :(得分:1)

你无法专门做到这一点,但是你可以解决这个问题并用一些脚本魔法修复它。

如果你有一个名为Release的构建类型和一个名为Iron的样式,你可以运行:

gradlew.bat assembleIronRelease

所以你可以写一个会运行所有风格的循环的脚本,如果它失败了,它会告诉你哪一个失败了。然后你可以修复错误,然后再次启动脚本,告诉它从X风格开始(你必须编写逻辑来告诉它从哪里开始)。