You need to enable JavaScript to run this app. Appium执行adbExec命令出现未知服务端错误,安装APK失败如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Appium执行adbExec命令出现未知服务端错误,安装APK失败如何解决?

Appium adbExec 安全异常报错解决方案

问题根因

这个报错本质是你使用的安卓测试设备(安卓11及以上版本居多)的adb进程没有android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS权限,导致执行带-g参数的adb安装命令(安装时自动授予所有运行时权限)时触发安全拦截。

排查步骤

  • 确认测试设备安卓版本:安卓11及以上版本的定制ROM(小米、华为、vivo、OPPO等)普遍对adb安装权限做了额外限制,是该问题的高发场景。
  • 检查开发者选项开关:确认「USB调试」「USB安装」「允许USB调试修改权限」这类开关是否已经开启。
  • 手动复现问题:直接在本地终端运行报错中给出的adb命令,确认是否独立于Appium也能复现报错,排除Appium调用参数错误的可能。

解决方案

方案1:调整设备权限(优先选择)

  1. 进入设备的「开发者选项」页面,开启以下权限:
    • USB调试
    • USB安装(允许通过USB渠道安装应用)
    • USB调试安全设置(允许USB调试修改应用权限、模拟点击)
  2. 部分品牌的设备要求插入SIM卡才能开启USB安装相关权限,无SIM的测试机可先插入实体SIM卡后再开启对应开关。
  3. 重新插拔USB线,在弹出的调试授权弹窗中勾选「始终允许此计算机调试」,点击确认。
  4. 重新运行Appium测试验证是否解决。

方案2:修改Appium启动配置

如果无法修改设备权限,可以在Appium的Desired Capabilities中添加noGrantAppPermissions参数,禁用安装时自动加-g参数的逻辑:
"noGrantAppPermissions": true

注意:该配置生效后,Appium不会自动给settings APK、被测应用授予运行时权限,你需要后续通过adb命令或者UI操作手动授予所需权限。

方案3:手动预安装依赖APK

如果上述方案都不生效,可以先手动安装Appium的settings APK,跳过Appium自动安装的步骤:

  1. 去掉-g参数执行安装命令:
    adb -s 3af689100106 install "C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\io.appium.settings\apks\settings_apk-debug.apk"
  2. 安装完成后手动进入应用设置,给io.appium.settings应用授予所有需要的权限。
  3. 重新启动Appium测试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:27:03