Не удалось установить из-за таймаута в эмуляторе

При попытке установить .apk из Eclipse, будь то эмулятор orroid или физическое устройство (через USB), я получаю сообщение об ошибке «Ошибка установки * .apk на устройстве * *: таймаут». .apk не найден на эмуляторе или физическом устройстве (Samsung Galaxy S2, корневой).

Если я избегу eclipse и просто использую командную строку, я также не могу установить .apk.

Почему новый пост?

Есть несколько других сообщений stackoverflow, которые ссылаются на ошибку «Не удалось установить …». Я создал новую запись по нескольким причинам:

  • Большинство других сообщений не указаны.
  • Значительное релевантное сообщение, ошибка Android: Не удалось установить * .apk на устройстве *: таймаут для исходного плаката применяется только к соединениям физических устройств. Так что это другой случай, хотя и с похожими симптомами.
  • Все кандидаты на эту должность и несколько других я пробовал. Они перечислены ниже в разделе «Решения кандидата, которые я пробовал».

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

Моя окружающая среда

ОСНОВНАЯ ОС: Windows XP SP3

JAVA: Java SDK версия 1.6.0_32

ОКНА ОКРУЖАЮЩЕЙ СРЕДЫ ПЕРЕМЕННЫЕ:

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_33;

PATH=...;%JAVA_HOME%\bin\;C:\android\android-sdk\tools;C:\android\android-sdk\platform-tools\;...;C:\Program Files\apache-ant-1.8.2\bin;...;

IDE: Eclipse (установлен классический) Indigo. Версия 3.7.2

ANDROID SDK

  • Android SDK Tools Редакция: 20. (В основном проверено с ревизией 19).
  • Платформа для Android SDK: 11.
  • Плагин ADT («Android Development Toolkit», Eclipse Plugin) версия: 20.0.0.v201206010423-369331 (также с предыдущей версией 18.0.0.v201203301501-306762).
  • Платформа, ориентированная на ваш проект и версию платформы, запущенной в эмуляторе. Пробовал каждый:
    • Android 4.0.3 (API 15)
    • Android 2.2 (API 8)
    • Andorid 2.1 (API 7)

MOBILE: Samsung Galaxy S2 работает под управлением Android Ice Cream Sandwhich (ICS) 4.0.3

ANT: 1.8.2

Шаги, с которыми я сталкиваюсь, приводят к ошибкам.

Используя Eclipse, чтобы попытаться установить .apk в эмулятор:

  • Откройте eclipse (который загружает мое рабочее пространство с помощью одного приложения для Android).
  • Запустите мое приложение Android с использованием ранее настроенной конфигурации запуска.
  • Вышел «Выбор устройства Android» (я установил мою конфигурацию запуска для запуска этого вручную).
  • В устройстве Android Device Chooser я выбираю свой avd (таргетинг на Android 2.2) и нажмите «ОК».
  • Эмулятор открывается с помощью «5554: jlbavd2_2». Мое имя AVD – «jlbavd2_2».
  • Я оставляю эмулятор открытым. В Eclipse я открываю вид DDMS. В области «Устройства» я нажимаю на белый треугольник и выбираю «Сбросить adb».

В консоли Eclipse, Android, я получаю

 [2012-06-19 19:20:52 - MyApp] Starting full Post Compiler. [2012-06-19 19:20:52 - MyApp] ------------------------------ [2012-06-19 19:20:52 - MyApp] Android Launch! [2012-06-19 19:20:52 - MyApp] adb is running normally. [2012-06-19 19:20:52 - MyApp] Performing au.com.myorg.myapp.MyAppActivity activity launch [2012-06-19 19:20:52 - MyApp] Refreshing resource folders. [2012-06-19 19:20:52 - MyApp] Starting incremental Pre Compiler: Checking resource changes. [2012-06-19 19:20:52 - MyApp] Nothing to pre compile! [2012-06-19 19:20:53 - MyApp] Starting incremental Package build: Checking resource changes. [2012-06-19 19:20:53 - MyApp] Skipping over Post Compiler. [2012-06-19 19:20:59 - MyApp] Launching a new emulator with Virtual Device 'jlbavd' [2012-06-19 19:22:29 - MyApp] New emulator found: emulator-5554 [2012-06-19 19:22:29 - MyApp] Waiting for HOME ('android.process.acore') to be launched... [2012-06-19 19:22:44 - MyApp] HOME is up on device 'emulator-5554' [2012-06-19 19:22:44 - MyApp] Uploading MyApp.apk onto device 'emulator-5554' [2012-06-19 19:22:49 - MyApp] Failed to install MyApp.apk on device 'emulator-5554': timeout [2012-06-19 19:22:49 - MyApp] Launch canceled! 

В консоли Eclipse, выход DDMS, я получаю:

 ... [2012-06-19 19:22:44 - ddm-hello] handling HELO [2012-06-19 19:22:44 - ddm-hello] HELO: v=1, pid=150, vm='Dalvik v1.2.0', app='android.process.acore' [2012-06-19 19:22:44 - MyApp.apk] Uploading MyApp.apk onto device 'emulator-5554' [2012-06-19 19:22:44 - Device] Uploading file onto device 'emulator-5554' [2012-06-19 19:22:49 - ddms] write: timeout [2012-06-19 19:22:49 - Device] Error during Sync: timeout. [2012-06-19 19:22:49 - ddms] Removing req 0x4000002d from set 

Иногда (возможно, я делаю несколько разные шаги), я получаю:

 [2012-06-16 14:20:02 - MyFirstApp02] Starting full Post Compiler. [2012-06-16 14:20:02 - MyFirstApp02] ------------------------------ [2012-06-16 14:20:02 - MyFirstApp02] Android Launch! [2012-06-16 14:20:02 - MyFirstApp02] adb is running normally. [2012-06-16 14:20:02 - MyFirstApp02] Performing au.com.myorg.MyFirstApp02Activity activity launch [2012-06-16 14:20:08 - MyFirstApp02] Launching a new emulator with Virtual Device 'jlbavd2_2' [2012-06-16 14:20:17 - Emulator] bind: Unknown error [2012-06-16 14:20:17 - MyFirstApp02] New emulator found: emulator-5556 [2012-06-16 14:20:17 - MyFirstApp02] Waiting for HOME ('android.process.acore') to be launched... [2012-06-16 14:20:38 - MyFirstApp02] HOME is up on device 'emulator-5556' [2012-06-16 14:20:38 - MyFirstApp02] Uploading MyFirstApp02.apk onto device 'emulator-5556' [2012-06-16 14:20:50 - MyFirstApp02] Failed to install MyFirstApp02.apk on device 'emulator-5556': timeout [2012-06-16 14:20:50 - MyFirstApp02] Launch canceled! 

Обратите внимание на «bind: Unknown error». Иногда эта ошибка случается, иногда это не так.

Если я отключу свой кабель ethernet на моем аппаратном маршрутизаторе, я получаю следующее:

 [2012-06-19 23:27:29 - MyApp] Android Launch! [2012-06-19 23:27:29 - MyApp] adb is running normally. [2012-06-19 23:27:29 - MyApp] Performing au.com.softmake.myapp.MyAppActivity activity launch [2012-06-19 23:27:29 - MyApp] Refreshing resource folders. [2012-06-19 23:27:29 - MyApp] Starting incremental Pre Compiler: Checking resource changes. [2012-06-19 23:27:29 - MyApp] Nothing to pre compile! [2012-06-19 23:27:33 - MyApp] Launching a new emulator with Virtual Device 'jlbavd' [2012-06-19 23:27:40 - Emulator] Warning: No DNS servers found [2012-06-19 23:27:44 - Emulator] emulator: emulator window was out of view and was recentered [2012-06-19 23:27:44 - Emulator] [2012-06-19 23:28:29 - MyApp] New emulator found: emulator-5554 [2012-06-19 23:28:29 - MyApp] Waiting for HOME ('android.process.acore') to be launched... [2012-06-19 23:28:36 - MyApp] HOME is up on device 'emulator-5554' [2012-06-19 23:28:36 - MyApp] Uploading MyApp.apk onto device 'emulator-5554' [2012-06-19 23:28:42 - MyApp] Failed to install MyApp.apk on device 'emulator-5554': timeout [2012-06-19 23:28:42 - MyApp] Launch canceled! 

Обратите внимание на «Предупреждение: DNS-серверы не найдены»

Используя Eclipse, чтобы попытаться установить .apk на физическое устройство (встроенный Samsung Galaxy S2. 4.0.3 с включенной отладкой USB включен), и после прохождения аналогичных шагов, как описано выше, я попал в консоль Eclipse, выход Android:

 [2012-06-15 22:40:34 - MyFirstApp] Starting full Post Compiler. [2012-06-15 22:40:34 - MyFirstApp] ------------------------------ [2012-06-15 22:40:34 - MyFirstApp] Android Launch! [2012-06-15 22:40:34 - MyFirstApp] adb is running normally. [2012-06-15 22:40:34 - MyFirstApp] Performing au.com.myorg.myfirstapp.MyFirstAppActivity activity launch [2012-06-15 22:40:39 - MyFirstApp] Uploading MyFirstApp.apk onto device '0019adf659f24e' [2012-06-15 22:40:51 - MyFirstApp] Failed to install MyFirstApp.apk on device '0019adf659f24e': timeout [2012-06-15 22:40:51 - MyFirstApp] Launch canceled! 

Такая же ошибка, как при попытке установить на эмулятор.

При использовании только командной строки и тем самым избегая Eclipse, я выполняю следующие шаги:

  • Откройте командную строку Windows в моем рабочем каталоге (я использую C: \ Data \ Sda \ Code \ Mobile \ Android \ Examples> ").

    Цели Android.

  • Я получаю свой целевой идентификатор (я выбираю Android 2.2).

    Android create project –target 3 –name MyAppCmd ​​–path ./MyAppCmd ​​- активность MyAppCmdActivity –package au.com.myorg.myappcmd

  • Я получаю серию здоровых результатов «Созданный каталог проектов …», «Добавленный файл …»

  • В Windows дважды нажмите «AVD Manager.exe».
  • Я запускаю свой avd (который нацелен на Android 2.2)
  • Вернуться к моему командному окну

    Cd MyAppCmd

    Ant debug

  • После списка вывода я получаю «BUILD SUCCESSFUL …» (по предыдущему случаю мне пришлось отредактировать C: \ android \ android-sdk \ platform-tools \ dx.bat, чтобы изменить «set defaultXmx = -Xmx1024M» на " Установите defaultMx = -Xmx512M ", чтобы сделать сборку успешной). Я заметил, что bin / MyAppCmd-debug.apk существует.

  • Я пытаюсь установить с

    Adb install bin / MyAppCmd-debug.apk

  • Вывод:

     * daemon not running. starting it now on port 5037 * * daemon started successfully * error: device offline 

    Устройства adb

     List of devices attached emulator-5554 device 

    Adb install bin / MyAppCmd-debug.apk

  • В командном окне больше нет выхода. Нет сообщения об ошибке. Просто мигающий курсор, сообщение об ошибке или успешное сообщение и не возвращаются в командную строку «>».

  • Я закрыл командную строку и открыл новую.

  • Я получаю тот же результат (мигающий курсор и т. Д.), Если я попробую команду push (temp.txt был ранее создан в моей системе Windows) …

    Adb push temp.txt /sdcard/temp.txt

Решения для кандидатов, которые я пробовал

Связанное с Eclipse:

  • Следуя шагам от Eclipse, вы не разговариваете с эмулятором
  • Увеличено время подключения к ADB. Eclipse> Окно> Настройки> Android> DDMS> "Время соединения ADB (мс):" = 10000 (я также пробовал 60000).
  • Запуск приложения дважды (и выбор текущего запуска эмулятора или мобильного телефона).
  • Убрал мой проект: Eclipse> Project> Clean …
  • Перезагружено Eclipse.
  • Снижение Eclipse от Indigo (2.7.x) до Гелиоса (2.6.x).

Связанные Android:

  • Сбросьте adb несколькими способами: команда «Сбросить ADB» с точки зрения Eclipse DDMS (из треугольника окна «Устройства»); Командной строки с «adb kill-server» и «adb start-server»; И с помощью диспетчера задач Windows, чтобы убить adb.exe.
  • Переустановка моих USB-драйверов Samsung OEM (с помощью KIES> Инструменты> Устранение ошибки подключения).
  • Установка моего Android SDK в каталог без пробелов в любом месте пути. А именно C: \ Android \ android-sdk. Это повлекло за собой переустановку SDK, ранее находившегося в папке C: \ Program \ Android \ android-sdk
  • Мой Android-проект установлен в каталог без пробелов в любом месте пути.
  • Удаление и повторное создание avd (как из Android AVD Manager, так и с помощью проводника Windows).
  • Использование разных AVD, предназначенных для разных платформ (Android 2.2 и Android 4.0.3).
  • Сразу после открытия эмулятора, но до истечения времени ожидания: разблокировка телефона V до тех пор, пока он не погаснет с заблокированным телефоном (в эмуляторе).
  • Подтвержденный у меня в AndroidManifest.xml:

      <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> 

Окружающая среда (ПК и телефон):

  • Перезагрузите мой телефон.
  • Перезагрузили мой ПК для разработки.
  • Отключение моего программного и аппаратного брандмауэра.
  • Поворот защиты MS Security Essentials в режиме реального времени.
  • Отключено список моих хостов.
  • Переустановлена ​​Java.
  • Загрузка в безопасный режим Windows и запуск Eclipse.
  • Вручную убивает большинство других приложений TCP / IP-процессов (например, GoogleDesk.exe, Apache Server PunkBuster и т. Д.), Видя, что доступно в Sysinternals TCPView .
  • Отсоединен кабель Ethernet от моего ПК.

Дополнительная информация

Некоторые команды adb работают.

Например, следующее заставляет экран эмулятора танцевать (как и ожидалось).

Обезьяна обезьяны adb -v 100

Я могу перечислить устройства и правильно восстановить их состояние с помощью

Adb.

Таким образом, существует частичная связь между клиентом adb и демоном adb (через сервер adb).

Я относительно новичок в разработке Android. Тем не менее, я успешно установил .apks для эмулятора и моего устройства около 6 месяцев назад (с ПК WinXP, с которого я сейчас пытаюсь сделать работу). С тех пор я проигнорировал Android. Когда я вернулся к нему недавно, у меня возникла проблема с созданием моих .apks, которое было исправлено, удалив мою debug.key и позволяя eclipse генерировать новую.

В течение 6 месяцев моя машина разработки изменилась разными способами. Установка новых серверов и приложений, изменение настроек брандмауэра и т. Д. Таким образом, я могу игнорировать некоторые изменения.

У меня также есть ноутбук Win7, из которого я успешно установил .apks на эмулятор и физическое устройство, подключенное через USB. То есть, у меня есть копия Android SDK, Eclipse, JAVA и т. Д., Установленных на машине Win7. Поэтому я знаю, что у меня есть общий дескриптор правильной процедуры для правильной настройки.

Я могу установить .apk вручную, дважды щелкнув файл через ES File Explorer с моего телефона (который подключается к моей машине разработки по беспроводной сети).

Последние мысли

Кажется, что есть некоторые проблемы с клиентом adb, adb-сервером или демоном adb, полностью разговаривающим друг с другом.

У меня три гипотезы:

  • Это моя вина. Что-то вроде конфликта TCP / IP, который нарушает некоторые из соединений между клиентом adb, adb-сервером или демоном adb. Это связано с некоторыми причудливыми настройками на моем ПК (как и любой разработчик, я все время меняю различные настройки в своей системе). Тем не менее, я попытался отключить безопасность и другие потенциально конфликтующие процессы TCP / IP (насколько я могу судить).
  • Некоторая простая проблема, которую я продолжаю игнорировать.
  • Это ошибка Google / Android. То есть в AdBob для Android есть ошибка, требующая обновления для инструментов платформы Android SDK. Я думаю, что это менее вероятно, так как я ожидаю, что он всплыл к настоящему времени.

Обновления для публикации

2012-06-22 18:55 (UTC):

Завершите повторную установку (снова) Java, Eclipse и Android SDK с некоторыми изменениями в установке (например, Установленная Java для root, Android SDK в «Program Files» по умолчанию) и отключением всего программного обеспечения безопасности во время установки).

Я отмечаю сообщение об ошибке «Ошибка остановки сервера ADB (код -1)». В журнале Android SDK Manager во время и установки различных частей платформы / инструментов (через Менеджер).

2012-06-30 06:15 (UTC):

Изменена спецификация «Моя среда», чтобы отразить последние тесты.

Solutions Collecting From Web of "Не удалось установить из-за таймаута в эмуляторе"

Если его таймаут тогда может быть соединением ADB с eclipse, потребуется больше лимита времени ожидания. Итак, попробуйте следующее:

Prefrences>android>DDMS and you will see ADB connection timeout extend it to 20000

Когда это происходит с нами на физических устройствах, мы обычно пытаемся исправить это, отключив, переключив «режим отладки Android» на устройство и снова подключившись.

Убедитесь, что вы работаете над ADMIN ACCOUNT. Эта проблема также разочаровала меня, но когда я перешел на учетную запись администратора (в Windows Vista), adb, похоже, правильно установил apk на устройстве.

У меня была такая же проблема; Скопировав * .apk в память сотового телефона и установив его непосредственно на устройство (через Myfiles и выбрав * .apk), он работал нормально. Я подозреваю, что есть проблема с USB-соединением (слишком много ошибок, Eclipse слишком медленный из-за других процессов с использованием USB и т. Д.).

Мой простой подход – просто перезапустить эмулятор (а не затмение). Он просто работает без меня, чтобы отправлять какие-либо команды adb. Редко бывает с физическим устройством.

Я решил проблему, много месяцев спустя, путем перехода на совершенно новую среду. В частности, новая машина со свежей установкой Windows 8. Я также избегал установки пакета Comodo (я не знаю, что это вызывало проблему).

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

Попробуйте изменить тайм-аут соединения ADB. Я думаю, что по умолчанию это 5000 мс, и я поменял мой на 10000 мс, чтобы избавиться от этой проблемы.

Если вы находитесь в Eclipse, вы можете сделать это, пройдя через

Окно-> Настройки -> Android -> DDMS -> Время ожидания соединения ADB (мс)

Попробуйте эти…

  • Завершите свое затмение.
  • Перейти к cmd и введите: (Надеюсь, вы указали путь к папке инструментов Android в своем пути)

adb kill-server
adb start-server

Выход будет:

 daemon not running. starting it now on port 5037 daemon started successfully 
  • Начните с Eclipse.

  • Запустите свой эмулятор, если вы находитесь на физическом устройстве, убедитесь, что ваш кабель не свободен и правильно подключен

У меня такое же поведение, как указано в вашем вопросе, и пробовал все перечисленные вами решения. Попробуйте это: измените порт USB. Для меня у меня есть в общей сложности 4 порта USB (два перед моим рабочим столом и два других сзади). Два на фронте дают мне [timeout install] все, что я делаю. Первый в спине, который я пробовал, сработал. Интересно, что это может быть проблема, связанная с версией порта USB или встроенным USB-интерфейсом MotherBoard.

Вы можете попробовать следующее:

  1. Open the "Android Virtual device Manager" 2. Select from one the listed devices there and run it. 3. Right your Android App -> Run As -> Android Application 

Это сработало для меня. Я попробовал это на эмуляторе в затмении. Это займет некоторое время, прежде чем приложение будет запущено. Для меня это заняло 33 секунды. Подождите, пока сообщение в консоли не сообщит «Успех!».

Просто отключает и подключает телефон (физический). Это происходит со мной (слишком много раз), когда телефон подключен слишком долго, и ничего не делается.

Это то, что я делаю на своей 64-разрядной системе Win7, когда это происходит:

  1. Закрыть Eclipse
  2. Убейте adb.exe и все копии emulator-arm.exe из диспетчера задач
  3. Открыть Eclipse
  4. Перейдите в режим просмотра DDMS и убедитесь, что вы можете видеть Устройства
  5. Открыть окно / ADV Manager
  6. Выберите необходимый эмулятор и нажмите «Пуск».
  7. Просмотрите панель «Устройства» в DDMS, чтобы узнать, отображается ли эмулятор. Если он не отобразится до того, как закончится индикатор выполнения окна запуска, эмулятор не будет загружать это время, чтобы закрыть эмулятор.
  8. Затем повторите с 6.

Для меня эмулятор никогда не запускается в первый раз, но 9 раз из 10 начнется успешно во второй попытке.

Хотелось бы, чтобы они это исправили! отметка

Если вы не находитесь в учетной записи администратора, убедитесь, что родительский контроль отключен. Он работал для меня.

Сначала вам нужно обновить все драйверы вашей системы, а затем установить студию Android с базовым способом, затем будет решена ошибка. Попробуйте сначала, потому что я также сталкиваюсь с этой проблемой несколько раз ….