วิธีเพิ่มที่เก็บข้อมูลสำหรับ Android Emulator (INSTALL_FAILED_INSUFFICIENT_STORAGE)


152

บางครั้งฉันได้รับสิ่งนี้ (ไม่บ่อย) สำหรับหนึ่งในโปรเจ็กต์ของฉันสองสามชั้นเท่านั้น
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

ฉันจะเพิ่มที่เก็บข้อมูลจำลองได้อย่างไร


2
ฉันเห็นข้อผิดพลาดนี้ค่อนข้างบ่อยแม้ว่าอุปกรณ์ที่ติดตั้งจะมีพื้นที่เก็บข้อมูลมากมาย เพียงจำไว้ว่าบางครั้งเมื่อคุณเห็นข้อผิดพลาดสิ่งที่ข้อความผิดพลาดบอกว่าไม่เป็นความจริง
— Lance Nanek

1
@ Pentinum10 ฉันได้รับข้อผิดพลาดเดียวกันทั้ง 1.5 และ 2.2, เช็คเอาต์คำถามที่ต้องการความช่วยเหลือของคุณ: stackoverflow.com/questions/3584297/
— ......

คำตอบ:


127

ปรับปรุง

คำตอบนี้คือเมื่อฉันเขียนสิ่งนี้อายุเกือบแปดปีและค้างอยู่ประมาณห้าปี แต่มันยังคง (ตามที่ฉันเขียนนี้) คำตอบ "ยอมรับ" เพราะมันตอบคำถามเมื่อมันถูกถาม

คำตอบที่ใหม่กว่าที่ใช้กับเครื่องมือ Android Studio รุ่นใหม่สามารถดูได้ที่นี่: https://stackoverflow.com/a/35828035/62 - เป็นคำตอบที่ดีสำหรับภาพหน้าจอ หากคุณใช้ Android Studio ให้ข้ามคำตอบ Eclipse ด้านล่าง

คำตอบเดิมบน Eclipse

ฉันค้นหาคำตอบสำหรับคำถามนี้และไม่พอใจกับคำตอบข้างต้น แต่แล้วฉันก็พบคำตอบดังนั้นนี่คือสำหรับการอ้างอิงในอนาคต:

ในการสรุป (และชี้แจง) ใน Eclipse ให้ไปที่ "Debug Configuration" คุณสามารถค้นหาได้ในเมนูแบบเลื่อนลงใต้ไอคอน "debug" เลือก "เป้าหมาย" และเลือกเป้าหมายจำลองที่ต้องการเปิดใช้ จากนั้นภายใต้ "ตัวเลือกบรรทัดคำสั่งตัวจำลองเพิ่มเติม" เพิ่มสิ่งนี้:

- พาร์ทิชันขนาด 1024

จากนั้นปิดอีมูเลเตอร์ (และลบอุปกรณ์ใด ๆ ) แล้วคลิกไอคอน debug ซึ่งจะเปิดอีมูเลเตอร์ที่คุณเลือก สิ่งนี้มีความสำคัญ: Eclipse ต้องเรียกใช้ดีบักเกอร์ไม่ใช่ AVD

ที่แก้ไขปัญหาสำหรับฉัน


8
โปรดทราบว่า "ขนาดพาร์ติชัน" เป็นเมกะไบต์และโดยทั่วไปในการติดตั้ง APK คุณต้องใช้พื้นที่ดิสก์อย่างน้อยสองเท่าของขนาด APK
— Christopher Orr

5
สิ่งที่ควรทราบอีกประการหนึ่ง: คุณต้องคลิกขวาที่โครงการที่คุณต้องการเรียกใช้ใน eclipse -> Run-> Run Configuration-> เลือก Project-> Target -> เลื่อนลง -> เพิ่ม -partition-size 1024 ถึงตัวเลือก Em เพิ่มเติม -> จากนั้นเรียกใช้โครงการจาก eclipse
— SpoiledTechie.com

4
Google ควรเพิ่มพารามิเตอร์คุณสมบัติที่ชัดเจนสำหรับ Android 3.2 หรือ 4.0 แก้ไขปลั๊กอิน Eclipse AVD damn
— peter_pilgrim

การค้นหาที่ดี ... ควรได้รับการเปิดเผยผ่านเครื่องมือ ADT ตัวจำลอง ICS มีค่าเริ่มต้น 60mb เท่านั้น! เป็นไปไม่ได้ที่จะติดตั้ง APK บนสิ่งนอกกรอบ
— ddewaele

1
สำหรับใครก็ตามที่ดูคำตอบที่ยอมรับนี้หลายปีต่อมาอย่างที่ฉันทำคุณอาจต้องการดูstackoverflow.com/a/35828035/62แทน
— Liron Yahdav

90

บน Android Studio

เปิดตัวจัดการ AVD

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่ไอคอนแก้ไขเพื่อแก้ไข AVD

ป้อนคำอธิบายรูปภาพที่นี่

คลิกแสดงการตั้งค่าขั้นสูง

ป้อนคำอธิบายรูปภาพที่นี่

เปลี่ยน Internal Storage, Ram, SD Card ขนาดเท่าที่จำเป็น คลิกเสร็จสิ้น

ป้อนคำอธิบายรูปภาพที่นี่

ยืนยันป๊อปอัพโดยคลิกใช่

ป้อนคำอธิบายรูปภาพที่นี่

ล้างข้อมูลใน AVD และยืนยันป๊อปอัปโดยคลิกใช่

ป้อนคำอธิบายรูปภาพที่นี่

สำคัญ:หลังจากเพิ่มขนาดแล้วหากไม่ได้ขอให้คุณลบข้อมูลโดยอัตโนมัติคุณต้องทำด้วยตนเองโดยเปิดเมนูแบบเลื่อนลงของ AVD แล้วเลือก Wipe Data

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้เริ่มและใช้ Emulator ของคุณด้วยพื้นที่เก็บข้อมูลเพิ่ม


7
การเปลี่ยน "Internal Storage" ไม่ทำอะไรเลยสำหรับฉันก่อนหรือหลังการสร้าง AVD มันมาพร้อมกับ 300MB และคำเตือนพื้นที่ต่ำ
— Travis Christian

3
คุณล้างข้อมูลจากเมนูแบบเลื่อนลงในตัวจัดการ AVD เมื่อคุณเปลี่ยนขนาด
— Cijo

1
ฉันลบ AVD แล้ว แต่มันเกิดขึ้นกับภาพที่ยังไม่เปิดตัวซึ่งเพิ่งเปิดใหม่ ฉันพบในคำถามอื่นว่าเป็นปัญหาของ API บางตัว <23
— Travis Christian

OMG - ขอบคุณสำหรับสิ่งนี้! มันเป็นทางออกเดียวที่ฉันพบว่าใช้งานได้!
— SammyK

2
นี่ควรเป็นคำตอบที่ยอมรับได้และเป็นคำตอบแรกที่ปรากฏ (ไม่ใช่คำตอบที่เกี่ยวข้องกับ Eclipse ดั้งเดิม) ไม่เพียงพอที่จะเปลี่ยนขนาดและเริ่มโปรแกรมจำลอง (แม้เมื่อใช้Cold Boot Now ) กุญแจสำคัญคือคำสั่งWipe Data ขอบคุณ!
— Alex Vang

42

เพิ่มสิ่งต่อไปนี้ใน avd config.ini

disk.dataPartition.size=1024MB

แจ้งให้เราทราบว่าสิ่งนี้เหมาะกับคุณหรือไม่

ฉันเพิ่มในบรรทัด เพิ่มการกำหนดค่าขนาดพาร์ติชันข้อมูล
สกรีนช็อตของ AVD พื้นที่จัดเก็บเพิ่มขึ้น


ใช้งานไม่ได้กับฉันในภาพ 2.3 ฉันยังเห็นที่เก็บข้อมูลภายใน 128MB สำหรับแอพเท่านั้น
— Matthias

1
ฉันสังเกตเห็นว่าใน UI "แก้ไข" ของ AVD Manager การพยายามตั้งค่านี้ด้วยตนเองจะรีเซ็ตเป็น 0 เสมออาจเป็นปัญหาที่เกี่ยวข้องหรือไม่ อาจจะไม่ควรตั้งค่าบน Android บางรุ่น?
— Matthias

2
คุณต้องป้อนค่าเช่น1024MBเมื่อใช้ AVD Manager คุณไม่สามารถเข้า1024มาหาได้ซักพักสักครู่และฉันได้ยืนยันงานนี้แล้ว
— รอนนี่

19

เรียกใช้ตัวจัดการ AVD

เลือก AVD ของคุณแล้วคลิกปุ่ม "รายละเอียด ... "

ในกรณีของฉันผู้จัดการ AVD ตั้งขนาดดิสก์เป็น

disk.dataPartition.size=4000M

ค่าที่ไม่ถูกต้องนี้ดิสก์มีขนาดประมาณ 500MB แม้จะมีการระบุหมายเลขไว้

ไปที่โฟลเดอร์ AVR โดยเส้นทางใน "รายละเอียด AVD"

แก้ไขใน config.ini เป็น

disk.dataPartition.size=4000MB

และลบไฟล์. img ทั้งหมด


2
นี่ควรเป็นคำตอบที่เลือก ใน Android Studio เวอร์ชันปัจจุบัน (3.0.1) คุณสมบัติการตั้งค่าการแก้ไขจะเป็นสีเทาหากคุณใช้ AVD ที่เปิดใช้งาน Google Play สิ่งนี้ใช้ได้ผล ฉันเปลี่ยนอุปกรณ์ทดสอบเป็น 2000MB จาก 400M ลบไฟล์ * .img และ * .qcow2 ทั้งหมด เช็ดข้อมูลใน AVD จากนั้นบูทขึ้นและมีพื้นที่เก็บข้อมูล 2,000 MB
— MLindsay

@MLindsay ฉันเห็นด้วย
— mwa91

แค่ FYI ฉันไม่ต้องลบ * .img หรือไฟล์อื่น ๆ แค่เปลี่ยนค่าใน config.ini ก็เพียงพอแล้ว
— Mohib Sheth

ขอบคุณ! ทำงานสำหรับกรณีของฉัน
— android_dev

10

ฉันกำลังติดตั้ง apk:

adb install /home/me/jones_android-arm.apk

และฉันได้รับข้อความแสดงข้อผิดพลาดบอกฉันว่า

/data/local/tmp/jones_android-arm.apk

ใหญ่เกินไป การใช้เครื่องมือ sdk จาก r15 และ 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ไม่ทำงาน
— Sufian

6

avd manager มีตัวเลือก "ขนาดที่เหมาะสมของพาร์ติชันระบบ" ลองตั้งค่าที่ 1024MB หรือใช้ตัวเลือกการเปิดใช้ commandline ที่ทำเช่นเดียวกัน

ถ้าฉันพบปัญหานี้กับอิมเมจ 4.0 emulator เท่านั้น


กันที่นี่ เมื่อคุณทำเช่นนั้นตรวจสอบให้แน่ใจว่าได้รีสตาร์ทเครื่องจำลองจากสถานะที่สะอาดและไม่ใช่จากภาพรวม
— Manfred Moser

6

เพียงเริ่มต้นโปรแกรมจำลองโดยบรรทัดคำสั่งดังต่อไปนี้:

emulator -avd <your avd name> -partition-size 1024 -wipe-data


3
<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

ไม่แน่ใจว่าทำไมสิ่งนี้ถึงได้รับการโหวต - ได้ผลสำหรับฉันแล้วจึงมีการโหวต :)
— Robert

3

หากต้องการปรับขนาดที่เก็บของตัวจำลอง Android ใน Linux:

1) ติดตั้ง qemu

2) ค้นหาไดเรกทอรีที่มีไฟล์ img ของเครื่องเสมือน มีบางอย่างเช่น ~ / .android / avd / .avd และ cd อยู่

3) ปรับขนาดภาพ ext4: เช่นสำหรับการเติบโตจาก 500Mb ไปเป็น 4Gb execute

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) ปรับขนาดภาพจาก 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 

2

ฉันเป็นผู้เริ่มต้น แต่ฉันมีปัญหานั้นในขณะที่เล่นกับ "Hello Grid View" ฉันพยายามใช้รูปถ่ายของตัวเองซึ่งมีขนาดใหญ่มากในขนาดไฟล์

การแก้ไขอย่างรวดเร็วคือการลดจำนวนรูปภาพซึ่งเป็นการลดขนาดของไฟล์ APK

แต่ฉันเดาคำถามติดตามของฉันสำหรับคนอื่น ๆ ที่เข้ามาที่เธรดนี้: ฉันจะแนบไฟล์ขนาดใหญ่เช่น JPG และ MP3 ไปยังแอพได้อย่างไร


2
ฉันคิดว่าฉันพบคำตอบได้ที่นี่: developer.android.com/guide/topics/resources/index.html ลองใช้ "ทรัพย์สิน" แทน "ทรัพยากร" สำหรับองค์ประกอบขนาดใหญ่ จากหน้า: ทรัพยากรเป็นส่วนสำคัญของแอปพลิเคชัน Android โดยทั่วไปองค์ประกอบเหล่านี้เป็นองค์ประกอบภายนอกที่คุณต้องการรวมและการอ้างอิงภายในแอปพลิเคชันของคุณเช่นรูปภาพ, เสียง, วิดีโอ, สตริงข้อความ, เลย์เอาต์, ธีม ฯลฯ แอปพลิเคชัน Android ทุกรายการจะมีไดเรกทอรีสำหรับทรัพยากร (res /) และไดเรกทอรีสำหรับ สินทรัพย์ (สินทรัพย์ /)

2

คุณต้องเพิ่มหน่วยความจำเสมือนของเครื่องจำลอง

วิธีเพิ่มหน่วยความจำเสมือนของอีมูเลเตอร์

emulator -avd "ชื่อตัวจำลอง" - ขนาดพาร์ติชัน 2024

หลังจากนั้นลองติดตั้ง apk ของคุณ


2

อัปเดตการตั้งค่าของคุณใน AVD Manager และเริ่มอุปกรณ์โดยเปิดใช้งาน 'ล้างข้อมูลผู้ใช้' สิ่งนี้ใช้ได้สำหรับฉัน


1
ในอินเทอร์เฟซ AVD ใหม่คลิกขวาบนบรรทัดอีมูเลเตอร์แล้วเลือกล้างข้อมูลผู้ใช้หลังจากที่คุณเปลี่ยนที่เก็บข้อมูลภายใน
— Tiago Zortéa De Conto

1

ฉันเดาคุณควรรีสตาร์ทอีมูเลเตอร์ด้วย "emulator -wipe-data -avd YourAvdName" หรือทำเครื่องหมาย "Wipe User Data" ในการกำหนดค่าการรันหากคุณใช้ Eclipse

ฉันกำลังเผชิญกับปัญหาเดียวกันในขณะนี้


0

ครั้งเดียวที่ฉันเห็นสิ่งนี้เกิดขึ้นมันก็คือเมื่อระบบไฟล์โฮสต์ออกจากพื้นที่ คุณมีพื้นที่ว่างมากในระบบไฟล์ที่จัดเก็บระบบไฟล์ของ VM หรือไม่?


ฉันมีพื้นที่มากมายในฮาร์ดดิสก์ของฉันฟรี 13GB
— Pentium10

0

มันไม่ใช่คำตอบที่เหมาะสม defenetly แต่มันเป็นคำใบ้เล็ก ๆ น้อย ๆ

หากคุณต้องการใช้ประโยชน์จากไฟล์คงที่ในแอพของคุณ คุณควรทำให้พวกเขาเป็นทรัพยากรหรือเป็นสินทรัพย์ แต่ถ้าคุณมีความกังวลเกี่ยวกับหน่วยความจำต้องการให้ APK ของคุณมีขนาดเล็กคุณต้องเปลี่ยนการออกแบบแอพในแบบที่

แทนที่จะวางไว้เป็นแหล่งข้อมูลในขณะที่เรียกใช้แอพของคุณ (หลังการติดตั้ง) คุณสามารถนำไฟล์ต่าง ๆ ไปใช้เพื่อป้องกันไฟล์ต่าง ๆ เนื่องจากผู้ใช้อาจไม่เก็บไฟล์ที่คุณต้องการจาก SD Card สำหรับ U นี้สามารถใช้ ContentResolver เพื่อรับไฟล์เสียง, ไฟล์ภาพตามที่ผู้ใช้เลือก

ด้วยวิธีนี้คุณสามารถมอบคุณสมบัติอื่นให้กับผู้ใช้เช่นเขาสามารถโหลดไฟล์เสียง / ภาพไปยังแอพได้ตามต้องการ


0

คุณสามารถเริ่มต้นได้เมื่อเลือกหนึ่งรายการจากต้นไม้ซ้าย "อุปกรณ์เสมือน" ในกล่องโต้ตอบตัวจัดการ AVD บนแพลตฟอร์มของ eclipse UI เริ่มต้นมีตัวเลือก "ล้างข้อมูลผู้ใช้"


0

วิธีการต่อไปนี้ได้ผลสำหรับฉัน

  1. นำทางไปยังโฟลเดอร์ SDK / tools ของ Android ในหน้าต่างเทอร์มินัล (ในกรณีที่คุณไม่ได้เพิ่มพา ธ )

  2. ตรวจสอบให้แน่ใจว่าอุปกรณ์เสมือนที่คุณวางแผนจะล้างนั้นปิดอยู่

  3. รันคำสั่ง "./emulator -wipe-data -avd YourAvdName" โดยที่ YourAvdName เป็นชื่อของอุปกรณ์ Android เสมือนของคุณ


-2

ลองเลือกโครงการ -> ทำความสะอาด ทำความสะอาดง่ายอาจแก้ไขได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.