android - 如何在 build.gradle 中检索 ADB 的路径

标签 android gradle android-studio adb gradlew

我试图通过 gradle task 启动应用程序。


task runDebug(dependsOn: ['installDebug', 'run']) {
}

task run(type: Exec) {
commandLine 'adb', 'shell', 'am', 'start', '-n', 'com.example.myexample/.ui.SplashScreenActivity'
}

但是这段代码不起作用,我得到错误:
启动进程'command 'adb''时出现问题

但是,当我明确指定 adb 的路径时,应用程序就会启动。


task run(type: Exec) {
    commandLine 'D:\\android\\android-studio\\sdk\\platform-tools\\adb', 'shell', 'am', 'start', '-n', 'com.example.myexample/.ui.SplashScreenActivity'
}

那么我怎样才能获得一个包含路径的变量并将其传输到 commandLine

最佳答案

您应该使用 Android Gradle 插件已有的逻辑来查找 SDK 和 adb 位置,以确保您的脚本使用相同的位置。

# Android Gradle >= 1.1.0
File sdk = android.getSdkDirectory()
File adb = android.getAdbExe()

# Android Gradle < 1.1.0
File sdk = android.plugin.getSdkFolder()
File adb = android.plugin.extension.getAdbExe()

关于android - 如何在 build.gradle 中检索 ADB 的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288448/

相关文章:

android - Firebase Analytics 虚线

maven - 将pom文件转换为gradle

variables - 定义一个变量并在定义过程中出现问题时将其设置为默认值

android-studio - 如何在 Windows 中使用 Android Studio 为 Flutter 应用程序生成 IOS IPA?

android - 将图像从 JSON 解析为 Android 中的 ListView

java - 将类转移到 ListActivity 上的其他类

android - 在 Android 中使用 3G 和 Wifi 检查互联网连接

android - 如何从 gradle 依赖中获取 .AAR 文件?

java - 如何播放从内部存储中获取的歌曲

android - app_release.apk 的 Google oauth 问题,app_debug.apk 工作正常