كيفية زيادة التخزين ل Android Emulator؟ (install_failed_insuffical_storage)
-
19-09-2019 - |
سؤال
أحصل على هذا في بعض الأحيان (ليس في كثير من الأحيان) لأحد مشاريعي، زوجين من الطبقات فقط
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
كيف يمكنني زيادة تخزين المحاكي؟
المحلول
تحديث
هذه الإجابة هي، كما أكتب هذا، ما يقرب من ثماني سنوات، وحوالي خمس سنوات قديمة. ولكن لا يزال (كما أكتب هذا) الإجابة "المقبولة"، لأنه أجاب على السؤال عندما سئل.
يمكن العثور على الإجابة الأحدث، والتي تنطبق على أدوات Android Studio الأحدث، هنا: https://stackoverflow.com/a/35828035/62. - إنها إجابة رائعة مع طلقات الشاشة. إذا كنت تستخدم Android Studio، فتجاهل إجابة Eclipse أدناه.
إجابة القائم على الكسوف الأصلي
كنت أبحث عن إجابة هذا السؤال، وكان غير راض عن الإجابات أعلاه. ولكن بعد ذلك وجدت إجابه, ، لذلك هنا هو للإشارة المستقبلية:
لتلخيص (وتوضيح)، في الكسوف، انتقل إلى "تكوينات التصحيح". يمكنك أن تجد أنه في القائمة المنسدلة تحت أيقونة "Debug". حدد "الهدف"، وحدد هدف المحاكي المفضل للإطلاق. ثم ضمن "خيارات سطر الأوامر المحاكي الإضافية"، أضف هذا:
-Partition-Size 1024
ثم أغلق المحاكي (وإزالة أي أجهزة)، وانقر فوق أيقونة Debug، والتي ستطلق المحاكي المفضل الذي حددته. هذا مهم: يحتاج الكسوف إلى إطلاق المصحح، وليس AVD.
ذاك حل لي المشكلة.
نصائح أخرى
على android studio.
افتح مدير AVD.
انقر فوق تحرير أيقونة لتحرير AVD.
انقر فوق إظهار الإعدادات المتقدمة.
تغيير التخزين الداخلي، وسام، حجم بطاقة SD حسب الضرورة. انقر فوق "إنهاء".
تأكيد المنبثقة بالنقر فوق نعم.
امسح البيانات على AVD وتأكيد المنبثقة بالنقر فوق "نعم".
الأهمية: بعد زيادة الحجم، إذا لم يطلب منك تلقائيا مسح البيانات، يجب عليك القيام بذلك يدويا عن طريق فتح القائمة المنسدلة AVD واختيار بيانات المسح.
ابدأ الآن واستخدم المحاكي الخاص بك مع زيادة التخزين.
أضف ما يلي إلى AVD Config.ini
disk.dataPartition.size=1024MB
اسمحوا لي أن أعرف إذا كان هذا يعمل من أجلك أيضا.
أضفت في الخط
تشغيل مدير AVD.
حدد AVD الخاص بك وانقر فوق زر "التفاصيل ...".
في حالتي AVD Manager يضع حجم القرص
disk.dataPartition.size=4000M
هذه قيمة غير صالحة, ، القرص حوالي 500 ميغابايت على الرغم من الأرقام المحددة.
انتقل إلى مجلد AVR عن طريق المسار في "تفاصيل AVD".
تحريره في config.ini ل
disk.dataPartition.size=4000MB
وإزالة جميع ملفات .img.
كنت أقوم بتثبيت APK:
adb install /home/me/jones_android-arm.apk
وكنت أحصل على رسالة خطأ أخبرني بذلك
/data/local/tmp/jones_android-arm.apk
كان كبيرا جدا. باستخدام أدوات SDK من R15، و ADT 15 كنت قادرا على استخدام Manager AVD لمعالجة بعض إعدادات المحاكاة الموجودة الخاصة بي:
Window-> AVD Manager -> (select you virtual machine) -> Edit
ثم الذهاب إلى نافذة خصائص الأجهزة أسفل "الجلد:" تمكنت من اختيار الأجهزة: زر جديد "الحجم المثالي للتقسيم". ومع ذلك، لم أكن، ومع ذلك، قادرة على تعيين القيمة بخلاف "0". غير مقصود، ذهبت إلى بلدي $ {home} /. دليل أندرويد / AVD كان هناك دليل "myvm.avd". الذهاب إلى هذا الدليل وجدت ملف "config.ini". كان هناك الدخول:
disk.dataPartition.size=0
أنا وضعت هذا على:
disk.dataPartition.size=1024
.. ثم عاد إلى مدير AVD، MyVM المختارة، المحدد "ابدأ"، واختار مسح بيانات المستخدم الفوز في مربع الحوار التالي، وكان قادرا على تشغيل وتثبيت.
لدى AVD Manager خيار "الحجم المثالي لقسم النظام"، حاول إعداد ذلك إلى 1024 ميجابايت، أو استخدام خيار إطلاق Commandline الذي يفعل نفسه.
لمعلوماتك، واجهت هذه المشكلة فقط مع صورة محاكي 4.0.
هذه المشكلة تأتي مع Android 1.5 .. جرب 2.0 أو 2.1 أو 2.2
ما عليك سوى بدء المحاكي حسب سطر الأوامر على النحو التالي:
emulator -avd <your avd name> -partition-size 1024 -wipe-data
<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
أنا مبتدئ، لكن كان لدي هذه المشكلة أثناء اللعب مع "عرض غريدة". كنت أحاول استخدام الصور الخاصة بي، والتي كانت كلها كبيرة جدا في حجم الملف.
كان الإصلاح السريع لتقليل عدد الصور، وبالتالي تقليل حجم ملف APK.
ولكن، أعتقد أن متابعتي سؤال لأي شخص آخر يضرب هذا الموضوع هو: كيف يمكنني إرفاق ملفات كبيرة مثل JPGS وملفات MP3 إلى التطبيق وتأكد من حفظها على بطاقة SD بحيث لا يزال APK صغيرا؟
تحتاج إلى زيادة الذاكرة الظاهرية للمحاكي
كيفية زيادة الذاكرة الافتراضية للمحاكي
المحاكي -AVD "اسم المحاكي" -Partition-Size 2024
بعد ذلك حاول تثبيت APK الخاص بك
قم بتحديث الإعدادات الخاصة بك في Manager AVD وبدء تشغيل الجهاز عن طريق تمكين "مسح بيانات المستخدم". هذا عملت بالنسبة لي.
لتغيير حجم تخزين محاكي Android في Linux:
1) تثبيت qemu
2) تحديد موقع الدليل الذي يحتوي على ملفات IMG من الجهاز الظاهري. شيء مثل ~ / .android / AVD / .avd وقصص على ذلك.
3) تغيير حجم صور ext4: أي للنمو من 500 ميغابايت إلى 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) بالنسبة لصورة بطاقة SD، اختياري: إنقاذ البيانات:
mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1
6) تغيير حجم الصورة من 100 ميغابايت إلى 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
أعتقد أنه يجب عليك إعادة تشغيل المحاكي مع "محاكي - بيانات -Wipe -avd youravdname" أو تحقق من "مسح بيانات المستخدم" في تكوين التشغيل إذا كنت تستخدم Eclipse.
أنا مواجهة نفس المشكلة الآن.
المرة الوحيدة التي رأيتها حدث هذا كان عندما كان نظام الملفات المضيف خارج الفضاء في الأساس. هل لديك مساحة خالية كبيرة على نظام الملفات حيث يتم تخزين نظام ملفات VM؟
إنه ليس لديه إجابة مناسبة، لكنه تلميح صغير.
إذا كنت ترغب في الاستفادة من الملفات الثابتة في التطبيق الخاص بك. يجب أن تضعها كموارد أو كأصول. ولكن، إذا كانت لديك مخاوف ذاكرة ترغب في الاحتفاظ بها APK الصغيرة، فأنت بحاجة إلى تغيير تصميم التطبيق الخاص بك بطريقة ما،
بدلا من وضعها كموارد، أثناء تشغيل التطبيق الخاص بك (بعد التثبيت)، يمكنك أخذ الملفات (ملفات مختلفة بشكل كهني حيث قد لا يحتفظ المستخدم بالملفات ما تحتاجه) من بطاقة SD. بالنسبة لهذا، يمكنك استخدام ContentResolver لاتخاذ الصوت، ملفات الصور على اختيار المستخدم.
مع هذا، يمكنك منح المستخدم ميزة أخرى مثله يمكنه تحميل ملفات الصوت / الصورة إلى التطبيق في اختياره الخاص.
يمكنك بدء تشغيل واحد عند تحديد عنصر واحد من الشجرة الأيسر "جهاز الظاهري" في مربع حوار AVD Manager على منصة Eclipse، يحتوي Start Ui على خيار "مسح بيانات المستخدم"
العمل التالي عملت بالنسبة لي
انتقل إلى مجلد Android SDK / Tools الخاص بك في نافذة المحطة الطرفية (في حالة عدم إضافة المسار لذلك)
تأكد من تشغيل الجهاز الظاهري الذي تخطط لتنظيفه.
تشغيل الأمر "
حاول اختيار المشروع -> نظيف. نظيفة بسيطة قد إصلاحه.