为什么"adb install(我的APK)"触发"无法找到服务:包"?

use*_*547 21 android adb android-virtual-device android-emulator

我正在启动一个Android虚拟设备,但我得到:

Starting emulator for AVD 'avd.1'
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
emulator: Listening for console connections on port: 5558
emulator: Serial number of this emulator (for ADB): emulator-5558
Run Code Online (Sandbox Code Playgroud)

模拟器即将出现,但我看不到任何图标,所以我想知道上面列出的错误是否是"showstoppers"?然后,当我尝试adb install bin/my.apk我得到错误Can't find service: package.所以似乎adb没有正确地与AVD通信.但是,adb devices确实显示上面列出的模拟器-5558.任何建议都会非常有用.

小智 7

我在调试时关闭模拟器后也发生过这种情况。是的,这不是最好的主意......

我的解决方案是:

  1. 单击工具 > AVD 管理器。
  2. 从您的(虚拟)设备单击新窗口右侧底部的箭头。
  3. 单击“立即冷启动”。

截屏

  • 冷启动有效,我希望 Android Studio 能够给出更有意义的错误。 (3认同)

BLu*_*NiX 5

您在提出问题时基本上已经回答了您自己的问题。问题的根源在于模拟器设置不正确(由系统 UI 未加载证明)。当Android无法正常启动时,很可能无法启动某些系统服务(在本例中为package服务)。

解决方案是重新创建模拟器,可能使用不同的系统映像(以防您一直使用的映像已损坏)。如果您使用的是官方镜像,请尝试切换 API 级别,或从启用 GMS 的模拟器镜像切换到非 GMS 镜像(反之亦然)。