【gradle】コンパイル完了直接インストールと開いた指定ページのtask

8634 ワード

【gradle】コンパイル完了直接インストールと開いた指定ページのtask
  • インストールおよびオープン方法
  • ***
    インストールと開く方法
    Gradleメソッドで呼び出せばいい
    /**
     *      apk   
     */
    void installAndOpen() {
        println "InstallAndOpen"
        def isWindows = System.properties['os.name'].contains('windows') || System.properties['os.name'].contains('Windows')
        println("System is " + System.properties['os.name'] + "  is Windows =" + isWindows)
        def defaultApkPath = ""
        if (isWindows) {//Windows  
            defaultApkPath = rootDir.getAbsolutePath() + "\xx\xx\xx\xx\windows apk   "
        } else {//Linux  
            defaultApkPath = rootDir.getAbsolutePath() + "/xxp/xx/xx/xx/Linux apk   "
        }
        println defaultApkPath
        def apkFiles = new File(defaultApkPath)
        println apkFiles.getClass()
        //           
        Long lastModifiedTime = Long.MIN_VALUE
        def apkPath = ""
        if (apkFiles.isDirectory()) {
            apkFiles.listFiles().toList().forEach { file ->
                if (file.isFile() && file.name.endsWith("apk")) {
                    if (file.lastModified() > lastModifiedTime) {
                        lastModifiedTime = file.lastModified()
                        apkPath = file.path
                    }
                }
            }
        }
        if (apkPath.length() == 0) {
            return
        }
        //  apk adb install   
        def command = "adb install -r -d ${apkPath}"
        println command
        def result = command.execute()
        def resultText = result.text
        println resultText
        if (resultText.contains("Success")) {
            //  apk       Activity 
            def startCommand = "adb shell am start   /  "
            println startCommand
            def startResult = startCommand.execute()
            println startResult.text
        }
    }