Android पर INSTALL_FAILED_INSUFFICIENT_STORAGE त्रुटि का समाधान [बंद]


525

INSTALL_FAILED_INSUFFICIENT_STORAGEत्रुटि हर Android डेवलपर के जीवन का अभिशाप है। यह ऐप के आकार की परवाह किए बिना होता है, या कितना संग्रहण उपलब्ध है। टारगेट डिवाइस को रिबूट करने से समस्या कुछ समय के लिए ठीक हो जाती है, लेकिन यह जल्द ही वापस आ जाती है। लोगों से संदेश बोर्ड के पदों के सैकड़ों (यदि हजारों नहीं) हैं, तो पूछते हैं कि समस्या क्यों होती है, लेकिन Google के लोग इस मुद्दे पर निराशाजनक रूप से चुप हैं।

एक साधारण वर्कअराउंड है। यदि आपका परीक्षण उपकरण एंड्रॉइड 2.2 या बाद में चल रहा है android:installLocation, तो मूल्य के साथ अपने एप्लिकेशन की प्रकट फ़ाइल में विशेषता जोड़ें "preferExternal"। यह ऐप को डिवाइस के बाहरी स्टोरेज पर स्थापित करने के लिए मजबूर करेगा, जैसे फोन का एसडी कार्ड।

उदाहरण के लिए:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.andrewsmith.android.darkness"
          android:installLocation="preferExternal"

यह एक फिक्स की तुलना में एक बैंड-सहायता से अधिक है, और यह आदर्श नहीं हो सकता है यदि आप चाहते हैं कि आपका तैयार ऐप डिवाइस की आंतरिक मेमोरी पर स्थापित हो। लेकिन यह कम से कम विकास की प्रक्रिया को बहुत कम निराशाजनक बना देगा।


यह एंड्रॉयड एपीआई स्तर 4 या 1.6 के लिए काम करने जा रहा है ??
mAc

मुझे यह संदेश मेनिफ़ेस्ट फ़ाइल में मिला है: -> त्रुटि: पैकेज 'एंड्रॉइड' में सहायता '
इंस्टालेशन

1
@AndrewSmith: क्या आप कृपया अपने प्रश्न का उत्तर दे सकते हैं? बस समीक्षा के दौरान इस प्रश्न से टकरा गया क्योंकि यह एक वास्तविक प्रश्न नहीं है । जबकि झंडा मूल रूप से सही है, यह एक शर्म की बात है अगर समाधान खो जाएगा।
Eckes

पहली बात यह है: पता लगाएँ कि क्या समस्या वास्तव में अंतरिक्ष से संबंधित है! देखें इस सवाल पर मेरा उत्तर जानकारी के लिए।
बजे रॉबर्ट सिएमर

1
मुझे एंड्रॉइड एमुलेटर पर यह त्रुटि मिली थी। एंड्रॉइड स्टूडियो - एवीडी प्रबंधक में, एक विशिष्ट डिवाइस पर डेटा को पोंछने का एक विकल्प है। इससे मेरी समस्या ठीक हो गई
असीम

जवाबों:


177

यह केवल एक अस्थायी समाधान है और वास्तविक निर्धारण नहीं है।

मेरे साथ ऐसा होने के बाद और वर्तमान प्रतिक्रियाओं से प्रसन्न नहीं होने के कारण मैं इसे AOSP स्रोत से जानने की कोशिश में काम करने चला गया। मुझे एक वास्तविक समाधान मिला है ।

व्याख्या

सबसे पहले, एंड्रॉइड इंस्टॉल और अपडेट करने पर थोड़ी (सरलीकृत) पृष्ठभूमि

पहली बार कोई ऐप इंस्टॉल किया गया है:

  1. APK फ़ाइल के रूप में सहेजा जाता है

    /data/app/<full.package.name>-1.apk  (1.apk)

जब एप्लिकेशन को अपडेट किया जाना है:

  1. अपडेट की गई एपीके फ़ाइल इस प्रकार सहेजी गई है:

    /data/app/<full.package.name>-2.apk (2.apk)
  2. पहला संस्करण (1.apk) हटा दिया जाता है।

हमारे अगले अपडेट पर:

  1. नया एपीके (1.apk) और (2.apk) के रूप में सहेजा जाता है (हमेशा के लिए दोहराएँ)।

 

समस्या यह है कि हम में से अधिकांश तब होता है जब एप्लिकेशन को अपडेट किया जाता है, लेकिन पुराने एपीके को हटाने में विफल रहता है। जो स्वयं अपडेट को विफल करने का कारण नहीं बनता है, लेकिन यह दो एपीके फ़ाइलों में होने का कारण बनता है /data/app

अगली बार जब आप ऐप को अपडेट करने का प्रयास करेंगे तो सिस्टम अपनी अस्थायी फ़ाइल को स्थानांतरित नहीं कर सकता है क्योंकि न तो (1.apk) और न ही (2.apk) खाली हैं। चूंकि फ़ाइल # renameTo (फ़ाइल) एक अपवाद नहीं फेंकती है, बल्कि एक बूलियन पैकेज मैनजर को वापस करती है, लेकिन उसके पास यह बताने का कोई तरीका नहीं है कि यह INSTALL_FAILED_INSUFFICIENT_STORAGE क्यों लौटा है, हालांकि विफलता का मुफ्त स्थान की राशि से कोई लेना-देना नहीं था।

समाधान

Daud:

adb shell "pm uninstall <full.packge.name>"
adb shell "rm -rf /data/app/<full.package.name>-*"

या

ऐप को अनइंस्टॉल करें

दोनों को हटाने के लिए अपनी पसंदीदा विधि का उपयोग करें :

/data/app/<full.package.name>-1.apk

/data/app/<full.package.name>-2.apk

सुनिश्चित करें कि भविष्य के अन्य इंस्टॉलेशन को समान तरीके से ब्लॉक न करें। मेरे मामले में मेरे पास एक /data/app-lib/<full.package.name>-1निर्देशिका थी ! इस मामले में, एसडी कार्ड के लिए एक इंस्टॉल काम किया, और आंतरिक मेमोरी के लिए एक बाद की चाल भी। ( अंत के /data/app-lib/<full.package.name>बिना बनाना -1)

क्यों अन्य "समाधान" काम किया

  • बाहरी भंडारण में स्थापित करने के लिए कोड काफी अलग है जिसमें समान समस्याएं नहीं हैं

  • ऐप को अनइंस्टॉल करने से केवल एपीके फाइल का एक वर्जन ही डिलीट होता है /data/app। इसलिए आप इसे एक बार फिर से इंस्टॉल कर सकते हैं, लेकिन इसे अपडेट नहीं करें।

  • एमुलेटर में खाली स्थान की मात्रा वास्तव में प्रासंगिक नहीं है जब यह बग होता है


9
@ Msmit1993, आपके पास गैर-रूट किए गए डिवाइस पर डेटा निर्देशिका तक पहुंच नहीं है। एसडीके और एडीबी होने से कोई फर्क नहीं पड़ता।
स्टेन

3
सही मायने में आलसी के लिए, यहाँ एक बैश स्निपेट है: function fix_app { adb shell "pm uninstall ${1}; rm -rf /data/app/${1}-*; su -c 'rm -rf /data/app-lib/${1}-*'" } $ fix_app com.facebook.katana
gnmerritt

1
मैंने भी कोशिश की android:installLocation="preferExternal"लेकिन सब व्यर्थ, मेरे मामले में कुछ भी काम नहीं कर रहा है। मैं परीक्षण के लिए एक वास्तविक उपकरण का उपयोग कर रहा हूं। इस मामले में क्या समाधान है?
राम पत्रा

1
मुझे स्पष्ट करना था/data/local/tmp
18446744073709551615

1
मेरे मामले में, मैं adb install -f के साथ ऐप को इंस्टॉल करने के लिए जोड़ता हूं ... इसे अन्यथा स्थापित करने से इनकार कर रहा था, भले ही मेरे पास आंतरिक मेमोरी में 1.7GB मुफ्त था; ऐसा इसलिए हो सकता है क्योंकि मेरे पास कोई SDCARD नहीं था। लेकिन -f विकल्प के साथ, कम से कम यह काम किया, मुझे नहीं पता क्यों ...
xtof54

108

आपको एंड्रॉइड एमुलेटर की मेमोरी क्षमता बढ़ाने की आवश्यकता है। उसके लिए दो तरीके हैं:

  1. अपने एंड्रॉइड प्रोजेक्ट के रूट पर राइट क्लिक करें, "रन अस" पर जाएं और फिर "रन कॉन्फ़िगरेशन ..." पर जाएं। बाईं ओर के पेड़ में "एंड्रॉइड एप्लिकेशन" नोड का पता लगाएँ, और फिर अपनी परियोजना का चयन करें और खिड़की के दाईं ओर "लक्ष्य" टैब पर जाएं "अतिरिक्त एमुलेटर कमांड लाइन विकल्प" फ़ील्ड (कभी-कभी आप) के लिए नीचे देखें खिड़की को बड़ा करने की आवश्यकता होगी) और अंत में वहां "-आधार-आकार 1024" पेस्ट करें। लागू करें पर क्लिक करें और फिर अपने एमुलेटर का उपयोग करने के लिए चलाएँ।

  2. पर जाएं ग्रहण की पसंद, और फिर "लॉन्च" "डिफ़ॉल्ट एमुलेटर विकल्प" मैदान पर "-partition आकार 1024" जोड़ें। "लागू करें" पर क्लिक करें और हमेशा की तरह अपने एमुलेटर का उपयोग करें।


103
ऑस्कर, आप मानते हैं कि यह सिम्युलेटर पर हो रहा है। मेरे मामले में, यह वास्तविक डिवाइस पर हो रहा है, जिसे यह उत्तर संबोधित नहीं करता है।
जेफ एक्सल्रॉड

दूसरा विकल्प मेरे लिए काम नहीं कर रहा था। हालाँकि विकल्प 1 ने किया! उत्तम सामग्री! और 2.1 एमुलेटर के साथ काम किया।
2

यह मेरे लिए काम नहीं किया, संभवत: क्योंकि मेरे पास स्नैपशॉट सक्षम है? नए -प्रतियोगी आकार के विकल्प के साथ एंड्रॉइड को शुरू करने के लिए मैं एमुलेटर कैसे प्राप्त कर सकता हूं?
तम्मम्

विकल्प 1 पर खोया - मेरे पास इस स्थान पर एक्लिप्स में "लक्ष्य" टैब नहीं है।
टेड बेट्ज़

2 विकल्प ने मेरे लिए काम किया, धन्यवाद पोस्ट @RacZo
डीडी के लिए।

31

इस प्रश्न को पोस्ट करने के लिए धन्यवाद। मेरे पास कुछ अतिरिक्त अंतर्दृष्टि हैं जो कुछ डेवलपर्स की मदद कर सकती हैं।

मैं एक डिवाइस पर अपने एप्लिकेशन को डिबग कर रहा हूं (एमुलेटर नहीं)। डिवाइस में 21 एमबी मुफ्त है /data(जैसा कि "एडीबी शेल" करते समय "डीएफ" से पता चला है) और मेरा ऐप केवल 5 एमबी है। हालाँकि, मुझे पता चला कि अगर मैंने डिवाइस पर अन्य ऐप्स हटा दिए (बिना फोन को रिबूट किए या एडबीडी को फिर से चालू किए), तो INSTALL_FAILED_INSUFFICIENT_STORAGE थोड़ी देर के लिए चला जाएगा और फिर वापस आ जाएगा।

तो ऐसा लगता है कि मेरे 5 एमबी ऐप को डिबग करने के लिए 20 एमबी से अधिक स्पेस की आवश्यकता होती है /data, और इसके अलावा हर बार जब मैं अपने ऐप को डीबग करता था तो कुछ लीक हो जाता था।

इसलिए मैंने "adb शेल" किया और ENTIRE /dataडायरेक्टरी को सूचीबद्ध किया

cd /data
ls -a -l -R

और मैंने 5000-लाइन आउटपुट को देखने के लिए देखा कि सभी स्थान कहां जा रहे थे।

मैंने महीनों से पुराने डिबगिंग सत्रों से पुरानी लॉग फ़ाइलों के रूप में निर्देशिका में अपने डिवाइस पर बड़ी मात्रा में व्यर्थ जगह की/data/klog खोज की ।

ये मेरी लॉग फाइलें नहीं थीं: इन्हें एंड्रॉइड इन्फ्रास्ट्रक्चर के कुछ हिस्से द्वारा बनाया गया था।

मैंने उन्हें हटा दिया और तुरन्त 58 एमबी बचा लिया जो कि किसी विशेष ऐप के लिए सेटिंग ऐप में जिम्मेदार नहीं था। मेरे पास एक छोटा सा उपकरण है इसलिए 58 एमबी बहुत महत्वपूर्ण है (लगभग 40%)।

अब तक, मैंने कई रन के बाद फिर से INSTALL_FAILED_INSUFFICIENT_STORAGE नहीं प्राप्त किया है। चलो आशा करते हैं कि यह वास्तविक मुद्दा था, हालांकि ओपी का सुझाव है कि उनके डिवाइस में बहुत जगह थी (लेकिन यह नहीं बताया कि कितना)।

उम्मीद है कि आपमें से कुछ समय-समय पर हटाकर INSTALL_FAILED_INSUFFICIENT_STORAGE भी बच सकेंगे /data/klog/*

या, यदि आप कम से कम कर सकते हैं ls -a -l -Rमें /dataदेखने के लिए जहां अपने सभी अंतरिक्ष, जा रहा है, तो वास्तव में वहाँ वास्तव में कुछ (छुपा) अंतरिक्ष मुद्दा है।


26
किसी भी विचार कैसे एक गैर जड़ फोन पर यह करने के लिए? मेरे पास डेटा diretory तक पहुंच नहीं है। महान पद btw +1
अमीर

1
जानकारी के लिए धन्यवाद। FYI करें आप यूनिक्स में झंडे को मजबूत कर सकते हैं ताकि lsआदेश हो जाता हैls -alR
mharper

1
रूट एक्सेस के साथ: # सु # डु / डाटा | सॉर्ट करें-आकार द्वारा आदेशित फ़ोल्डर / फ़ाइलों की एक सूची प्राप्त करने के लिए
जुआनमा क्यूवास

@JuanMaCuevas duकेवल फ़ोल्डर्स को सूचीबद्ध करता है।
naXa

@ रिच, 3rd पार्टी ऐप एस्ट्रो फाइल मैनेजर डाउनलोड करने का प्रयास करें। यह बहुत लोकप्रिय है और आपको अपने फ़ोन की फ़ाइलों तक पहुँच प्रदान करता है। play.google.com/store/apps/…
Azurespot

22

निम्नलिखित मदद करता है:

  • डिवाइस के लिए एक खोल खोलें

    adb shell
  • अस्थायी निर्देशिका पर नेविगेट करें जहां आने वाले APK को पहले कॉपी किया गया है

    cd /data/local/tmp
  • उपलब्ध फ़ाइलों को सूचीबद्ध करें और वांछित के रूप में हटा दें

    rm * // use at your own risk, good practice to list files first

यह मेरे लिए एक वास्तविक उपकरण पर अब तक विश्वसनीय रहा है।


संपादित करें: यह ऊपर के रूप में एक समाधान के रूप में विश्वसनीय नहीं निकला।

मैंने कई समाधानों की कोशिश की। वास्तव में कुछ भी मदद नहीं की। अंत में मुझे SD Maid नाम का एक ऐप मिला । इससे मदद मिली।

यह कहता है कि कार्यक्षमता अनियंत्रित उपकरणों पर सीमित है। मेरा निहित है इसलिए लोगों से सुनने के लिए अच्छा होगा यह उन परिदृश्यों में प्रभावी है और अगर यह सिर्फ एक लकीर थी कि यह मेरे लिए काम करता था (यह वैसे भी एक अप्रत्याशित समस्या है)।

नोट: मुझे ऐप से कोई लेना-देना नहीं है। बस इसे एक खोज के साथ पाया।


यह मेरी मदद की .. मेरे पिछले आवेदन के कुछ tmp फ़ोल्डर में जमा हो जाती है। जब मैंने उन लोगों को काम करने के लिए ठीक किया ..
महेंद्रन सकरई

19

मैंने AndroidManifest.xml फ़ाइल के android:installLocation="auto"अंदर <manifest>टैग को शामिल करके इसे हल किया है ।


वास्तव में काम करता है। धन्यवाद।
टेडी

यह एकमात्र फिक्स है जो मेरे लिए, एक वास्तविक डिवाइस पर काम करता है। धन्यवाद।
शाह अबज खान

बस और अच्छी तरह से काम कर रहे हैं।
धन्यवाद

मैंने कोड की इन लाइन को जोड़ा। लेकिन अभी भी यह त्रुटि हो रही हैError: ADB exited with exit code 1 adb: failed to install build\app\outputs\apk\app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] Error launching application on Android SDK built for x86.
हुस्ना

एमुलेटर के साथ काम करने के लिए सबसे अच्छा समाधान। धन्यवाद!
Br0wn

16

मैंने एप्लिकेशन की मैनिफ़ेस्ट फ़ाइल में एक अतिरिक्त पंक्ति जोड़ी थी, जो है android:installLocation="preferExternal"। इस लाइन का उपयोग करके यह एप को बाहरी स्टोरेज में इंस्टॉल करने के लिए मजबूर करता है। नीचे दिए गए उदाहरण को देखें,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nasir.phonegap"
    android:installLocation="preferExternal" >

11

एमुलेटर पर एक संबंधित मुद्दा यह है कि /dataविभाजन में कोई जगह नहीं बची है ।

उदाहरण के लिए,

% adb shell df

Filesystem             Size   Used   Free   Blksize
/dev                   252M    32K   252M   4096
/mnt/asec              252M     0K   252M   4096
/mnt/obb               252M     0K   252M   4096
/system                154M   154M     0K   4096
/data                   64M    57M     6M   4096
/cache                  64M     1M    62M   4096

यहाँ /data/appनिर्देशिका का एक नमूना दृश्य है :

% adb shell ls -l /data/app

-rw-r--r-- system   system      19949 2011-10-12 17:09 CubeLiveWallpapers.apk
-rw-r--r-- system   system      27670 2011-10-12 17:09 GestureBuilder.apk
-rw-r--r-- system   system      34341 2011-10-12 17:09 SoftKeyboard.apk
-rw-r--r-- system   system      20151 2011-10-12 17:09 WidgetPreview.apk

मैंने अतिरिक्त एपीके फ़ाइलों को हटा दिया । ऐसा लगता है कि हर इंस्टॉल पर आपको एक नई एपीके फाइल मिलती है। बस अतिरिक्त एपीके फ़ाइलों को हटा दें।

उदाहरण के लिए,

adb shell rm /data/app/com.brooklynmarathon.calendarapi2-1.apk

2
1. "एडीबी शेल" चलाएं। डेटा में प्रत्येक निर्देशिका में सीडी, और बड़ी बेकार फ़ाइलों के साथ लोगों को ढूंढें। 3. उन्हें प्रयोग "rm (फ़ाइल का नाम)" को हटाने 4. मेरी आवर्ती समस्याओं "ApiDemos" और "Dalvik-कैश" (सिर्फ इतना है कि एक के पूरे सामग्री हटा दें) की तरह कचरे के साथ कर रहे हैं
एडम

9

मेरे मामले में विफलता com.android.providers.mediaऐप के कारण हुई । मुझे x86 एंड्रॉइड एमुलेटर पर इसका सामना करना पड़ा। मैंने क्या किया:

$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M   209M    14M   4096
....

बहुत कम खाली जगह पर /data

$ adb shell du /data
...
409870  /data/data/com.android.providers.media
...

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

$ adb shell pm clear com.android.providers.media
Success
$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M     8M   215M   4096
...

डिस्क को साफ़ किया गया और ऐप सफलतापूर्वक स्थापित किया गया।


यह एकमात्र समाधान है जिसने मेरे लिए काम किया। 2 घंटे बाद! :)
रुचिर बैरनिया

6

मुझे यह लिखने में थोड़ा अजीब लग रहा है, लेकिन मैं 100% सुनिश्चित नहीं हो सकता कि यह कुछ मामलों में सच नहीं है (यह मेरे लिए काम किया है)। यदि आपके पास निम्नलिखित लक्षण थे:

  • आप एक भौतिक उपकरण (मेरे मामले में, सैमसंग गैलेक्सी ऐस) का उपयोग कर काम कर रहे हैं,
  • आप कुछ दिनों से सीधे विकास कर रहे हैं,
  • आपका फोन दिन, रात, हर समय जुड़ा रहता था।
  • आपको यह त्रुटि कुछ दिनों के बाद मिलनी शुरू हुई, और यह खराब होती रही।
  • कोई नहींअन्य किसी भी उत्तर ने आपके लिए काम किया।
  • जैसे ही मैं इस्तीफा दे रहा था ...

फिर, यह प्रयास करें:

  • जब आप काम नहीं कर रहे हों तो अपना फोन अनप्लग करें!

मैंने अपने फोन को अनप्लग कर दिया और इसे ENTIRE DAY के लिए आराम करने दिया। मेरी बैटरी थोड़ी खराब हो गई। इसके बाद, मैंने इसे फिर से जोड़ दिया और फिर से डिबगिंग शुरू कर दिया। इस बार सब कुछ ठीक रहा! और मेरा मतलब है कि वास्तव में वास्तव में ठीक है, पहले की तरह।

क्या यह संभव है कि यह त्रुटि कुछ बैटरी से संबंधित हार्डवेयर सामानों के कारण हो सकती है ? इस तरह से सोचना अभी भी अजीब लगता है, लेकिन अब मैं अपने फोन को हर रात और फिर (और रात के लिए) डिस्कनेक्ट करता रहता हूं और समस्या वापस आ जाती है।


यह मेरे लिए हर समय होता है - मेरे सभी उपकरणों पर। एक दिन के कारण के दौरान चीजें आमतौर पर प्रत्येक दिन के अंत में विफल होने लगती हैं। यह बहुत कष्टप्रद है और इसके सुंदर अद्भुत Google ने अभी तक यह तय नहीं किया है ...
slott

मेरे लिए समान व्यवहार लेकिन फोन के रीबूट ने मेरी समस्या को लगातार हल किया।
बोदेव

6

इस विषय के पहले पोस्ट का जवाब ...

लक्षण: कोई एप्लिकेशन इंस्टॉल नहीं करता है, कह रहा है कि कोई जगह नहीं है और वास्तविकता में आंतरिक और बाहरी दोनों भंडारण पर बहुत सारी जगह खाली है !!! समाधान: डिफ़ॉल्ट रूप से बाहरी स्थापना अक्षम करें।

इसके साथ डिफौट द्वारा बाहरी संस्थापन सेट करना:

adb shell pm set-install-location 2

कई ऐप्स पर असंभव स्थापित करता है जो बाहरी रूप से स्थापित नहीं हो सकते हैं (जैसे कि adblock + या तो)

फिर समाधान है

adb shell pm set-install-location 0

या

adb shell pm set-install-location 1

0: auto (if one is full - or irrelevant !!! - it select the other)
1: internal
2: external

मैं यह सोचना शुरू कर रहा था कि इस फोन का आंतरिक भंडारण टूट गया है, लेकिन 1 को स्थापित स्थान को "अपर्याप्त स्थान" समस्या के लिए निर्धारित किया गया है। धन्यवाद!
वोडिन

6

मैंने निम्नलिखित कोशिश की:

  • मेरी डिवाइस को फिर से शुरू किया
  • हटाए गए पिछले APK
  • मेरे APK का पुनर्निर्माण करें
  • डिवाइस में मेरी पिछली कॉपी को अनइंस्टॉल करें
  • पुनर्स्थापित

जांचें कि क्या यह आपके साथ समान काम करता है।


3
हां, डिवाइस को फिर से शुरू करने वाला एकमात्र काम था (इस पृष्ठ से कई समाधानों को आजमाने के बाद)
सुलिया कोस्मिन

डिवाइस के काम को फिर से शुरू करना :)
Cinobili19

5

सैमसंग गैलेक्सी एस अपने विनिर्देशों में 158 एमबी आंतरिक भंडारण का विज्ञापन करता है, लेकिन मुख्य अनुप्रयोग और सेवाएं लगभग 110 एमबी की खपत करते हैं (मैंने इसका निरीक्षण करने के लिए डिवाइस पर कार्य प्रबंधक का उपयोग किया)। मेरा ऐप 52 एमबी का था, क्योंकि इसमें बहुत सारी संपत्ति थी। एक बार जब मैंने उनमें से कुछ को 45 एमबी तक हटा दिया, तो ऐप बिना किसी समस्या के इंस्टॉल हो गया। डिवाइस अभी भी मुझे सचेत कर रहा था कि आंतरिक भंडारण लगभग भरा हुआ था, और मुझे कुछ ऐप्स की स्थापना रद्द करनी चाहिए, भले ही मेरे पास केवल एक ऐप इंस्टॉल हो।

.Apk बंडल के रिलीज़ संस्करण को स्थापित करने और फिर उसे अनइंस्टॉल करने के बाद, मेरा डिवाइस 99 एमबी मुक्त स्थान प्रदर्शित करता है, इसलिए हो सकता है कि यह सभी डिवाइस के बाद डिवाइस को अव्यवस्थित करने वाली सूचना डिबगिंग कर रहा हो। देखें लुई सेमप्रिनि का जवाब


4

ग्रहण में,

Run -- > Debug Configurations --> Select "target", और लॉन्च करने के लिए एक पसंदीदा एमुलेटर लक्ष्य चुनें।

फिर उसके नीचे "अतिरिक्त एमुलेटर कमांड लाइन विकल्प," इसे जोड़ें:

-प्रकरण-आकार १०२४

फिर एमुलेटर को बंद करें और डिबग आइकन पर क्लिक करें, जो आपके द्वारा चुने गए पसंदीदा एमुलेटर को लॉन्च करेगा।

यहाँ छवि विवरण दर्ज करें

आशा है ये मदद करेगा...!


Android Virtual Device Managerउपयोगकर्ताओं के लिए संकेत । आप विभाजन के आकार को 1024 में "आंतरिक भंडारण" के रूप में सेट कर सकते हैं disk.dataPartion.size
मेडलसम

3

मैं अपने नए Nexus 4 और Adobe AIR के साथ निर्मित APK के साथ इस समस्या में भाग गया। मेरे पास पहले से ही एंड्रॉइड था: इंस्टॉललोकेशन = मेरी पसंद में "अधिमान्य"। मैंने देखा कि मैं भी विकल्प के adb installसाथ कॉल कर रहा था -s(sdcard जैसे साझा मास स्टोरेज पर पैकेज स्थापित करें।) जो ओवरकिल की तरह लग रहा था।

मेरे लिए मुद्दे -sको adb installतय करने से झंडा हटाना ।


1
+1, अच्छा एक, -s का उपयोग केवल तभी किया जाना चाहिए जब पिछले स्थापित बिल्ड को ओवरराइड किया जाए।
AAnkit

3

जैसा कि यह मुद्दा अभी भी मौजूद है, मैंने सोचा था कि मैं विकास के उद्देश्यों के लिए रैज़ो के जवाब में कुछ जोड़ूंगा । यदि आप ग्रहण प्लगइन का उपयोग नहीं कर रहे हैं या जिस भी कारण से आपके पास स्रोत नहीं है, लेकिन सिर्फ .apk है, तो आप एमुलेटर लॉन्च करते समय एक ही विकल्प का उपयोग करके कमांड लाइन से विभाजन का आकार बढ़ा सकते हैं:

emulator -avd <emulator name> -partition-size 1024

जहाँ तक मुझे पता है, इस विकल्प को developer.android.com पर प्रलेखित नहीं किया गया है, तो मैंने सोचा कि मैं इसे यहाँ पोस्ट करूँगा ताकि लोग इस समाधान को पा सकें।


यह अब तक का सबसे अच्छा विकल्प है क्योंकि इसमें किसी भी फाइल को अपडेट करना और न ही किसी भी एप्लिकेशन का उपयोग करना शामिल नहीं है, बसavd
7ynk3r

2

मुझे इस सवाल का पता चला क्योंकि मुझे अपने वास्तविक फोन में एप्लिकेशन इंस्टॉल करने के लिए सिडेलॉड वंडर मशीन का उपयोग करके यह त्रुटि मिल रही थी। मैंने पाया कि समस्या यह थी कि मेरे पास / पेलोड निर्देशिका में कई .apk फाइलें थीं। मैंने सोचा कि यह कुछ ऐसा था जिसे समर्थन दिया गया था, लेकिन जब मैंने सभी को हटा दिया लेकिन एक .apk, त्रुटि चली गई।


2

बस कमांड लाइन से एमुलेटर से एप्लिकेशन को अनइंस्टॉल करें या सेटिंग्स में जाएं और एप्लिकेशन को अनइंस्टॉल करें। यह त्रुटि को आने से रोकेगा।


2

यदि आप एक वास्तविक उपकरण का उपयोग कर रहे हैं, तो आप केवल आंतरिक मेमोरी से बाहर हैं। बस Android सेटिंग -> एप्लिकेशन पर जाएं , और कुछ ऐप को एसडी कार्ड में स्थानांतरित करें या कुछ ऐप को अनइंस्टॉल करें।

यदि आप एमुलेटर का उपयोग कर रहे हैं, तो रेसज़ो का उत्तर देखें ।


9
हम अपर्याप्त भंडारण त्रुटि के बारे में बात कर रहे हैं जो बहुतायत से उपलब्ध भंडारण के दौरान आती है।
1999 में user999717

2

मुझे उसी त्रुटि के बारे में पता चला जब मैंने एक पूर्ण रोम अद्यतन के बाद एडीबी शेल का उपयोग करते हुए एसडी कार्ड निर्देशिका में लगभग 50 ऐप्स को बैचने की कोशिश की :

for x in *.apk; do pm install -r $x; done

उनमें से कुछ स्थापित हैं, लेकिन कई INSTALL_FAILED_INSUFFICIENT_STORAGE त्रुटि के साथ विफल रहे। सभी विफल ऐप्स के नाम में जगह थी। मैंने बैच का नाम बदलकर फिर से प्रयास किया। यह सब इस समय काम किया। मैंने रिबूट या कुछ भी नहीं किया। हो सकता है कि यह वह समस्या नहीं है जिसका आप लोग सामना कर रहे हैं, लेकिन यह किसी को उसी समस्या के साथ खोज करने में मदद कर सकता है जैसा मैंने सामना किया।


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

1

एमुलेटर समाधान

अपनी .Androidनिर्देशिका खोलें । आमतौर पर अपने घर निर्देशिका में। फिर जाएंavd और फिर उस निर्देशिका को खोलें जिसमें उस अवधी का नाम है जिसे आप बदलना चाहते हैं।

अब config.iniफ़ाइल को संपादित करें और निम्न पंक्ति जोड़ें या निम्न पंक्ति को संशोधित करें:

disk.dataPartition.size=1024

1024वह आकार कहां है जिसका उपयोग आप MB में करना चाहते हैं। फ़ाइल सहेजें और फिर wipe user dataचेक के साथ अपना एमुलेटर शुरू करें । आपके एमुलेटर का आकार अब नया होना चाहिए।


1

समाधान सरल है।

AVD प्रबंधक खोलें। अपने AVD को संपादित करें।

हार्डवेयर अनुभाग में नीचे, "नई ..." और "हटाएं" के साथ सूचीबद्ध कुछ गुण हैं।

नया दबाएं। डेटा विभाजन आकार का चयन करें। "512MB" (एमबी आवश्यक है) पर सेट करें। और आपने कल लिया। यदि आप अभी भी समस्याएँ प्राप्त करते हैं, तो अपने सिस्टम और कैश विभाजन को भी उसी पद्धति का उपयोग करके बढ़ाएँ।

यह सब यहीं प्रलेखित है: http://developer.android.com/guide/developing/devices/managing-avds.html


2
डेटा पार्टिशन Google API Level 14
Ted Betz

1

सुनिश्चित करें कि आप एमुलेटर चलाने की कोशिश करते समय अपने एंड्रॉइड डिवाइस को यूएसबी से कनेक्ट न करें


1

यदि आप किसी एमुलेटर पर अपना एप्लिकेशन चला रहे हैं, और यदि यह समस्या बनी रहती है, तो अपने सूचना प्रबंधक की जांच करें। यदि यह आपको "फोन मेमोरी फुल" के बारे में एक आइकन और सूचना दिखाता है, तो इसका मतलब है कि आपने अपने एमुलेटर पर बहुत सारे एप्लिकेशन पहले से इंस्टॉल किए हैं। कई एप्लिकेशन को अनइंस्टॉल करें जो आप वर्तमान में "सेटिंग्स> से नहीं करें। एप्लिकेशन को प्रबंधित करें >> एप्लिकेशन का चयन करें >> अनइंस्टॉल करें"।
वह सुमुचय।
अब प्रोग्राम को फिर से चलाएं।


1

मुझे यह त्रुटि आज मिली, जब मैंने ग्रहण के साथ परीक्षण / डिबगिंग के लिए अपने फोन का उपयोग किया।

मेरी त्रुटि यह थी कि मैंने एप्लिकेशन नाम में नॉर्वेजियन विशेष चरित्र (",", "ø", "å") का उपयोग किया। जब मैंने एप्लिकेशन नाम ("ø" के बजाय "ओ" का उपयोग करके) को पुनःप्राप्त किया, तो ऐप सही ढंग से स्थापित किया गया था।

संभवतः आपकी समस्या नहीं है, लेकिन अन्य लोगों के लिए भी वही त्रुटि हो सकती है।


1

इस थ्रेड में और सब कुछ आज़माने के बाद, मुझे अपनी समस्या का पता चला, क्योंकि .apk फ़ाइल का रास्ता बहुत लंबा था। इसलिए मैंने उस निर्देशिका में cd'ed किया जहां .apk था और किया:

cd /Very/Long/Path/To/Package/
adb install mypackage.apk

के बजाय

adb install /Very/Long/Path/To/Package/mypackage.apk

और यह काम किया ... बस ठीक स्थापित किया।

बस सोचा कि यह किसी और की मदद कर सकता है।


मैं जोड़ सकता हूं, कि निर्देशिका को एक प्रतीकात्मक लिंक बनाने से मुझे आईडीई और डीबग से बिल्ड बनाने की अनुमति मिली: ln -s / Users / abc / a \ हास्यास्पद "long \ directory \ path / subpath / subsubpath / subsububpath / shortpath
डेविड वैन डुगतेरन

1

युक्ति:

2.1 बिना संकलन android:installLocation="preferExternal"

ठीक है?

2.2 सहित संकलित करें android:installLocation="preferExternal"

यह अभी भी 8 से कम एसडीके संस्करण पर स्थापित होगा (एक्सएमएल टैग को अनदेखा किया गया है)।


0

मेरे मामले में यह ग्रहण की विस्तारित स्मृति में वृद्धि, के मान बदलकर द्वारा तय हो गया -Xmx768m में eclipse.ini


0

मैंने डिवाइस से ऐप को अनइंस्टॉल करना समाप्त कर दिया और फिर इसे ग्रहण में फिर से इंस्टॉल किया। यह एक ऐसी समस्या है जो मुझे नियमित उपयोग से अपने डिवाइस पर हर समय मिलती है, लेकिन आज मुझे वह संदेश विकास से मिला है।


0

मुझे भी उसी समस्या का सामना करना पड़ा, और मैंने "फ़ैक्टरी डेटा रीसेट" किया, और इसके बाद ठीक काम किया।


8
मैं वास्तव में समाधान के रूप में इसकी सिफारिश नहीं करूंगा। कुल ओवरकिल।
टिम

3
यह आपके / डेटा को मिटा देता है, जो कुछ स्थान को मुक्त कर देता है ताकि स्थापना फिर से काम करेगी। एक बहुत ही कुंद साधन और समाधान नहीं। कुछ ऐप्स के बाद त्रुटि वापस आ सकती है।
1999 में user999717

22
यह डॉक्टर के बराबर कहावत है: मुझे नहीं पता कि आपके हाथ में क्या गलत है इसलिए मैं इसे काट रहा हूं।
डेरेक

0

मेरे पास मेरे फोन पर रूट एक्सेस नहीं है और मैं अपने ऐप के लिए एसडी कार्ड पर इंस्टॉल होने के लिए तैयार नहीं हूं। 15 एमबी जगह उपलब्ध है /data/और मेरा आवेदन 2 एमबी से कम है।

थोड़ी देर के लिए मुझे मिला; ग्रहण परियोजना को साफ करना और फोन को फिर से शुरू करना, लेकिन आखिरकार उसने काम करना बंद कर दिया (शायद अपडेट के बाद)।

मेरे एप्लिकेशन कैश को साफ करने से मेरे लिए समस्या का समाधान हो गया है और इसके लिए फोन को फिर से शुरू करने या ऐप की स्थापना रद्द करने की आवश्यकता नहीं है।

बाजार पर ऐसे अनुप्रयोग हैं जिनका उपयोग आप एक साथ कई अनुप्रयोगों के कैश को साफ़ करने के लिए कर सकते हैं। "स्वच्छ" के लिए खोजें।

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