Тестирование приложений Android на чистом эмуляторе - PullRequest
5 голосов
/ 15 мая 2011

Когда я хочу протестировать приложение для Android, я создаю новый AVD, запускаю его в эмуляторе, жду, пока эмулятор завершит загрузку, и затем использую ADB для установки приложения, а когда я закончу, удаляю AVD,Есть ли инструменты, которые автоматизируют все эти шаги?Я попытался написать свой собственный, но не смог найти способ определить, полностью ли загружен эмулятор, так как на сайте Android SDK написано, что он не должен использовать "adb wait-for-device install file.apk".

1 Ответ

4 голосов
/ 15 мая 2011

Вы правы, что не используете wait-for-device. Он не ждет, когда будет доступен менеджер пакетов, а это то, что вам нужно. Я не уверен, как eclipse это делает, но вы можете опрашивать эмулятор, пока менеджер пакетов не станет доступен, используя команду adb shell pm path android. Команда должна вернуть «пакет: что-то». Проверьте этот скрипт на python, который использует технику: www.netmite.com/android/mydroid/1.6/.../adb_interface.py. Она довольно большая, но если вы ищете команду выше, вы найдете соответствующий фрагмент скрипта.

Почему вы хотите удалять AVD каждый раз?

Если вы удаляете его каждый раз, потому что команда установки выдает ошибку из-за приложения, уже существующего на AVD, вы можете сделать это: adb install -r file.apk. Часть -r используется для переустановки приложения. Вот полные инструкции по использованию для adb.

Вы удаляете его, чтобы удалить тестируемое приложение и вернуться к «чистому» эмулятору? Если это так, нет необходимости каждый раз удалять AVD. Вы можете указать опцию -wipe-data при запуске эмулятора. Это эффективно сбрасывает AVD к тому, что было, когда вы его создали. Вот документация эмулятора .

Надеюсь, это поможет упростить ваш сценарий.

...