วิธีแก้ปัญหา:“ ไม่สามารถผลักดันสิ่งที่เลือก: หน่วยความจำไม่เพียงพอ”


11

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

ฉันทำขั้นตอนต่อไปนี้แล้ว:

  1. เรียกใช้ Eclipse
  2. ลุยเลย: Window -> Open Perspective -> Other ...
  3. เลือกDDMSจากกล่องโต้ตอบที่เปิด
  4. เลือกแท็บ" File explorer "
  5. กด " Push a file to device " และเลือกไลบรารี่ที่ฉันต้องการจะส่ง

    ไม่สามารถผลักดันการเลือก: ระบบไฟล์แบบอ่านอย่างเดียว

  6. ย่อขนาดหน้าต่างที่เปิดอยู่ทั้งหมดให้เล็กสุดและเปิด Command Line
  7. เขียน: cd C: \ android \ android-sdk-windows \ platform-toolsป้อน
  8. เขียน: ป้อนนับใหม่อับดุล

    คุณจะเห็นการติดตั้งใหม่ที่ประสบความสำเร็จ

  9. ขยาย Eclipse ให้ใหญ่สุดและลองขั้นตอนที่ 5

    ไม่สามารถผลักดันการเลือก: หน่วยความจำไม่เพียงพอ

เกิดข้อผิดพลาด! จะทำอย่างไรเพื่อแก้ไขปัญหานี้ ... โปรดช่วยด้วย

ADDED

1) เมื่อฉันเขียน ADB SHELL MOUNT:

rootfs / rootfs ro 0 0 
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0 
none /acct cgroup rw,cpuacct 0 0 
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0 
tmpfs /mnt/obb tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0 
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 
/dev/block/vold/179:0 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0

2) Shel Prompt เริ่มต้นด้วย: #


2
คำถามพัฒนาได้รับการพิจารณาปิดหัวข้อที่นี่ตามที่เราคำถามที่พบบ่อย
newuser

ฉันอ่านคำว่า "Eclipse" ดังนั้นฉันจึงลงคะแนนให้ปิด แต่ตอนนี้ฉันอ่านส่วนที่เหลือของโพสต์และโพสต์ที่เชื่อมโยงฉันเริ่มคิดว่านี่เป็นตัวอย่างที่ดีของคำถามที่คุณได้รับขณะพัฒนาแอปพลิเคชันที่ ไม่ใช่คำถามพัฒนา ฉันไม่สามารถถอนการโหวตอย่างใกล้ชิดของฉันได้ แต่ฉันสามารถเตือนผู้อื่นได้ว่าจะไม่ทำการโหวตอย่างรวดเร็ว
Lie Ryan

ฉันเห็นด้วยกับ @Lie ว่านี่เป็นพื้นที่สีเทา ฉันพูดแบบนี้น่าจะเปิดอยู่ตอนนี้
เบียร์

@ViTo Brothers Apoyan: ฉันมีคำถามสองข้อ 1) คุณมีเอาต์พุตอะไรเมื่อคุณทำadb shell mount(สิ่งนี้จะให้ระบบไฟล์ทั้งหมดที่ติดตั้งในอุปกรณ์และตัวเลือกการเมานท์) 2) เมื่อคุณทำadb shellเชลล์พร้อมต์เริ่มต้นด้วย#(ซึ่งบ่งบอกว่าคุณรูท) หรือ$(ซึ่งระบุว่าคุณไม่ได้รูท)?
Lie Ryan

คุณติดแท็กคำถามนี้ด้วย android-x86, android-x86 ! = android emulator ที่ทำงานบนเครื่องโฮสต์ x86 คุณใช้ android-x86 จริงหรือเป็นอีมูเลเตอร์ปกติหรือไม่?
Lie Ryan

คำตอบ:


12

เรียกใช้อีมูเลเตอร์จากบรรทัดคำสั่งเพื่อให้คุณสามารถระบุ/systemขนาดพาร์ติชันโดยใช้-partition-size <MB>ตัวเลือก ตัวอย่างเช่นฉันใช้สิ่งนี้เพื่อเรียกใช้โปรแกรมจำลองการทำงานที่ใช้ Android 1.6 พร้อมกับ/systemพาร์ติชัน 512 MB:

emulator -avd Donut -partition-size 512

... โดยที่ "Donut" เป็นสิ่งที่คุณตั้งชื่อ AVD ของคุณ (คุณสามารถเช็คอินที่ผู้จัดการ AVD ของ Eclipse ได้หากคุณต้องการ) emulatorไบนารีควรจะอยู่ในของคุณtools/ไดเรกทอรีภายใน SDK ของคุณติดตั้งซึ่งสำหรับคุณดูเหมือนจะเป็นC:\android\android-sdk-windows\toolsเพื่อให้แน่ใจว่าคุณcdลงในไดเรกทอรีที่แรก (หรือเพิ่มเข้าไปในระบบของคุณ%Path%)

Eclipse อาจไม่สามารถรับโปรแกรมจำลองได้ทันทีหรืออาจรู้จักและจากนั้นให้ยกเลิกการเชื่อมต่อ หากสิ่งใดสิ่งหนึ่งเกิดขึ้นให้คลิกเมนูมุมมองบนแท็บอุปกรณ์ (ลูกศรเล็ก ๆ ถัดจากปุ่มย่อขนาดเล็กสุด) และเลือก "รีเซ็ต adb" เพื่อรับการเชื่อมต่อกลับ

เมื่อมันปรากฏในอุปกรณ์ของคุณทำสิ่งที่คุณพยายามทำก่อนหน้านี้ รันadb remountเพื่อรับ/systemพาร์ติชันในโหมดอ่าน - เขียนจากนั้นใช้ Eclipse เพื่อดันไฟล์ทุกที่ที่คุณต้องการ ฉันทดสอบกับไฟล์สุ่มสองสามนาทีที่ผ่านมาและสามารถผลักดันให้พวกเขา/system/xbinโดยไม่มีปัญหา

สำหรับการอ้างอิงนี่คือขนาดพาร์ติชันและการใช้งาน/systemบนตัวจำลองโดนัทของฉันเมื่อฉันระบุพาร์ติชัน 512 MB:

> adb shell df
...
/system: 508416K total, 61332K used, 447084K available (block size 4096)
...

แต่นี่คือลักษณะถ้าฉันเปิดตัวโดยไม่ระบุขนาด:

> adb shell df
...
/system: 65536K total, 61204K used, 4332K available (block size 4096)
...

นอกจากนี้คุณสามารถตั้งค่าตัวเลือกบรรทัดคำสั่งในการกำหนดค่าการทำงานของแอปพลิเคชันของคุณผ่าน Eclipse หากคุณต้องการ เข้าไปในเปอร์สเปคทีฟของ Java จากนั้นเลือกRun->Run Configurationsจากแถบเมนู เลือกแอปพลิเคชันของคุณในบานหน้าต่างด้านซ้ายแล้วเลือกแท็บ "เป้าหมาย" ที่ด้านล่างเป็นกล่องข้อความชื่อ "ตัวเลือกเพิ่มเติมของบรรทัดคำสั่ง Emulator เพิ่มเติม" และคุณสามารถเพิ่มลง-partition-size <MBs>ในกล่องข้อความเพื่อให้โปรแกรมจำลองเปิดตัวเมื่อคุณเรียกใช้แอปพลิเคชันของคุณจะมี/systemพาร์ติชันที่ใหญ่กว่า

หมายเหตุ: คุณอาจต้องเพิ่ม-no-snapstorageตัวเลือกอื่นหรือตัวเลือกอื่นเพื่อปิดการโหลดสแน็ปช็อตที่มีอยู่ไปยังบรรทัดคำสั่ง มันไม่ทำงานถ้าไม่มีมันสำหรับฉัน


ขอบคุณมากการแข่งขัน !!! คุณแก้ปัญหาของฉัน !!! ขอบคุณมาก !!!!!!!
ViTo Brothers Apoyan

0

วิธีที่ง่าย: รีสตาร์ทโทรศัพท์ของคุณในโหมดการกู้คืนกว่าติดตั้งระบบ ตอนนี้คุณสามารถพุชไฟล์ได้โดยไม่มีปัญหา


ฉันคิดว่าคุณพลาดสาย/dev/block/mtdblock0 /system yaffs2 rw 0 0ในคำถามหรือไม่ ดังนั้นสิ่งที่ควรเปลี่ยนเมื่อคุณติดตั้งจากการกู้คืน? เต็มเต็มคุณจะไม่ได้รับพื้นที่เพิ่มเติมในระบบไฟล์แบบเต็มโดยติดตั้ง "จากที่อื่น"
Izzy

-2

วิธีแก้ปัญหา:“ ไม่สามารถผลักดันสิ่งที่เลือก: หน่วยความจำไม่เพียงพอ”

ในขณะที่สร้างอุปกรณ์เสมือน Android (AVD) ใหม่ .. บนแท็บ SD CARD ให้พิมพ์ค่าบางส่วน (100) เป็น MB

ได้ผลจริงสำหรับฉัน !!


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