同型号物理设备中,Android Studio调试APP安装失败提示包不可调试的原因
问题:同型号手机安装调试版APP,一台成功一台提示“package not debuggable”
我可在一台手机上成功安装调试版APP,但在另一台同型号手机上安装失败。两台设备的安装日志在“get process ids”之前完全一致,失败日志包含报错:
Could not get package user id: /system/bin/run-as: package not debuggable: com.mccoystoys.canview
成功安装日志片段:
… TRC_BEG [17280][17280] : Installer request:dump TRC_BEG [17280][17280] : Command Dump TRC_BEG [17280][17280] : get process ids TRC_BEG [17280][17280] : CmdCommand::GetApksFromPath TRC_BEG [17280][17280] : processing APK …
失败安装日志片段:
… TRC_BEG [25983][25983] : Installer request:dump TRC_BEG [25983][25983] : Command Dump TRC_BEG [25983][25983] : get process ids LOG_ERR [25983][25983] : Could not get package user id: /system/bin/run-as: package not debuggable: com.mccoystoys.canview TRC_BEG [25983][25983] : CmdCommand::GetApksFromPath TRC_BEG [25983][25983] : processing APK …
可能的原因及解决办法
设备调试权限配置不一致
检查失败设备的开发者选项:- 确认USB调试已开启,且“仅充电”模式下允许调试的选项已勾选;
- 部分设备需手动开启调试应用,并选中目标包名
com.mccoystoys.canview。
设备存在同包名的非调试版应用
若失败设备之前安装过该APP的正式版(release包),由于签名不一致,覆盖安装会导致调试权限失效。先卸载所有同包名应用,再重新安装调试版。APK的调试标识异常
验证两台设备安装的是同一调试APK:- 检查APK的
AndroidManifest.xml中是否存在android:debuggable="true"; - 确认编译时开启了debug模式(如Gradle配置
buildTypes.debug.debuggable = true),避免构建工具自动修改调试标识。
- 检查APK的
系统或定制ROM的限制
同型号设备可能存在系统版本差异(如稳定版/测试版),部分定制ROM会限制调试权限。检查失败设备的安全设置,是否存在“禁止调试未知来源应用”之类的选项。安装缓存问题
清理失败设备的安装相关缓存:- 执行
adb kill-server后重启ADB服务; - 在设备应用管理中清除“软件包安装程序”的缓存和数据。
- 执行
内容的提问来源于stack exchange,提问作者MrReis
相关产品推荐
相关产品推荐

