从.bat文件调用Gradle导致批处理执行停止。

18

我正在自动化发布我的Android应用程序,我正在使用Gradle,它非常实用!

只有一个问题,请考虑这个.bat文件(在Windows 7下):

:: assemble the project
gradle assemble -Pprofile_name=%profile_name% -p%destination_dir%

::copy apk to repository
copy "D:\compile\myapp\build\apk\*.apk" "d:\build_repository"

拷贝命令从未执行过,似乎在调用Gradle实用程序后就停止执行了。 有任何想法吗?

Gradle内的构建成功结束,没有任何错误...


1
我不知道这个问题的答案(它可能与Gradle无关),但我建议使用Gradle进行复制。 - Peter Niederwieser
你有没有一个好的链接,可以解释如何将输出的apk复制到文件夹中? - Seraphim's
可能是如何在bat文件中执行多个maven命令?的重复问题。 - OhadR
2个回答

28

我也遇到了这个问题,但是是在一个 web 应用中。Gradle 并不一定是问题所在,重点是你如何调用它。就像在这个帖子中所解释的那样,

如何在 bat 文件中执行多个 maven 命令?

因为 Gradle 本身就是一个批处理文件,它完成了执行并没有将控制权返回给你的批处理文件。使用相同的 'call' 策略,一切都应该正常工作。对于你的原始帖子,可以这样做:

call gradle assemble -Pprofile_name=%profile_name% -p%destination_dir%

::copy apk to repository
copy "D:\compile\myapp\build\apk\*.apk" "d:\build_repository"

1
令人印象深刻的简单,你做到了! - Seraphim's

-1
如果你正在使用ionic/cordova,且在执行"ionic cordova build --release android"后批处理停止了,请在前面加上"call":

call ionic cordova build --release android


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接