Bu ne anlama geliyor: Başarısızlık [INSTALL_FAILED_CONTAINER_ERROR]?


129

Uygulamamı dağıtmaya çalışıyorum ve bazen şu hatayı alıyorum:

Failure 
[INSTALL_FAILED_CONTAINER_ERROR] 

Google'ı aradım ama hatanın ne anlama geldiğini veya nedenini bulamadım. IDE (IntelliJ) aracılığıyla, dosya aygıta / data / local / tmp'ye kopyalanır (köklenmemiş Huawei Ideos, 2.2 çalıştıran), ancak paket yöneticisi bundan hoşlanmıyor gibi görünüyor. Apk yüklemeden önce uygulamayı cihazdan önceden kaldırdım. Ayrıca cihazda / data / local / tmp altında eski dosya olmadığından da emin oldum. Yine de bu hatayı şimdi alıyorum. Uygulamayı 'çalıştırarak' IDE aracılığıyla dağıttığım için paket hata ayıklama anahtarıyla imzalanmalıdır.

$ 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]

Ne anlama geliyor ve nasıl çözülür?

Düzenleme / Güncelleme:

Uygulamanın sdcard'a yüklenmesine izin vermediğimde hatayı önleyebilirim, ayar

android:installLocation="internalOnly"

manifestte. Geliştirme için sorun değil, ancak üretim için gerçekten istediğim bu değil - çünkü uygulamam 17mb ile oldukça büyük; bu nedenle sdcard üzerinde olmasını tercih ederim. Köklendirme olmadan harici belleğe nasıl kurulabilir (çünkü bu, /mnt/secure/asec/smdl2tmp1.asec'i silmemin tek yoludur, ki bu da bir çözüm gibi görünüyor).


Sadece meraktan: tarafından yükleyebilir misin pm install -f com.company.shop?
Jakub Czaplicki

INSTALL_FAILED_CONTAINER_ERRORSorunun birkaç varyasyonu var, bazıları için cevabımı burada görüyor: stackoverflow.com/a/30343659/313113
bitek

Benim için bu, emülatör kadar basitti "boş alan kalmadı" (???) ve AVD Yöneticisinde Verileri Silmek zorunda kaldım.
EpicPandaForce

Yanıtlar:


44

bu dosyayı cihazınızdan kaldırın

/mnt/secure/asec/smdl2tmp1.asec

Mathias Conradt (OP) tarafından Düzenleme / Güncelleme:

Kök erişiminiz yoksa, sdcard'ı takmanız ve bilgisayardan kaldırmanız gerekir:

/.android_secure/smdl2tmp1.asec

3
ancak cihazımın kökü yok ve güvenli klasöre bakarken yalnızca kök erişim hakkına sahip. Uygulamayı daha önce çalıştırabildim, ancak şimdi bir süredir çalıştıramıyorum ve yukarıdaki hatayı veriyor.
Mathias Conradt

1
btw - ayrıca root olmayan biriyle ulaşabileceğim bir / mnt / asec / klasör var, ama bu boş
Mathias Conradt

3
@Jazz Bu bugün bana oldu. Bunun neden / ne hakkında olduğunu gerçekten bilmek isterim. Dosya manuel olarak silinsin mi? Bunu neden tutulamadı? Bu bir telefon hatası mı?
Erik

1
Bu sorunu yaşıyorum. Mac'imi kullanarak dosyaları / klasörleri göremiyorum. başka yol var mı
SleepNot

14
Bu işe yaradı, ama neden işe yaradığını açıklayabilir misiniz? Gizemli smdl2tmp1.asec dosyasında ne var?
Alexander Pacha

222

Yükleme konumunu şuradan değiştirin:

android:installLocation="preferExternal"

içine

android:installLocation="auto"

projenizin AndroidManifest.xml'sinde.


12
Bunu benim için yaptı. Teşekkürler!
Jim McKeeth

Evet, bu benim için de yaptı. Teşekkürler!
Senthil Kumaran

22
ama tercih etmek istiyorumExternal ...? Bunu nasıl düzeltebilirim?
Aiden Fry

2
@Sameer hayır, bu gerçek cihazlarda da meydana gelir - ancak tutarsızdır. Başlıca olanlar HTC Desire S ve Nexus cihazlarıdır.
Aiden Fry

1
@AidenFry PreferExternal'ı korumak istiyorsanız user2445968 çözümünü kullanın.
LG

32

Bir öykünücü kullanıyorsanız, onu düzenleyin ve daha fazla bellek ekleyin. Aynen bunun gibi bir sorun yaşadım ve tek yaptığım AVD belleğimi 200 MB'tan 1000 MB'a düzenlemek oldu ve sorun ortadan kalkıyor gibi görünüyor ... İyi Şanslar.


Evet, benimle aynı oldu. Başparmak yukarı :)
NaXir

Belleği artırmanın yanı sıra kullanıcı verilerini de silmem gerekti ve ancak bundan sonra yeni boyut yansıdı ve hata ortadan kalktı.
Varun

2
RAM yerine Dahili Depolamaya atıfta bulunduğunuzu tahmin edebilir miyim?
Jonny

1
AVD'nin belleğini artırdım ve sonra verileri sildim !! ve şimdi çalışıyor.
Vora ile buluş

7

Bu, bozuk olan daha önceki bir kurulum olduğu anlamına gelir. Harici olarak kurarsanız, sd kartı formatlamanızı ve tekrar denemenizi öneririm.


6

Bu hatayı defalarca yaşadım. Hatayı tamamen önlemenin en basit yolunun SD kartı formatlamak olduğunu buldum. Telefonu veya emülatörlerin dahili araçlarını kullanma. Otomatik olarak oluşturulan SD kartların veya hatta kendi sdcard.iso'nuzu yapmanın, dahili android araçları tarafından biçimlendirilmediği sürece başarısız olduğunu ve bu hataya neden olduğunu buldum.


1
Stack Overflow'a hoş geldiniz! Gönderiniz için teşekkürler! Lütfen yazılarınızda imza / slogan kullanmayın. Kullanıcı kutunuz imzanız olarak sayılır ve profilinizi, kendinizle ilgili istediğiniz herhangi bir bilgiyi göndermek için kullanabilirsiniz. İmzalar / sloganlar hakkında SSS
Andrew Barber

Bu aynı çözümle çözüldü, çünkü sorun SDCard'a yazılan bir hatadan kaynaklanıyor, android: installLocation = "preferExternal" olarak saklamak istediğiniz Rene f'den daha iyi.
LG

Onaylamak. SD hatası benim için sebepti. Manifest'ten "harici tercih et" i kaldırmayı test ettim - yüklü.
djdance

4

Benim için bu, emülatörümün SD kartındaki alan eksikliğinden kaynaklanıyordu. Oldukça büyük bir projeyle çalışıyordum ve 40 mb'nin yeterli olduğunu düşünmüştüm ama onu 200 mb olarak değiştirdim ve sorun ortadan kalktı.


4

.apkNot 8'imde Link2SD için ikinci bir bölümle Cyanogenmod 12.1 (Android 5.1.1) üzerinde çeşitli aynı hatayı aldım. Adb üzerinden kurulumu root olarak zorlayarak uygulamaları yükleyebildim:

adb root
adb install -f myapp.apk

3

Bu hata mesajını Android 5.0.1'den aldım. Tercih edilen yükleme konumunu Ayarlar-> Uygulamalar-> Tercih Edilen Yükleme Konumu aracılığıyla "Çıkarılabilir SD kart" olarak değiştirdim.

Seçeneği tekrar "Sistem karar versin" olarak değiştirdim ve hata mesajı kayboldu.


1
Bu, Cyanogenmod 12 (Android 5.0.2) çalıştıran benim için bir çözüm gibi görünüyordu. Bu açık , uygulamanın manifestinde uygulamanın yüklenemeyeceğini belirtmesine rağmen, uygulamayı çıkarılabilir SD karta yüklemeye zorluyor gibi görünüyordu .
Sam

1

Benim için cihaz diliydi. Başvurumu test etmek için dili Arapça olarak değiştirdim. Sonra bu hatayı aldım. Dili geri döndürmek hile yaptı.


1

android: installLocation = "auto" çalışır .. !!

Değilse, Bir kez harici depolama alanı boyutunuzu kontrol edin. [Kullanılabilir bellek> uygulama boyutu] Depolama alanı yeterli değilse bu hata da atılır.


0

Emülatörle benzer bir sorun yaşadım. Öykünücünün CPU türünü ARM'den Intel'e değiştirdiğimde gitmişti.


Bu, OP'ye problemlerinde gerçekten yardımcı olmuyor, çünkü onların endişeleri, çoğu hala ARM CPU'ları kullanan gerçek dünya cihazlarında çalışmasını sağlamak.
James Green

0

bazı durumlarda, libs/android-support-v4.jarbu hatanın kaldırılması bu hatayı oluşturur.


0

Benim için birkaç uygulamanın kaldırılması sorunu çözdü. Yerel bir depolamada yeterli bellek olduğunda, APK dağıtımı başarıyla tamamlandı. Ancak genellikle bir aygıtı yeniden başlatırım ve kurulum tamamlanır. Ayrıca, Clean Master gibi bazı programlar yardımcı olabilir. Kullanılmayan işlemleri sık sık silin ve Clean Master ile programları kapatın ve yeterli bellek alın.


0

Cihazımı yeniden başlatmak sorunu benim için çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.