在启动模拟器时,很容易遇到“Timed out after 300 seconds waiting for emulator to come online”的错误提示。这个错误提示意味着模拟器已经启动了,但是连接到模拟器的ADB服务器还没有准备好。可以通过以下方法来解决这个问题。
确认模拟器是否启动:使用“adb devices”命令来确认模拟器是否已经启动。如果模拟器是正常启动的,那么应该能看到模拟器的名称和设备ID。
增加启动等待时间:增加模拟器的启动等待时间,以便让ADB服务器能够充分准备好。可以通过以下代码来实现:
emulator -avd avd_name -partition-size 128 -no-window -skindir $ANDROID_HOME/platforms/android-23/skins -skin WVGA800 -gpu on -qemu -m 512 -enable-kvm &
adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done;'
这段代码中,“adb wait-for-device”命令可以在模拟器启动完成后自动继续执行后续操作。其中,“-avd”选项用于指定运行的模拟器名称,“-partition-size”选项用于指定磁盘空间大小,“-no-window”选项用于禁止显示模拟器的界面,“-gpu on”选项用于开启GPU加速,“-m”选项用于设置虚拟机的内存大小。
删除残留文件:如果模拟器启动失败,可以尝试删除模拟器中残留的文件。可以使用以下命令来删除残留文件:
rm -r $ANDROID_SDK_HOME/avd/