इसका क्या अर्थ है: विफलता [INSTALL_FAILED_CONTAINER_ERROR]?


129

मैं अपने एप्लिकेशन को परिनियोजित करने का प्रयास करता हूं और कभी-कभी यह त्रुटि मिलती है:

Failure 
[INSTALL_FAILED_CONTAINER_ERROR] 

मैंने इसे Google करने की कोशिश की, लेकिन यह नहीं पाया कि त्रुटि का मतलब क्या है या इसके कारण क्या है। मैं आईडीई (IntelliJ) के माध्यम से तैनात करता हूं, फ़ाइल डिवाइस / डेटा / लोकल / tmp (2.2 रनिंग हुआवेई Ideos को हटाता है) पर कॉपी हो जाती है, लेकिन पैकेज मैनेजर को यह पसंद नहीं आता है। एपीके इंस्टॉल करने से पहले, मैंने डिवाइस से ऐप को पहले ही हटा दिया था। मैंने यह भी सुनिश्चित किया कि डिवाइस पर / डेटा / स्थानीय / tmp के तहत कोई पुरानी फ़ाइल नहीं थी। फिर भी मुझे अब यह त्रुटि मिल रही है। पैकेज को डीबग कुंजी के साथ हस्ताक्षरित किया जाना चाहिए, क्योंकि मैं ऐप को 'रन' करके आईडीई के माध्यम से तैनात करता हूं।

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

इसका क्या मतलब है और इसे कैसे हल करना है?

संपादित करें / अद्यतन:

मैं उस त्रुटि से बच सकता हूं जब एप्लिकेशन को एसडीकार्ड पर स्थापित करने की अनुमति नहीं है, सेटिंग

android:installLocation="internalOnly"

प्रकट में। यह विकास के लिए ठीक है, लेकिन उत्पादन के लिए, यह वास्तव में मैं क्या चाहता हूं - चूंकि मेरा ऐप 17mb के साथ काफी बड़ा है; इसलिए मैं इसे sdcard पर होना पसंद करता हूं। बिना रूट किए इसे बाहरी मेमोरी पर कैसे स्थापित किया जा सकता है (चूंकि यह एकमात्र तरीका है जिससे मैं /mnt/secure/asec/smdl2tmp1.asec को हटा सकता हूं, जो एक समाधान भी लगता है)।


जिज्ञासा से बाहर: क्या आप इसे स्थापित कर सकते हैं pm install -f com.company.shop?
जाकुब काजप्लेकी

INSTALL_FAILED_CONTAINER_ERRORसमस्या पर कई भिन्नताएँ हैं , उनमें से कुछ के लिए मेरा उत्तर यहाँ देखें: stackoverflow.com/a/30343659/313113
bitek

मेरे लिए, यह एमुलेटर "अंतरिक्ष से बाहर" (???) के रूप में सरल था और मुझे AVD प्रबंधक में डेटा पोंछना पड़ा।
एपिकपांडाफर्स

जवाबों:


44

अपने डिवाइस से इस फ़ाइल को हटा दें

/mnt/secure/asec/smdl2tmp1.asec

मैथियास कॉनराड (ओपी) द्वारा संपादित / अपडेट करें:

यदि आपके पास रूट एक्सेस नहीं है, तो आपको sdcard माउंट करने और इसे पीसी के माध्यम से हटाने की आवश्यकता है:

/.android_secure/smdl2tmp1.asec

3
लेकिन मेरा डिवाइस अनियंत्रित है, और सुरक्षित फ़ोल्डर को देखते हुए, केवल रूट की पहुंच है। मैं पहले एप्लिकेशन को चलाने में सक्षम था, केवल अब से थोड़ी देर के बाद, इसे नहीं चला सकता और यह उपरोक्त त्रुटि देता है।
मथियास कॉनरैड्ट

1
btw - वहाँ भी एक फ़ोल्डर है / mnt / asec / कि मैं गैर रूट के साथ पहुँच सकते हैं, लेकिन वह खाली है
Mathias Conradt

3
@ जैज यह आज मुझे खुशी है। मैं वास्तव में जानना चाहूंगा कि यह क्यों / क्या है। फ़ाइल मैन्युअल रूप से हटाएं? ग्रहण ऐसा क्यों नहीं कर सका? क्या यह फोन बग है?
एरिक

1
im यह समस्या है। मैं अपने मैक का उपयोग करके फ़ाइलें / फ़ोल्डर नहीं देख सकता। क्या कोई और तरीका है?
SleepNot

14
यह काम किया, लेकिन क्या आप बता सकते हैं, यह क्यों करता है? रहस्यमय smdl2tmp1.asec-file में क्या है?
अलेक्जेंडर पच

222

से इंस्टॉल लोकेशन बदलें

android:installLocation="preferExternal"

में

android:installLocation="auto"

अपने प्रोजेक्ट के AndroidManifest.xml में।


12
मेरे लिए यही किया। धन्यवाद!
जिम मैककेथ

हां, इसने मेरे लिए भी ऐसा किया। धन्यवाद!
सेंथिल कुमारन

22
लेकिन मैं पसंद करना चाहता हूँ ...? इसे कैसे ठीक करें?
Aniden Fry

2
@Sameer नहीं, यह वास्तविक उपकरणों पर भी होता है - लेकिन असंगत है। मुख्य रूप से एचटीसी डिजायर एस और नेक्सस डिवाइस हैं।
फिडेन फेयर

1
@AidenFry उपयोगकर्ता 2445968 समाधान का उपयोग करें यदि आप अधिमान्य रखना चाहते हैं।
एलजी

32

यदि आप एक एमुलेटर का उपयोग कर रहे हैं, तो इसे संपादित करें और अधिक मेमोरी जोड़ें। मुझे इस तरह से एक समस्या हुई है और मैंने जो भी किया वह मेरे एवीडी की मेमोरी को 200 एमबी से 1000 एमबी तक संपादित करने और समस्या को दूर करने के लिए लगता है ... गुड लक।


हाँ, मेरे साथ भी ऐसा ही हुआ। अंगूठे ऊपर :)
NaXir

मेमोरी बढ़ाने के अलावा मुझे उपयोगकर्ता डेटा भी मिटा देना था और उसके बाद ही, नए आकार परिलक्षित हुआ और त्रुटि दूर हो गई।
वरुण

2
क्या मुझे लगता है कि आप आंतरिक भंडारण का उल्लेख करते हैं, और रैम का नहीं?
जॉनी

1
मैंने अपनी AVD की मेमोरी बढ़ा दी, और फिर डेटा मिटा दिया !! और अब यह काम कर रहा है।
वोरा

7

इसका मतलब है कि पहले की स्थापना भ्रष्ट थी। यदि आप बाहरी पर स्थापित करते हैं तो मेरा सुझाव है कि आप एसडी कार्ड को फिर से आज़माएं।


6

मुझे यह त्रुटि बार-बार हुई है। मुझे इसकी संपूर्णता में त्रुटि से बचने का सबसे सरल तरीका मिल गया है, बस एसडी कार्ड को प्रारूपित करना है। फोन या एमुलेटर का उपयोग करके आंतरिक उपकरण। मैंने पाया है कि स्वतः उत्पन्न SD कार्ड या यहां तक ​​कि अपना खुद का sdcard.iso बनाना विफल रहता है और इस त्रुटि का कारण बनता है जब तक कि आंतरिक एंड्रॉइड टूल द्वारा तैयार नहीं किया जाता है।


1
ढेर अतिप्रवाह में आपका स्वागत है! आपकी पोस्ट के लिए धन्यवाद! कृपया अपने पोस्ट में हस्ताक्षर / टैगलाइन का उपयोग न करें। आपका उपयोगकर्ता बॉक्स आपके हस्ताक्षर के रूप में गिना जाता है, और आप अपनी प्रोफ़ाइल का उपयोग अपने बारे में किसी भी जानकारी को पोस्ट करने के लिए कर सकते हैं। हस्ताक्षर / टैगलाइन पर अक्सर पूछे जाने वाले प्रश्न
एंड्रयू बार्बर

इसे उसी समाधान के साथ हल किया गया, क्योंकि समस्या SDCard को लिखने में त्रुटि के कारण होती है, यह Rene f के एंड्रॉइड: इंस्टॉललोकेशन = "प्रिफ़रएन्सटर्न" को रखना चाहते हैं।
एलजी

पुष्टि करें। एसडी पर त्रुटि मेरे लिए कारण था। मैंने इसे "बाहरी को प्राथमिकता" से हटाने का परीक्षण किया - यह ठीक है।
djdance

4

मेरे लिए यह मेरे एमुलेटर के एसडी कार्ड में जगह की कमी के कारण था। मैं एक बहुत बड़ी परियोजना के साथ काम कर रहा था और मैंने सोचा था कि 40 एमबी पर्याप्त था, लेकिन मैंने इसे 200 एमबी में बदल दिया और समस्या दूर हो गई।


4

.apkमेरे नोट 8 पर CyanogenMod 12.1 (Android 5.1.1) पर Link2SD के लिए दूसरे विभाजन के साथ एक ही त्रुटि थी । मैं मूल रूप से adb के माध्यम से इंस्टॉलेशन को मजबूर करके ऐप्स इंस्टॉल करने में सक्षम था:

adb root
adb install -f myapp.apk

3

मुझे यह त्रुटि संदेश Android 5.0.1 से मिला। मैंने सेटिंग्स-> ऐप्स-> पसंदीदा इंस्टॉल स्थान के माध्यम से पसंदीदा इंस्टॉलेशन स्थान को "रिमूवेबल एसडी कार्ड" में बदल दिया था।

मैंने विकल्प को "सिस्टम को निर्णय लेने दें" में बदल दिया और त्रुटि संदेश चला गया।


1
यह मेरे लिए स्यानोजेनमॉड 12 (एंड्रॉइड 5.0.2) चलाने का समाधान प्रतीत हुआ। ऐसा लग रहा था कि ऐप हटाने योग्य एसडी कार्ड पर इंस्टॉल करने के लिए मजबूर कर रहा है, भले ही ऐप का प्रकटन निर्दिष्ट हो कि यह वहां स्थापित नहीं किया जा सकता है।
सैम

1

मेरे लिए, यह डिवाइस की भाषा थी। मैंने अपने आवेदन का परीक्षण करने के लिए भाषा को अरबी में सुनाया। तब मुझे यह त्रुटि मिली। भाषा को वापस करने की चाल चली।


1

Android: installLocation = "ऑटो" काम करता है .. !!

यदि नहीं, तो एक बार अपने बाहरी संग्रहण स्थान का आकार जांचें। [उपलब्ध मेमोरी> ऐप का आकार] यदि भंडारण स्थान पर्याप्त नहीं है, तो यह त्रुटि भी है।


0

मुझे एमुलेटर के साथ भी ऐसी ही समस्या थी। यह तब चला गया जब मैंने एमुलेटर के सीपीयू प्रकार को एआरएम से इंटेल में बदल दिया।


यह वास्तव में ओपी को उनकी समस्या के साथ मदद नहीं करता है, क्योंकि उनकी चिंता वास्तविक दुनिया के उपकरणों पर काम कर रही है, जिनमें से बहुत से अभी भी एआरएम सीपीयू का उपयोग करते हैं।
जेम्स ग्रीन


0

मेरे लिए, कई अनुप्रयोगों की स्थापना रद्द करने से समस्या हल हो गई। जब एक स्थानीय मेमोरी में पर्याप्त मेमोरी होती है, तो एपीके की तैनाती सफलतापूर्वक पूरी हो जाती है। लेकिन आमतौर पर मैं बस एक गैजेट को पुनरारंभ करता हूं, और स्थापना पूर्ण होती है। साथ ही, क्लीन मास्टर जैसे कुछ प्रोग्राम मदद कर सकते हैं। बस अक्सर साफ मास्टर के साथ अप्रयुक्त प्रक्रियाओं और करीबी कार्यक्रमों को मिटा दें और पर्याप्त स्मृति प्राप्त करें।


0

मेरे डिवाइस को पुनरारंभ करके मेरे लिए समस्या को ठीक किया गया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.