Reason: ‘Unknown failure: cmd: Failure calling service package: Broken pipe (32)‘

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

Module(s) with run failure(s): arm64-v8a CtsAppTestCases[instant]: com.android.tradefed.targetprep.TargetSetupError[APK_INSTALLATION_FAILED|520001|DEPENDENCY_ISSUE]: Failed to install com.android.delayed_start with /android-cts/testcases/CtsAppTestCases/CtsAppTestDelayedStart.apk] . Reason: 'Unknown failure: cmd: Failure calling service package: Broken pipe (32)' at com.android.tradefed.targetprep.TestAppInstallSetup.installSinglePackage(TestAppInstallSetup.java:608) at com.android.tradefed.targetprep.TestAppInstallSetup.installer(TestAppInstallSetup.java:568) at com.android.tradefed.targetprep.TestAppInstallSetup.setUp(TestAppInstallSetup.java:449) at com.android.tradefed.testtype.suite.ModuleDefinition.runPreparerSetup(ModuleDefinition.java:1111) at com.android.tradefed.testtype.suite.ModuleDefinition.runTargetPreparation(ModuleDefinition.java:1597) at com.android.tradefed.testtype.suite.ModuleDefinition.runPreparation(ModuleDefinition.java:1070) at com.android.tradefed.testtype.suite.ModuleDefinition.run(ModuleDefinition.java:542) at com.android.tradefed.testtype.suite.ITestSuite.runSingleModule(ITestSuite.java:1504) at com.android.tradefed.testtype.suite.ITestSuite.run(ITestSuite.java:1118) at com.android.tradefed.invoker.InvocationExecution.runTest(InvocationExecution.java:1538) at com.android.tradefed.invoker.InvocationExecution.runTests(InvocationExecution.java:1313) at com.android.tradefed.invoker.TestInvocation.prepareAndRun(TestInvocation.java:685) at com.android.tradefed.invoker.TestInvocation.performInvocation(TestInvocation.java:304) at com.android.tradefed.invoker.TestInvocation.invoke(TestInvocation.java:1523) at com.android.tradefed.command.CommandScheduler$InvocationThread.run(CommandScheduler.java:723)

错误原因分析与解决方案

遇到的是 Android CTS 测试安装 APK 失败,核心报错是:Unknown failure: cmd: Failure calling service package: Broken pipe (32)这是设备与电脑的 ADB 通信中断 / 包管理服务崩溃导致的安装失败,属于设备侧问题


一、核心原因总结

  1. ADB 通信断连(Broken pipe)PC 给设备发送安装命令时,连接突然断开,管道中断。
  2. 设备 package 服务崩溃 / 无响应安卓系统负责安装应用的包管理服务(PackageManagerService) 卡死、重启或异常。
  3. 设备系统 / 环境不兼容 / 异常,系统版本存在稳定性问题,导致 instant app 测试安装失败。
  4. 辅助原因:设备存储空间不足、权限异常、ADB 版本不匹配。

二、100% 可落地的解决方案(按优先级执行)

1. 最快速:重启设备 + 重启 ADB(90% 问题可解决)

# 1. 重启ADB服务
adb kill-server
adb start-server

# 2. 重启设备
adb reboot

# 3. 重启后重新连接,再跑测试

2. 手动安装失败的 APK,验证问题

直接安装报错的 APK,看设备真实报错:

adb install -r /tmp/xts-root-dir-xxx/android-cts/testcases/CtsAppTestCases/CtsAppTestDelayedStart.apk
  • 如果手动安装也报Broken pipe:设备系统服务异常,必须重启 / 刷机
  • 如果手动安装成功:CTS 环境问题,清理临时目录重新跑

3. 清理设备空间 + 关闭限制

# 查看设备剩余空间
adb shell df

# 清理缓存(如果空间不足)
adb shell pm clean com.android.packageinstaller

4. 禁用 instant app 测试项(临时跳过报错)

如果不需要测试 instant app,直接过滤该模块:

run cts --skip-module arm64-v8a CtsAppTestCases[instant]

三、关键报错解读

报错信息含义
APK_INSTALLATION_FAILEDAPK 安装失败
DEPENDENCY_ISSUE依赖 / 环境问题(非 APK 本身损坏)
Broken pipe (32)ADB 连接断开,设备无响应
Failure calling service package系统包管理服务崩溃

总结

  1. 根本原因:设备包管理服务崩溃 + ADB 通信中断
  2. 首选方案adb kill-server + adb reboot
  3. 设备问题:机型系统不稳定,建议刷原生 / 稳定固件
  4. 快速跳过:测试时加参数跳过该 instant 测试模块

按照步骤执行后,这个安装错误一定会消失

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值