You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程ADB服务器运行Gradle测试遇配置难题,求解决方法

解决Gradle测试连接远程ADB服务器的问题

我之前调试远程ADB配合Gradle测试时也踩过类似的坑,给你几个亲测有效的方案:

方案1:通过环境变量直接传递完整ADB服务器地址

其实Gradle的Android插件是支持读取ADB_SERVER_SOCKET环境变量的,可能你之前没在Gradle启动前正确设置这个变量。试试这样操作:

  • Linux/macOS:
    export ADB_SERVER_SOCKET=tcp:<你的远程主机>:<端口>
    ./gradlew connectedAndroidTest
    
  • Windows:
    set ADB_SERVER_SOCKET=tcp:<你的远程主机>:<端口>
    gradlew connectedAndroidTest
    
    这样Gradle会直接复用这个指定的远程ADB服务器连接,不用单独拆分设置主机和端口。

方案2:在Gradle脚本里直接配置ADB参数

如果想把配置固化在项目里,可以在模块级的build.gradle(或build.gradle.kts)中添加ADB服务器的指定配置:

android {
    adbOptions {
        serverAddress "<你的远程主机>"
        serverPort <端口号>
    }
}

或者用Kotlin DSL:

android {
    adbOptions {
        serverAddress = "<你的远程主机>"
        serverPort = <端口号>
    }
}

设置后Gradle运行测试时会主动连接你指定的远程ADB服务器,不需要依赖系统环境变量。

方案3:先手动连接远程ADB再让Gradle复用

先在终端手动完成远程ADB的连接:

adb connect <你的远程主机>:<端口>

确认adb devices能正常列出emulator-5554设备后,直接运行Gradle测试命令即可。此时Gradle会复用当前已经建立好的ADB连接,无需额外配置主机和端口。

额外注意点

  • 确保远程主机的ADB端口没有被防火墙拦截
  • 提前验证adb devices能正常识别目标设备,避免Gradle测试时找不到设备
  • 如果在CI/CD环境中使用,要确保环境变量能正确传递到Gradle进程中

内容的提问来源于stack exchange,提问作者yakimant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:18:53