【问题标题】:Android emulator hanging on startup?Android模拟器在启动时挂起?
【发布时间】:2010-06-23 16:53:00
【问题描述】:

我一直在修改/编辑 Android 平台的部分内容,但在尝试测试我的编辑时遇到了问题。在对平台源进行更改后,我能够成功编译源 - 从而创建 system.img、ramdisk.img 和 userdata.img。

当我在模拟器中进行测试时,模拟器只是挂在“ANDROID_”屏幕上,下划线闪烁,但似乎从未加载。有什么建议吗?

我用来运行模拟器的命令如下:

./emulator -system $HOME/android/platform/out/target/product/generic/system.img -ramdisk $HOME/android/platform/out/target/product/generic/ramdisk.img -data $HOME/android/platform/out/target/product/generic/userdata.img

谢谢,
克里斯

【问题讨论】:

    标签: android testing android-emulator


    【解决方案1】:

    我遇到了这个问题,并通过删除模拟器并创建一个新模拟器来解决它。 在日食中:

    1. 菜单窗口 -> Android SVK 和 AVD 管理器
    2. 选择虚拟设备(应该已经选择)
    3. 选择遇到问题的模拟器
    4. 编辑以查看设置并记住它们。
    5. 删除模拟器。
    6. 创建一个与旧的相同的新的。
    7. 使用开始按钮从此处启动模拟器。

    在我这样做后大约 30 秒后它开始了。

    对我来说,模拟器通常会在大约 2-3 分钟后启动。然后它神秘地停止了工作。在我放弃之前,我看了 30 分钟的开机动画。重新启动我的笔记本电脑并没有帮助,这让我认为这是模拟器设置的问题,我偶然发现了这个解决方案。

    • 注意 #1:这样做会擦除您的用户数据。
    • 注意 #2:如其他地方所述,最好在创建或编辑模拟器时为快照选中“已启用”,这样下次启动速度会更快。
    • 注意#3:我的新模拟器出现了中文。这有点奇怪:)

    【讨论】:

    • 谢谢你,简单的修复,但不是那么明显......让我省了很多头痛!
    【解决方案2】:

    第一次启动可能需要一段时间,尤其是在速度较慢的机器上,否则请尝试运行 adb logcat 命令查看日志输出。这将帮助您确定问题可能是什么。

    此外,如果您想跳过向模拟器提供所有选项,即 -system 和其他选项,您可以使用构建文件夹中提供的脚本。从开源项目根文件夹运行这些命令:

    source build/envsetup.sh
    setpaths
    

    第一个将运行适用于 Android 的 envsetup 脚本,该脚本提供了许多有用的命令。第二个设置了 Android 平台开发所需的所有路径。其中包括 ANDROID_PRODUCT_OUT 变量,它通知模拟器在哪里寻找构建图像。它设置为您在上面指定的默认文件夹。运行 setpaths 后,您可以通过在命令行中键入 emulator 来启动模拟器。

    【讨论】:

    • 感谢您的提示。我尝试运行 adb logcat 命令,它确实向我展示了更多信息。模拟器似乎陷入了某种无限引导循环。循环从 AndroidRuntime START
    • 嗯,可能是关键服务之一无法启动,因此 init 将尝试重新启动整个 Android 运行时。根据您运行的机器,我们在模拟器中遇到了一些音频问题,在这种情况下,-noaudio 选项可能会有所帮助。此外,您是否尝试过构建并“按原样”运行项目而不进行更改。在尝试平台修改之前知道默认系统运行总是好的。
    • 感谢 BMB,原来我的代码中某处发生了错误。随着对我的东西的进一步调整,Android 成功启动。
    【解决方案3】:

    尝试在终端中使用adb logcat 以查看模拟器发生了什么。当我这样做时,我一直注意到

    I/ServiceManager(  918): service 'media.audio_flinger' died
    I/ServiceManager(  918): service 'media.player' died
    I/ServiceManager(  918): service 'media.camera' died
    I/ServiceManager(  918): service 'media.audio_policy' died
    

    每 10 秒左右重复一次。我尝试在 AVD 中启用我的相机,模拟器开始工作。

    要启用摄像头,在终端输入android avd 并设置前置和后置摄像头选项。

    【讨论】:

    • 如何使用终端设置前后摄像头选项?有什么命令吗?
    【解决方案4】:

    我遇到了类似的问题。模拟器没有响应,Android Studio 无法部署和运行应用程序。我的解决方案如下: 1.打开AVD管理器 2.在虚拟设备的右侧菜单发出命令“停止”和“擦除数据” 3.然后,对虚拟设备进行冷启动 瞧,它又复活了。

    【讨论】:

      【解决方案5】:

      我通常必须重新启动它才能运行。今天无论如何它都不会重新启动。执行 ./adb logcat 始终显示“等待设备”。所以我使用 Eclipse Android SDK 和 AVD Manager / Start...(选项)重新启动它,取消选中“从快照启动”选项,经过长时间的加载,模拟器可以工作了。

      【讨论】:

        【解决方案6】:

        我在弱机(RAM:只有 1 GB)上启动模拟器的技巧是在 WinXP 完成启动后首先启动它。此外,使用分辨率较小的模拟器实例(用于模拟的显示像素数量较少,例如只有 240x400)也有帮助。

        【讨论】:

          猜你喜欢
          • 2017-12-17
          • 2011-07-23
          • 2011-05-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-19
          • 1970-01-01
          相关资源
          最近更新 更多