Что это значит: Неудача [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

Перезагрузка моего устройства исправила проблему для меня.