在Android Studio中成功执行“重建项目”后执行Python脚本

时间:2019-04-30 09:54:18

标签: android python gradle android-gradle

我需要将新生成的apk复制到远程计算机,因此目前我在桌面上有一个图标,该图标会触发Python脚本。

我希望在重建项目成功后Android Studio自动调用此脚本。

我该怎么做?

我找到了一段代码,特别是:

task generateSources << {
    def script = "python downloadAPK.py".execute()
}

gradle.projectsEvaluated {
    compileJava.dependsOn(generateSources)
}

但是当我在应用程序build.gradle的底部插入此代码时,Android Studio抱怨“找不到方法leftShift()...”

1 个答案:

答案 0 :(得分:0)

app 模块的 build.gradle 文件中添加以下内容:

android {
    ...        
    defaultConfig {
      ...
    }    
    buildTypes {
      ...
    }    
    afterEvaluate {
        task upload_apk() {
            doLast {
                def do_upload = true
                if (project.hasProperty('android.optional.compilation')) {
                    if (project.property('android.optional.compilation').toString().contains("INSTANT_DEV")) {
                        do_upload = false
                    }
                }
                if (do_upload) {
                  println('\nUploading APK...')
                  exec {
                      workingDir "C:\\Users\Username\Desktop\\tools"
                      executable "python"
                      args "C:\\Users\Username\Desktop\\tools\\upload_apk.py"
                  }
                }
                else {
                    println 'Will not upload the APK since Instant Run has not modified it'
                }
            }
        }
        assembleDebug.finalizedBy(upload_apk)
    }
}