Як вирішити: "Не вдалося натиснути вибір: не в пам'яті"


11

Я створюю статтю з переповненням стека . Але знайшовши цей сайт, я вирішу задати тут те саме питання, бо мені ще потрібна ваша допомога.

Я зробив такі кроки:

  1. Запустіть затемнення
  2. Перейдіть до: Вікно -> Відкрита перспектива -> Інше ...
  3. Виберіть DDMS у відкритому діалоговому вікні
  4. Виберіть вкладку " Провідник файлів ".
  5. Натисніть " Натисніть файл на пристрій " і виберіть бібліотеку, яку я хочу натиснути.

    Не вдалося натиснути вибір: файлова система лише для читання

  6. Мінімізуйте всі відкриті вікна та відкрийте командний рядок
  7. Запис: CD C: \ Android \ Android , СДК-Windows \ платформні інструменти введення
  8. Написати: abd reount enter

    Ви побачите перерахунок успішним

  9. Максимізуйте затемнення та спробуйте крок 5.

    Не вдалося натиснути вибір: не в пам'яті

Помилка з’являється! Що робити, щоб вирішити цю проблему ... Будь ласка, допоможіть.

ДОБАВЛЕНО

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 починається з: #


2
Питання щодо розробки тут вважаються позатематичними відповідно до нашого FAQ .
newuser

Я прочитав слово "Eclipse", тому я проголосував за те, щоб закрити, але тепер, коли я прочитав решту публікації та пов'язаний пост, я починаю думати, що це хороший приклад питань, які ви отримуєте під час розробки програми, яка насправді не питання розвитку. Я не можу відмовитись від свого близького голосування, але можу попередити інших людей не так швидко голосувати.
Лежать Раян

Я погоджуюся з @Lie, що це сіра зона. Я кажу, що це повинно залишатися відкритим поки що.
але

@ViTo Brothers Apoyan: У мене є два питання 1) Який у вас результат, коли ви робите adb shell mount(це дасть вам усі файлові системи, встановлені в пристрої, та їх параметри кріплення)? 2) коли ви робите adb shell, чи починає запит оболонки #(що вказує, що ви root) або $(що вказує, що ви не root)?
Лежати Райан

Ви також позначили це питання Android-x86, android-x86 ! = емулятор Android, що працює на хост-машині x86. Ви фактично використовуєте android-x86 або просто звичайний емулятор?
Лежати Райан

Відповіді:


12

Запустіть емулятор з командного рядка, щоб ви могли вказати /systemрозмір розділу за допомогою -partition-size <MB>параметра. Наприклад, я використовую це для запуску емулятора під керуванням Android 1.6 з /systemрозділом 512 Мб:

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мого емулятора Donut, коли я вказую розділ 512 Мб:

> 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на панелі меню. Виберіть свою програму на лівій панелі та виберіть вкладку "Ціль". У нижній частині знаходиться текстове поле з написом "Додаткові параметри командного рядка емулятора", і ви можете додати -partition-size <MBs>до цього текстового поля, щоб емулятор, запущений під час запуску програми, мав більший /systemрозділ.

Примітка. Можливо, вам доведеться додати також -no-snapstorageі інші параметри, щоб вимкнути завантаження існуючого снафота до командного рядка. Без мене це не вийшло.


Дуже вам дякую !!! Ви вирішуєте мою проблему !!! дуже дякую !!!!!!!
брати ViTo Апоян

0

Найпростіший спосіб: перезавантажте телефон у режимі відновлення, ніж змонтуйте System. Тепер ви можете без проблем натиснути файл.


Я припускаю, що ви пропустили рядок /dev/block/mtdblock0 /system yaffs2 rw 0 0у питанні? Отже, що має змінитися, коли ви змонтуєте його після відновлення? Full є повним, ви не отримуєте додаткового місця в повному файловому системі, монтуючи його "з іншого місця".
Izzy

-2

Як вирішити: "Не вдалося натиснути вибір: не в пам'яті"

Під час створення нового віртуального пристрою для Android (AVD) .. на вкладці SD CARD введіть деяке значення (100) у МБ.

Дійсно, це працює для мене !!


1
Це неправильно. Створення віртуальної SD-карти не допоможе вам підштовхувати файли до /systemрозділу, як задається питанням. Вони абсолютно не пов'язані між собою сховищами.
eldarerathis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.