Когда я хочу протестировать приложение для Android, я создаю новый AVD, запускаю его в эмуляторе, жду завершения загрузки эмулятора, а затем использую ADB для установки приложения, а когда я закончу, удаляю AVD. Существуют ли какие-либо инструменты, которые автоматизируют все эти шаги? Я попытался написать свой собственный, но не смог определить, полностью ли загрузился эмулятор, поскольку на веб-сайте Android SDK указано, что не следует использовать «adb wait-for-device install file.apk».
Тестирование Android-приложений на чистом эмуляторе
Ответы (1)
Вы правы, что не используете 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 в то состояние, в котором оно было при его создании. Вот документация по эмулятору.
Надеюсь, это поможет упростить ваш сценарий.
adb shell pm path android
, и это сработало отлично. Спасибо!
- person None; 16.05.2011