Вы правы, что не используете 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 к тому, что было, когда вы его создали. Вот документация эмулятора .
Надеюсь, это поможет упростить ваш сценарий.