Android: проблемы отладки с помощью эмулятора из eclipse - PullRequest
3 голосов
/ 19 января 2011

Это сводит меня с ума. Как и эти люди, slow-android-emulator , я считаю, что запуск эмулятора из Eclipse является медленным и проблематичным. Как и предполагалось, я попытался запустить эмулятор отдельно. Но тогда я не получу свои последние изменения. Я не очень хорошо знаю Eclipse, но мне хотелось бы что-то вроде «build» и затем каким-то образом загрузить последнее изображение в эмулятор.

Кроме того, я пытался держать эмулятор открытым и постоянно использовать run-> debug, но через 2 или 3 раза я получаю ошибки, подобные следующим:

Failed to install HelloAndroid.apk on device 'emulator-5554': timeout
Launch canceled!


emulator: ERROR: the user data image is used by another emulator. aborting


Waiting for HOME ('android.process.acore') to be launched...
emulator-5554 disconnected! Cancelling 'com.example.helloandroid.HelloAndroid activity launch'!

java.lang.NullPointerException
at com.android.ddmlib.Client.sendAndConsume(Client.java:571)
at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
at com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)
at com.android.ddmlib.Client.getJdwpPacket(Client.java:670)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:317)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)

Я пытался убить и перезапустить сервер ADB, но безрезультатно.

Еще раз, вкратце, мне нужна просто «система», в которой я могу эффективно вносить изменения, загружать их в эмулятор и тестировать.

Ответы [ 2 ]

1 голос
/ 19 января 2011

Эмулятор, как правило, работает медленно, но после его запуска мне обычно не приходилось перезагружаться.

Если вы чувствуете, что запуск эмулятора извне затмения происходит быстрее, вы можете запустить эмулятор вне затмения, а в приложении для Android «Выполнить -> Конфигурация» вы можете выбрать «предпочитаемый avd» и снять флажок с автоматического режима цели.(Также он говорит мне, что вашему затмению, вероятно, не хватает памяти. Вам нужно изменить vmargs, если вы выделили очень мало памяти. Об этом позже).

Также, когда вы хотите снова выполнить отладку после выполнения некоторыхПри изменении кода вы закрываете сеанс отладки (красная кнопка в окне отладки) и начинаете новый.Эмулятор не справляется с горячей заменой.

(Примечание. Попробуйте использовать Jconsole или другой профилировщик и вставьте использование памяти или хотя бы проверьте использование памяти в диспетчере задач.)

0 голосов
/ 04 апреля 2013

попробуйте отменить текущий avd (эмулятор) и снова запустить этот avd (эмулятор).

...