我有一个系统,经过一些用户输入后,我打电话os.system("./gradlew assembleDebug ")
来生成APK。在此之后,定义了一个函数用于下载APK,该函数将被调用。这一切在当地环境中运作良好。但是在我的AWS EC2实例中,前者的调用不是阻塞的,即使在APK生成过程中也会调用下载apk函数,这显然会失败。我在我的EC3实例上使用ngnix。成功生成apk后运行python脚本
我想在我的apk成功生成后调用python脚本。
这是在我的build.gradle文件中。
task generateSources << {
def script = "python downloadAPK.py".execute()
}
gradle.projectsEvaluated {
compileJava.dependsOn(generateSources)
}
我得到这个错误错误:(84,0)在项目':app'上找不到属性'compileJava'。
无论如何,我认为这不会帮助我,因为我不确定这是否会在APK生成后运行。所以我看到两件事情可以在这里完成:
- 配置ngnix或其他在我的实例,这使得前者的呼叫是阻塞的。
- 生成APK后调用python脚本。可以使用assembleDebug命令并在构建成功后调用python脚本。
请让我知道哪一个是更好的方法,以及如何去做。
谢谢。但是我怎么知道这个任务会在构建成功后被调用? –
@HarshVardhan,已更新答案以添加dependsOn参数来创建任务。或者,不要提供作为参数,你可以执行'generateSources.dependsOn(assembleDebug)' – JBirdVegas