Что это значит: Неудача [INSTALL_FAILED_CONTAINER_ERROR]?
Я пытаюсь развернуть свое приложение, а иногда и получить эту ошибку:
Failure
[INSTALL_FAILED_CONTAINER_ERROR]
Я попробовал Google, но не нашел, что означает ошибка или что это
вызванный. Я развертываю через IDE (IntelliJ), файл копируется в
устройство к /data/local/tmp (Unrooted Huawei Ideos, работает 2.2),
но менеджер пакетов, похоже, не нравится. Перед установкой
apk, я уже удалил приложение с устройства заранее. Я также сделал
конечно, не было старого файла под /data/local/tmp на устройстве. Все еще
Я получаю эту ошибку сейчас.
Пакет должен быть подписан с помощью отладочного ключа, так как я развертываю через
IDE, выполнив "приложение".
$ pwd
/data/local/tmp
$ ls -l
-rw-rw-rw- shell shell 17257686 2011-04-21 20:31
com.company.shop
$ pm install -r com.company.shop
pkg: com.company.shop
Failure [INSTALL_FAILED_CONTAINER_ERROR]
Что это значит и как его решить?
Edit/Update:
Я могу избежать ошибки, если не разрешить установку приложения на SD-карте, установив
android:installLocation="internalOnly"
в манифесте. Это нормально для разработки, но для производства это не совсем то, что я хочу - так как мое приложение довольно велико с 17mb; поэтому я предпочитаю, чтобы это было на SDCard.
Как всегда можно установить его во внешнюю память без использования root (так как это единственный способ удалить /mnt/secure/asec/smdl 2tmp1.asec, который, похоже, тоже является одним из решений).
Ответы
Ответ 1
удалите этот файл с вашего устройства
/mnt/secure/asec/smdl2tmp1.asec
Изменить/Обновить по Mathias Conradt (OP):
Если у вас нет доступа root, вам нужно установить SD-карту и удалить ее с помощью компьютера:
/.android_secure/smdl2tmp1.asec
Ответ 2
Измените местоположение установки с
android:installLocation="preferExternal"
в
android:installLocation="auto"
в вашем проекте AndroidManifest.xml.
Ответ 3
Если вы используете эмулятор, отредактируйте его и добавьте больше памяти. У меня была проблема, подобная этой, и все, что я делал, это изменить мою AVD-память с 200 МБ до 1000 МБ, и проблема, похоже, исчезла... Удачи.
Ответ 4
Это означает, что была ранняя установка, которая была повреждена. Если вы установите на внешний, я бы предположил, что вы отформатируете SD-карту, попробуйте еще раз.
Ответ 5
Я неоднократно повторял эту ошибку. Я нашел самый простой способ избежать ошибки во всей ее полноте - просто форматировать SD-карту. Использование внутренних инструментов телефона или эмуляторов. Я обнаружил, что автоматически генерируемые SD-карты или даже создание собственного sdcard.iso не удается и вызывает эту ошибку, если она не сформирована внутренними инструментами Android.
Ответ 6
Для меня это было вызвано нехваткой места на моей SD-карте эмулятора. Я работал с довольно крупным проектом, и я думал, что 40 мб достаточно, но я изменил его на 200 мб, и проблема исчезла.
Ответ 7
Я получил это сообщение об ошибке с Android 5.0.1.
Я изменил предпочтительное место установки на "Съемную SD-карту" с помощью Settings- > Apps- > Preferred Install Location.
Я изменил параметр на "Разрешить системе", и сообщение об ошибке исчезло.
Ответ 8
Для меня это был язык устройства. Я проверил язык на арабском языке, чтобы проверить свое приложение. Тогда я получил эту ошибку. Отказ от языка сделал трюк.
Ответ 9
Была та же ошибка с различными .apk
на Cyanogenmod 12.1 (Android 5.1.1) в моей заметке 8 со вторым разделом для Link2SD. Я смог установить приложения, заставив установку через adb с правами root:
adb root
adb install -f myapp.apk
Ответ 10
У меня была аналогичная проблема с эмулятором. Он исчез, когда я изменил тип процессора эмулятора от ARM до Intel.
Ответ 11
в некоторых ситуациях удаление libs/android-support-v4.jar
генерирует эту ошибку.
Ответ 12
Для меня деинсталляция нескольких приложений решила проблему. Когда в локальном хранилище было достаточно памяти, развертывание APK завершилось успешно. Но обычно я просто перезапускаю гаджет, и установка завершается.
Кроме того, некоторые программы, такие как Clean Master, могут помочь. Просто протрите неиспользуемые процессы и закройте программы с помощью Clean Master и получите достаточно памяти.
Ответ 13
android: installLocation = "auto" работает..!!
Если нет,
После проверки размера внешнего хранилища. [Доступная память > размер приложения]
Если места для хранения недостаточно, также вызывается эта ошибка.
Ответ 14
Перезагрузка моего устройства исправила проблему для меня.