么可 2021-04-26 16:02 采纳率: 0%
浏览 818

安卓开发调试应用运行失败'Unknown failure: cmd: ''

安卓开发调试一个类似应用市场的应用的时候,该应用有系统级别的签名和权限

android:sharedUserId="android.uid.system"

调试应用第一次可以成功运行,第二次设备会莫名其妙的重启,运行安装失败,会报错如下:


14:37    null
            java.lang.NullPointerException
            at com.android.tools.idea.transport.TransportServiceProxy.removeProcesses(TransportServiceProxy.java:508)
            at com.android.tools.idea.transport.TransportServiceProxy.updateProcesses(TransportServiceProxy.java:500)
            at com.android.tools.idea.transport.TransportServiceProxy.updateProcesses(TransportServiceProxy.java:440)
            at com.android.tools.idea.transport.TransportServiceProxy.deviceChanged(TransportServiceProxy.java:385)
            at com.android.ddmlib.AndroidDebugBridge.deviceChanged(AndroidDebugBridge.java:931)
            at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:548)
            at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:436)
            at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:59)
            at com.android.ddmlib.DeviceMonitor$1.run(DeviceMonitor.java:359)
            
            
Installation did not succeed.
The application could not be installed.
Installation failed due to: ''cmd package install-create -r -t -S 11423311' returns error 'Unknown failure: cmd: Can't find service: package''

 

就是都是第一次可以运行调试,第二次一开始调试设备就会重启了,又没有报什么错误,就只有上面这些,真的很奇怪,为什么会这样呢?

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 优质创作者: Java、后端开发技术领域 2024-07-14 20:32
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这个问题可能是由于应用未正确卸载导致的。在 Android 系统中,具有相同 sharedUserId 的应用被视为同一个应用程序。由于你的应用具有系统级别的签名和权限,第一次安装后系统将其视为系统应用。但是,如果应用未正确卸载,系统可能会出现混乱,导致第二次运行时设备崩溃或无法正常安装。 为了解决这个问题,可以尝试在调试应用之前先彻底卸载应用,然后再重新安装和运行。或者可以尝试清除应用数据和缓存,然后再重新运行应用。另外,也可以尝试在设备上手动卸载应用,并确保应用已完全移除。 以下是一个简单的示例代码,用于通过 ADB 命令卸载应用:
    adb uninstall com.example.yourapp
    

    请注意将 com.example.yourapp 替换为你实际的应用程序包名。执行此命令后,应用将完全从设备中卸载,然后再重新安装和运行应用。希望这些解决方案可以帮助您解决问题。

    评论

报告相同问题?