Мне нужно выполнить странное задание. Я хочу переместить всю систему Android на внешнюю SD-карту на виртуальном устройстве Android. Мне нужно это сделать, потому что эмулятор Android эмулирует команды SD только для образа внешней карты. И я хочу получить трассировку команд SD во время использования виртуального устройства Android.
Если быть более точным: я хочу переместить как минимум папки /system и /data на внешнее хранилище. Таким образом, эта система все еще может нормально работать =)
Спасибо!
Чтобы переместить некоторые из системных папок (/system или /data) на внешнюю эмулируемую SD-карту, вам необходимо сделать следующее:
($EMUPATH/system-images/android-19/armeabi-v7a/userdata.img)
содержимое userdata.img в sdcard.iso
.$> dd if=userdata.img of=sdcard.iso
fstab.goldfish
файл в формате ramdisk.img
. Если это Android 4.4 AVD, то его ramdisk.img
также можно найти по адресу$EMUPATH/system-images/android-19/armeabi-v7a/
$ mkdir ramdisk-ext
$ cd ramdisk-ext
$ gunzip -dcv ../ramdisk.img | cpio -idm
$ gedit fstab.goldfish
следующим образом:
"/dev/block/mtdblock1 /data ..."
до"/dev/block/mmcblk0 /data ..."
$ find . | cpio -H newc -o | gzip -9 >../ramdisk_new.img
$ ./emulator -avd $AVDNAME -sdcard sdcard.iso -ramdisk $EMUPATH/system-images/android-19/armeabi-v7a/ramdisk_new.img
PS Обратите внимание, что в этом примере вы можете переместить только одну из таких папок (/system или /data). Возможно, это можно изменить, создав образ SD-карты с несколькими разделами.