Ответ 1
Я решил проблему - кажется, что если вы закрываете (странную) пустую подсказку DOS, которая открывается при запуске эмулятора, соединение с эмулятором теряется.
Оставляя окно DOS открытым, все работает как шарм.
Я установил JDK, Android SDK и Mono Android для Visual Studio 2010, я создал пустое решение, и я получил эмулятор с Android 2.3.3 - настолько хороший.
Когда я пытаюсь развернуть (F5) приложение к эмулятору, он подключается к эмулятору, и все идет нормально, пока не запустится "Установка платформы платформы". Затем он загружается в течение нескольких минут и, наконец, выдает исключение, которое выглядит следующим образом:
Я попробовал googlin 'it, но INSTALL_FAILED_MEDIA_UNAVAILABLE, похоже, не описывается нигде.
Я не знаю, является ли это важной деталью, но на моем ПК я переделал свои домашние папки (Documents, Favorites, Desktop и т.д.) в папки типа D:\Mikkel\Dokumenter. Поначалу это вызывало некоторые проблемы при запуске эмулятора, но после добавления переменной окружения ANDROID_SDK_HOME, указывающей на "D:\Mikkel.android", эмулятор запускался без проблем.
Просьба сообщить.
Я решил проблему - кажется, что если вы закрываете (странную) пустую подсказку DOS, которая открывается при запуске эмулятора, соединение с эмулятором теряется.
Оставляя окно DOS открытым, все работает как шарм.
Убедитесь, что у вас достаточно внутреннего и внешнего свободного места на вашем устройстве. Вы можете определить свободное пространство, доступное с помощью команды:
$ adb shell df
Filesystem Size Used Free Blksize
/dev 192M 32K 192M 4096
/mnt/asec 192M 0K 192M 4096
/mnt/obb 192M 0K 192M 4096
/system 145M 124M 20M 4096
/data 196M 167M 29M 4096
/cache 95M 32M 62M 4096
/mnt/sdcard 3G 177M 3G 32768
В вышеприведенном выводе /data
(который является местом установки по умолчанию) имеет 29 МБ, а /mnt/sdcard
(SD-карта и внешнее место установки) имеет 3 ГБ свободного места.
Для отладочных сборников вам нужно иметь ~ 40 МБ бесплатно (для пакета Runtime, пакета платформы и приложений). Релиз сборки значительно меньше, но сборка выпуска не может быть создана с помощью версии оценки.
Правдоподобно, что если ваш эмулятор не имеет SD-карты, тогда Android будет генерировать ошибку INSTALL_FAILED_MEDIA_UNAVAILABLE
. (Чтобы добавить SD-карту в эмулятор, запустите приложение android
, перейдите на Виртуальные устройства, выберите устройство, нажмите "Редактировать" и посмотрите раздел SD-карты.)
Беглый grepping Android предполагает, что DefaultContainerService.java является управляющим фактором, в частности DefaultContainerService.recommendAppInstallLocation(), и если вы находитесь вне внутреннего пространства и пакет указывает auto
(как это делает Mono для Android), и SD-карта недоступна (status.equals(Environment.MEDIA_MOUNTED)
is false
), возвращается RECOMMEND_MEDIA_UNAVAILABLE
который переводится в INSTALL_FAILED_MEDIA_UNAVAILABLE
. Это все еще кажется странным для меня (не будет RECOMMEND_FAILED_INSUFFICIENT_STORAGE
иметь больше смысла?), Но это, похоже, происходит именно так.
Возможные проблемы:
Решение:
Это может быть вызвано нехваткой места на устройстве. Таким образом, он ищет SD-карту для установки вместо. если этого не произойдет, он вызовет этот ответ.
У меня была эта проблема даже с 1 ГБ свободного места и .apk 1,5 Мб. То, что я сделал, это создать .apk и перенести его в папку data/app. Это сработало для меня. Проблема в том, что я думаю, что ваше устройство должно быть внедрено для доступа к этой папке.
В моем случае это помогло мне переключить режим подключения USB. Вы должны "просто загрузить" устройство usb вместо предоставления SD-карты в файловую систему ПК.
INSTALL_FAILED_MEDIA_UNAVAILABLE
Из-за low memory
. Удалите ненужные файлы и приложения.
Эта проблема появилась для меня, когда я установил приложение Facabook на свой телефон. поэтому я удалил его и проблема решена.
Это из-за нехватки места на телефоне. Проверьте упаковку сборки. В моем случае она собирала все виды активов, psd и т.д., а файл .apk был огромен и у телефона не было столько места