Android · Recetas

Modificación del system.img del emulador android para arquitectura ARM

Android Emulator
Los ficheros system.img que utiliza el emulador de Android para arquitecturas ARM están en formato YAFFS2. Si queremos modificar dichas imágenes para incluir, por ejemplo, las Google Apps, podemos seguir los siguientes pasos para desempaquetar/modificar/reempaquetar dicha imagen.

Preparación

Antes de nada, necesitamos tener en nuestro sistema un par de herramientas:

Extracción de system.img

~/work/redo_system$ cp $ANDROID_HOME/add-ons/addon-google_apis-google_inc_-14/images/armeabi-v7a/* .
~/work/redo_system$ mkdir unpacked
~/work/redo_system$ cd unpacked/
~/work/redo_system/unpacked$ unyaffs ../system.img

Modificación/Inclusión de aplicaciones

~/work/redo_system/unpacked$ cd app
~/work/redo_system/unpacked/app$ cp ~/work/gapps-jb-20121011-signed/system/app/Phonesky.apk .
~/work/redo_system/unpacked/app$ cp ~/work/gapps-jb-20121011-signed/system/app/GoogleServicesFramework.apk .
~/work/redo_system/unpacked/app$ cp ~/work/gapps-jb-20121011-signed/system/app/GoogleLoginService.apk .

Reconstrucción de system.img

~/work/redo_system/unpacked/app$ cd ../..
~/work/redo_system$ rm system.img
~/work/redo_system$ mkyaffs2image unpacked system.img

Apuntar nuestro AVD a nuestra nueva imágen


~/work/redo_system$ nano ~/.android/avd/jb.avd/config.ini
image.sysdir.1=/home/rubensa/work/redo_system/

NOTA: Al usar esta nueva versión de system.img en el emulador es conveniente eliminar los archivos cache.img, userdata.img y userdata-qemu.img del AVD ya que estos podrían no ser ya compatibles con la nueva imagen del sistema.

vía