मुझे यह कभी-कभी (अक्सर नहीं) अपनी एक परियोजना के लिए, केवल दो वर्गों के लिए मिलता है
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
मैं एमुलेटर के भंडारण को कैसे बढ़ाऊं?
मुझे यह कभी-कभी (अक्सर नहीं) अपनी एक परियोजना के लिए, केवल दो वर्गों के लिए मिलता है
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
मैं एमुलेटर के भंडारण को कैसे बढ़ाऊं?
जवाबों:
यह उत्तर है, जैसा कि मैंने यह लिखा है, लगभग आठ साल पुराना है, और लगभग पांच साल बासी है। लेकिन यह अभी भी है (जैसा कि मैं इसे लिखता हूं) "स्वीकृत" उत्तर, क्योंकि यह प्रश्न का उत्तर देता है जब यह पूछा गया था।
नया उत्तर, जो नए एंड्रॉइड स्टूडियो टूल्स पर लागू होता है, यहां पाया जा सकता है: https://stackoverflow.com/a/35828035/62 - यह स्क्रीन शॉट्स के साथ एक शानदार उत्तर है। यदि आप Android Studio का उपयोग कर रहे हैं, तो नीचे दिए गए ग्रहण उत्तर को अनदेखा करें।
मैं इस प्रश्न का उत्तर खोज रहा था, और उपरोक्त उत्तरों से असंतुष्ट था। लेकिन तब मुझे जवाब मिला , इसलिए यहाँ यह भविष्य के संदर्भ के लिए है:
ग्रहण में संक्षेप (और स्पष्ट) करने के लिए, "डिबग कॉन्फ़िगरेशन" पर जाएं। आप "डीबग" आइकन के नीचे ड्रॉप-डाउन में पा सकते हैं। "लक्ष्य" चुनें, और लॉन्च करने के लिए एक पसंदीदा एमुलेटर लक्ष्य चुनें। फिर "अतिरिक्त एमुलेटर कमांड लाइन विकल्प" के तहत, इसे जोड़ें:
-प्रकरण-आकार १०२४
फिर एमुलेटर को बंद करें (और किसी भी उपकरण को हटा दें), और डिबग आइकन पर क्लिक करें, जो आपके द्वारा चुने गए पसंदीदा एमुलेटर को लॉन्च करेगा। यह महत्वपूर्ण है: ग्रहण को डीबगर लॉन्च करने की आवश्यकता है, न कि एवीडी।
मेरे लिए यह समस्या तय हो गई।
AVD प्रबंधक खोलें।
AVD को संपादित करने के लिए Edit Icon पर क्लिक करें।
उन्नत सेटिंग्स दिखाएँ पर क्लिक करें।
आवश्यकतानुसार आंतरिक संग्रहण, राम, एसडी कार्ड का आकार बदलें। समाप्त पर क्लिक करें।
हाँ क्लिक करके पॉपअप की पुष्टि करें।
AVD पर डेटा मिटाएं और हां क्लिक करके पॉपअप की पुष्टि करें।
महत्वपूर्ण: आकार बढ़ाने के बाद, यदि यह स्वचालित रूप से आपसे डेटा को पोंछने के लिए नहीं कहता है, तो आपको इसे AVD के पुल-डाउन मेनू को खोलकर और Wipe Data को चुनकर स्वयं करना होगा।
अब बढ़े हुए स्टोरेज के साथ अपने एमुलेटर को शुरू और इस्तेमाल करें।
निम्नलिखित को avd config.ini में जोड़ें
disk.dataPartition.size=1024MB
मुझे पता है अगर यह तुम्हारे लिए भी काम करता है।
मैंने लाइन में जोड़ा
1024MB
AVD प्रबंधक का उपयोग करते समय एक मूल्य दर्ज करना होगा । आप यह 1024
पता लगाने के लिए थोड़ी देर तक प्रवेश नहीं कर सकते हैं , और मैंने इस काम की पुष्टि की है
AVD प्रबंधक चलाएं
अपने AVD का चयन करें और "विवरण ..." बटन पर क्लिक करें।
मेरे मामले में AVD प्रबंधक डिस्क आकार के रूप में सेट करता है
disk.dataPartition.size=4000M
यह अमान्य मान , निर्दिष्ट संख्याओं के बावजूद डिस्क लगभग 500MB है।
"AVD विवरण" में पथ द्वारा AVR के फ़ोल्डर पर जाएं।
इसे config.ini में संपादित करें
disk.dataPartition.size=4000MB
और सभी .img फ़ाइलों को हटा दें।
मैं एक APK की स्थापना कर रहा था:
adb install /home/me/jones_android-arm.apk
और मुझे एक त्रुटि संदेश मिल रहा था जो मुझे बता रहा था
/data/local/tmp/jones_android-arm.apk
बहुत बड़ा था। R15 से sdk टूल्स का उपयोग करना, और ADT 15 मैं अपने कुछ मौजूदा एमुलेटर की सेटिंग्स में हेरफेर करने के लिए AVD मैनेजर का उपयोग करने में सक्षम था:
Window-> AVD Manager -> (select you virtual machine) -> Edit
फिर "स्किन:" के नीचे हार्डवेयर प्रॉपर्टीज विंडो में जा रहा हूं। मैं हार्डवेयर के साथ चयन करने में सक्षम था: नया बटन 'विभाजन का आदर्श आकार'। मैं, हालांकि, '0' के अलावा अन्य मूल्य निर्धारित करने में सक्षम नहीं था। अनडाउन्टेड, मैं अपने $ {HOME} /। Android / avd डाइरेक्टरी में गया, वहाँ 'MyVm.avd' डायरेक्टरी थी। उस निर्देशिका में जाने पर मुझे एक 'config.ini' फ़ाइल मिली। प्रविष्टि थी:
disk.dataPartition.size=0
मैंने इसे इसके लिए निर्धारित किया है:
disk.dataPartition.size=1024
.. फिर AVD मैनेजर में वापस गया, MyVm को चुना, 'स्टार्ट' को चुना, निम्नलिखित डायल करने के लिए उपयोगकर्ता डेटा को जीतने के लिए मिटाया, और चलाने और स्थापित करने में सक्षम था।
disk.dataPartition.size=1024MB
, क्योंकि 1024
और 1024m
काम नहीं कर रहे थे।
एवीडी प्रबंधक के पास "सिस्टम विभाजन का आदर्श आकार" एक विकल्प है, जो कि 1024MB पर सेट करने का प्रयास करें, या कमांडलाइन लॉन्च विकल्प का उपयोग करें जो ऐसा ही करता है।
फी, मुझे केवल 4.0 एमुलेटर छवि के साथ इस समस्या का सामना करना पड़ा।
यह समस्या एंड्रॉइड 1.5 के साथ आती है .. 2.0 या 2.1 या 2.2 का प्रयास करें
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.junkfoodian"
android:installLocation="preferExternal" // this line can work for Installation error: // // INSTALL_FAILED_INSUFFICIENT_STORAGE
लिनक्स में एंड्रॉइड एमुलेटर के भंडारण का आकार बदलने के लिए:
1) qemu स्थापित करें
2) वर्चुअल मशीन की img फ़ाइलों वाली निर्देशिका का पता लगाएँ। कुछ इस तरह ~ / .android / avd / .avd और cd को।
3) ext4 छवियों का आकार बदलें: यानी 500Mb से 4Gb निष्पादित करने के लिए बढ़ रहा है
qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB
4) फाइलसिस्टम विकसित करें:
e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img
5) एसडी कार्ड छवि के लिए, वैकल्पिक: डेटा बचाव:
mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1
6) 100Mb से Gb तक छवि का आकार बदलें:
qemu-img resize sdcard.img +3.9GB
7) फाइलसिस्टम को फिर से जेनरेट करें:
mkfs.vfat sdcard.img
8) वैकल्पिक: पुराने डेटा को पुनर्स्थापित करें:
mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1
मैं एक शुरुआती हूं, लेकिन मुझे "हैलो ग्रिड व्यू" के साथ खेलने के दौरान यह समस्या थी। मैं अपने स्वयं के फोटो का उपयोग करने की कोशिश कर रहा था, जो सभी फ़ाइल आकार में बहुत बड़े थे।
त्वरित फ़िक्स को फ़ोटो की संख्या को कम करना था, इस प्रकार एपीके फ़ाइल का आकार कम करना था।
लेकिन, मुझे लगता है कि इस धागे को हिट करने वाले किसी और के लिए मेरे अनुवर्ती प्रश्न यह है: मैं जेपीजी और एमपी 3 जैसी बड़ी फ़ाइलों को एक ऐप में कैसे संलग्न करूं और यह सुनिश्चित करूं कि वे एसडी कार्ड में सेव करें ताकि एपीके छोटा बना रहे?
आपको एमुलेटर की वर्चुअल मेमोरी बढ़ाने की आवश्यकता है
एमुलेटर की वर्चुअल मेमोरी कैसे बढ़ाएं
एमुलेटर -वार्ड "एमुलेटर नाम" -प्रकरण-आकार 2024
इसके बाद अपना एपीके इंस्टॉल करने की कोशिश करें
एवीडी मैनेजर में अपनी सेटिंग्स को अपडेट करें और 'वाइप यूजर डेटा' को सक्षम करके डिवाइस को शुरू करें। इसने मेरे लिए काम किया।
मुझे लगता है कि आपको एमुलेटर को "एमुलेटर -वाइप-डेटा -avd YourAvdName" के साथ पुनः आरंभ करना चाहिए या यदि आप ग्रहण का उपयोग कर रहे हैं तो रन कॉन्फ़िगरेशन में "वाइप यूजर डेटा" की जांच करें।
मैं अभी उसी मुद्दे का सामना कर रहा हूं।
जब मैंने देखा कि ऐसा होने का एकमात्र समय था जब मेजबान फाइलसिस्टम मूल रूप से अंतरिक्ष से बाहर था। क्या आपके पास फ़ाइल सिस्टम पर बहुत अधिक खाली स्थान है जहां VM का फ़ाइल सिस्टम संग्रहीत है?
यह एक उपयुक्त उत्तर नहीं है, लेकिन यह एक छोटा संकेत है।
यदि आप अपने App में static files का उपयोग करना चाहते हैं। आपको उन्हें संसाधनों या संपत्ति के रूप में रखना चाहिए। लेकिन, अगर आपके पास मेमोरी चिंताएं हैं, जैसे कि आपका एपीके छोटा रखना है, तो आपको अपना ऐप डिज़ाइन इस तरह से बदलना होगा,
अपने ऐप को चलाने के दौरान उन्हें संसाधनों के रूप में डालने के बजाय, आप एसडी कार्ड से फ़ाइलें (आमतौर पर अलग-अलग फ़ाइलों को ले सकते हैं क्योंकि उपयोगकर्ता उन फ़ाइलों को नहीं रख सकते हैं जिनकी आपको आवश्यकता है)। इसके लिए यू यूजर सिलेक्शन पर ऑडियो, इमेज फाइल्स लेने के लिए ContentResolver का इस्तेमाल कर सकते हैं।
इसके साथ आप उपयोगकर्ता को एक और सुविधा दे सकते हैं जैसे वह अपनी पसंद के अनुसार ऐप में ऑडियो / इमेज फाइल लोड कर सकता है।
निम्नलिखित दृष्टिकोण ने मेरे लिए काम किया
टर्मिनल विंडो में अपने Android SDK / टूल फ़ोल्डर में नेविगेट करें (यदि आपने इसके लिए पथ नहीं जोड़ा है तो)
सुनिश्चित करें कि जिस वर्चुअल डिवाइस को आप साफ करने की योजना बना रहे हैं, वह संचालित है।
कमांड चलाएं "./emulator -wipe-data -avd YourAvdName" जहां YourAvdName आपके वर्चुअल एंड्रॉइड डिवाइस का नाम है