Una vez que han hecho la acumulación inicial (estoy asumiendo que usted ha seguido los pasos descritos aquí: http://source.android.com/source/building.html), se puede construir sólo la máquina virtual Dalvik haciendo
$ make libdvm
Cuando la acumulación se realiza, verá una cierta salida cerca que se ve algo así como
Install: out/target/product/generic/system/lib/libdvm.so
Ésta es la nueva construcción Dalvik VM (o más específicamente, t la biblioteca en la que se implementa la VM 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 la nueva máquina virtual, asegúrese primero que sea root y luego volver a montar la partición del sistema
$ adb root
adbd is already running as root
$ adb remount
remount succeeded
ahora se puede empujar la nueva máquina virtual para el 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. Sin embargo, en un dispositivo, el cambio será permanente. Además, dado que Android precarga un proceso llamado cigoto que posteriormente se utiliza para desembolsar los procesos de aplicación, es necesario reiniciar el sistema para que la nueva máquina virtual puede utilizar en aplicaciones
$ adb reboot
En realidad se puede reconstruir componentes prácticamente todos los Android de este modo . Los pasos generales son
- Encuentra
Android.mk
en el árbol de código fuente para el componente que desea reconstruir
- Encuentra el nombre del módulo. En el caso de la máquina virtual Dalvik, la línea tiene este aspecto:
LOCAL_MODULE := libdvm
make
el nombre del módulo, que es libdvm
para la máquina virtual Dalvik
- El archivo construida será anunciada en la salida de la construcción y puesta en
Install:
. En el caso de la VM Dalvik, esto es Install: out/target/product/generic/system/lib/libdvm.so
adb root
y adb remount
, luego adb push
el archivo creado en 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