¿Cómo construyo parcialmente el código fuente de Android?
He estado modificando VM de Dalvik y me preguntaba si hay una manera que puedo construir solamente VM de Dalvik del código de fuente androide.
Si puedo construir Dalvik VM por separado, entonces ¿cómo puedo agregar la VM Dalvik modificado al sistema Android?
Gracias por adelantado
Una vez que haya hecho la compilación inicial (estoy asumiendo que ha seguido los pasos descritos aquí: http://source.android.com/source/building.html ), puede construir sólo la VM de Dalvik haciendo
$ make libdvm
Cuando la construcción se hace, verá algo de salida cerca que se ve algo así
Install: out/target/product/generic/system/lib/libdvm.so
Esta es la nueva VM de Dalvik (o más específicamente, la biblioteca en la que se implementa la VM de Dalvik). La última parte de la ruta de salida es donde se espera el archivo instalado, en este caso /system/lib/libdvm.so
. Para instalar su nueva VM, primero asegúrese de que es root y vuelva a montar la partición del sistema
$ adb root adbd is already running as root $ adb remount remount succeeded
Ahora puede empujar la nueva VM al sistema:
$ adb push out/target/product/generic/system/lib/libdvm.so /system/lib/libdvm.so
Tenga en cuenta que si ejecuta el emulador, este cambio no es permanente, ya que el emulador vuelve a cargar system.img
cada vez que se inicia. En un dispositivo sin embargo, el cambio será permanente. Además, dado que Android precarga un proceso llamado Zygote que más tarde se utiliza para forzar procesos de aplicación, es necesario reiniciar el sistema para que la nueva VM se utilice en aplicaciones
$ adb reboot
De hecho, puede reconstruir prácticamente todos los componentes de Android de esta manera. Los pasos generales son
- Busque
Android.mk
en el árbol de origen del componente que desea reconstruir - Busque el nombre del módulo. En el caso de la VM de Dalvik, la línea se ve así:
LOCAL_MODULE := libdvm
-
libdvm
el nombre del módulo, que eslibdvm
para Dalvik VM - El archivo construido se anunciará en la salida de la compilación e iniciará con
Install:
En el caso de la VM de Dalvik, esto esInstall: out/target/product/generic/system/lib/libdvm.so
-
adb root
yadb remount
, a continuación,adb push
el archivo construido a un sistema Android en ejecución. La ruta de destino es la última parte de la ruta del archivo de salida, que en el caso de dalvik es/system/lib/libdvm.so