Я создал и запустил пару эмуляторов для Android, теперь я хотел бы установить на них приложение. Вот история, когда я пытаюсь это сделать пару раз:
$ adb -s emulator-5562 install xxx.apk
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: protocol fault (no status)
- waiting for device -
^C
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
emulator-5560 device
emulator-5562 device
$ adb -s emulator-5562 install xxx.apk
error: protocol fault (no status)
- waiting for device -
^C
$ killall adb
$ killall adb
adb: no process found
$ adb -s emulator-5562 install xxx.apk
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
3748 KB/s (766384 bytes in 0.199s)
pkg: /data/local/tmp/xxx.apk <- sometime it reaches upto here but it stays there for ever
^C
Не могли бы вы помочь мне, что еще я могу сделать, чтобы проверить проблему? спасибо
"adb install" возвращает ошибку: ошибка протокола (нет состояния):
Решение
Перейти к \platform-tools
с помощью терминала и выполнить команды ниже
set ADB_TRACE=1
adb start-server
Чтобы удалить эмулятор из списка устройств ADB:
Откройте "Android Virtual Device Manager" → Выберите эмулятор, который вы хотите удалить → нажмите кнопку "Удалить".
См. ниже Изображение
Для меня это оказалось устаревшей службой ADB (устаревшие платформы-инструменты).
Он все еще может быть устаревшим драйвером, но поскольку драйверы не обновляются чаще всего, убедитесь, что вы установили последнюю версию своих Android-инструментов SDK Platform через SDK Manager:
Я также читал, что проблема может возникнуть при установке Android Studio.
Затем вам необходимо отключить интеграцию ADB с помощью "Инструменты → Android" (снимите флажок).
После этого перезагрузите сервер adb с помощью adb kill-server
или просто перезагрузите компьютер.
Я столкнулся с этим, потому что подключено более одного устройства ADB.
Отключение всех, кроме устройства, с которым я работал, работало для меня.
\platform-tools>set ADB_TRACE=1
затем `\ platform-tools> adb start-server` commnads\platform-tools>set ADB_TRACE=1
Вы имели в виду, чтоset
- это еще одна специальная команда sdk? Я думаю, нет. во всяком случае, нет, это не помогло