android - 如何通过 gradle 任务在设备上安装和运行 Android 应用程序?

标签 android gradlew

Gradle 2.14

android {
    dev {
    }
}

   task runAppDev(type: Exec, dependsOn: 'installDev') {
        description "Install and run app (dev env)"
        android.applicationVariants.all { variant ->
            if ("installDev".toUpperCase().endsWith(variant.getName().toUpperCase())) {
                commandLine getRunAppCommandLine(variant)
            }
        }
    }

    def getRunAppCommandLine(variant) {
        List<String> commandLine = ["adb", "shell", "am", "start", "-n", variant.getApplicationId() + "/.activity.SplashActivity"]
       return commandLine
    }

通过以下方式运行我的任务:gradlew runAppDev

结果:

在“Nexus 5 - 6.0.1”上为 app:dev 安装 APK“app-dev.apk” 安装在 1 台设备上。 :应用程序:运行AppDev 构建成功

因此,我的应用程序成功安装在设备上,但未在设备上运行。

最佳答案

我发现了错误。我发送了不正确的 adb arg。此处修复:

 def getRunAppCommandLine(variant) {
   List<String> commandLine = ["adb", "shell", "monkey", "-p", variant.getApplicationId() + " 1"]
   return commandLine
}

关于android - 如何通过 gradle 任务在设备上安装和运行 Android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41879940/

相关文章:

Gradle-构建项目结构

android - 为什么我看不到使用此 Activity 的 ProgressDialog?

android - Check condition 仅显示和动态列表查看具有不同高度的所有项目

java - 如何查看Android Studio的内嵌JDK版本?

android:textColor= 不改变颜色

android - 无法从您的 Ionic 应用生成 Android App Bundle(没有 Android Studio)

gradle - 根据Gradle中的构建类型更新值

gradle - 使用Gradle构建Docker镜像失败,出现 “COPY failed: no source files were specified”

android - `dependencies` 和 `androidDependencies` 之间的输出不同

android - 继续检查网络连接android