我有一個系統,經過一些用戶輸入後,我打電話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