Как запустить прошивку от Hero в эмуляторе (способ подходит как под родные так и кастомные (чуть больше возиться прийдется)):
Может кто знает способ попроще, буду рад услышать
Сразу всем предупреждение - делалось на
Linux, искать каким образом правильно расставлять (сохранять) права под Windows у меня нет желания, если кто знает - дополняйте.
Для начала нам понадобятся
1. Родная прошивка от Hero в виде exe. (или ту которую вы хотите запустить) Взять можно в соседней теме.
2. Прошивка update-cm-3.6.5-signed.system.img.zip или любая другое откуда можно взять каталоги /xbin /modules и файлы /bin/qemud /build.prop /init.rc
3. Утилиты mkfs.yaffs2.x86, unpack-bootimg, unyaffs.
4. SDK 1.6
Собственно приступим:
1. Для родной прошивки - запускаем прошивку в exe под wine, в винде на соседнем компе, в общем нам нужен файл rom.zip который эта прошивка распакует в Temp. Внимание!!! Файл нужно скопировать куда-нибудь так как при закрытии прошивка стирает все свои временные файлы.
2. Распаковываем rom.zip. Оттуда нам нужны boot.img, system.img (может называться system_rel.img). С помощью unyaffs - system.img распаковываем в отдельный каталог. (создаем допустим system.hero, копируем туда system.img и unyaffs и запускаем unyaffs system.img, после чего удаляем unyaffs и system.img) Делать под root-ом что бы не слетели права. Дальше этот образ буду называть hero.
3. Распаковываем update-cm-3.6.5-signed.system.img.zip в другой каталог. С помощью unyaffs, распаковываем system.img (так же как в предыдущем пункте только в другой папке system.source допустим), так же делем это подо root-ом. Дальше это буду называть source.
4. В source находим и копируем каталоги /xbin /modules и файлы /bin/qemud /build.prop /init.rc в hero.
5. С помощью mkfs.yaffs2.x86 запаковываем hero в system.img.
6. Распаковываем boot.img из прошивки с помощью unpack-bootimg на ядро и ramdisk.img. Распаковываем с помощью cpio ramdisk.img из прошивки и из sdk в разные каталоги.
7. Копируем в ramdisk sdk init.hero.rc из ramdisk прошивки hero, и исправляем в init.rc ramdisk sdk - параметр export BOOTCLASSPATH
что бы он соответствовал тому что в init.rc ramdisk из прошивки Hero.
8. Запаковываем с помощью cpio.
9. Если вам не нужна оригинальные образы из sdk, то можете пропустить этот пункт. Копируем папку platform/android-1.6 из SDK в platform/android-1.6.1. В файле build.prop этой папки изменитиь все 1.6 на 1.6.1.
10. Скопировать файлы (ramdisk.img и system.img) из пунктов 5 и 8 в platforms/android-1.6.1/images (или просто 1.6 кто не делал копию) с заменой существующих.
11. Создаем новую цель adnroid avd create -t (номер цели 1.6.1 или 1.6 если не копировали, получить можно android list) -n new.
12. Запускаем emulator -avd new -partition-size 256 -skin HVGA -noaudio -memory 256
-noadio - у меня на двух компах из трех сегфолтился по какой-то причине искать не стал, просто отключил... После этого загрузился.
PS. Возможно есть способы и попроще - однако у меня получилось так. Задавайте вопросы - поправлю неясные вещи. Как минимум 2 человека кроме меня - делавшие по этой схеме запустили.