【问题标题】:Why is "adb install (my APK)" triggering "can't find service: package"?为什么“adb install (my APK)”会触发“找不到服务:包”?
【发布时间】:2017-08-09 15:55:20
【问题描述】:

我正在启动一个 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

模拟器即将启动,但我没有看到上面的图标,所以我想知道上面列出的错误是否是“showstoppers”?然后当我尝试adb install bin/my.apk 时,我收到错误Can't find service: package。所以看起来 adb 没有与 AVD 正确通信。但是,adb devices 确实显示了上面列出的 emulator-5558。任何建议都会很有帮助。

【问题讨论】:

  • 你能解决这个问题吗?
  • 不 - 我已经放弃了让模拟器运行,现在正在开发一个实际设备并使用 adb 查看日志。可以选择使用模拟器会很好,所以如果有人对为什么(1)模拟设备会在屏幕上显示没有图标以及(2)为什么我会得到“找不到”有任何想法尝试“adb install”时服务”味精,我欢迎他们。 TIA。
  • 我在删除并重新下载图像后创建了一个具有类似配置的新模拟器,这次它工作了。我的猜测是旧的模拟器配置/图像中丢失、配置错误或损坏。
  • 谢谢阿达什。我会试试的。
  • 在我的情况下,错误似乎是由于 ARM 模拟器太慢,以至于在我执行 adb install xxx.apk 命令之前没有时间加载所有服务。当我第二次尝试该命令时,我收到另一个错误:adb: failed to install xxx.apk: 没有任何信息,但我注意到该应用程序已正确安装。你可以通过输入命令adb shell service list来查看是否加载了“包”服务。

标签: android android-emulator adb avd


【解决方案1】:

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

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

【讨论】:

  • 感谢您提供的 blufenix。我再看一张图。
  • 在之前保存状态的模拟器中使用-wipe-data-no-snapshot 标志时也会发生这种情况
【解决方案2】:

别忘了开启usb调试模式和开发者选项中同意数据文件传输,对我来说解决了这个问题,希望对你有帮助

【讨论】:

    【解决方案3】:

    在调试时关闭模拟器后也发生在我身上。是的,不是最好的主意...

    对我来说解决方案是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多