2011-11-23 16 views

risposta

12

Una volta che hanno fatto la build iniziale (Io parto dal presupposto di aver seguito la procedura descritta qui: http://source.android.com/source/building.html), è possibile costruire solo la Dalvik VM facendo

$ make libdvm 

Quando la build è fatto, si vedrà un output vicino che sembra qualcosa di simile

Install: out/target/product/generic/system/lib/libdvm.so 

Questa è la nuova costruzione Dalvik VM (o più specificamente, t la biblioteca in cui è implementata la VM Dalvik). L'ultima parte del percorso è dove è previsto il file installato, in questo caso /system/lib/libdvm.so. Per installare la nuova VM, prima controllare che sia root e quindi rimontare la partizione di sistema

$ adb root 
adbd is already running as root 
$ adb remount 
remount succeeded 

ora si può spingere la nuova VM per il sistema:

$ adb push out/target/product/generic/system/lib/libdvm.so /system/lib/libdvm.so 

Si noti che se si esegue l'emulatore, questo cambiamento non è permanente, poiché l'emulatore ricarica system.img ogni volta che si avvia. Su un dispositivo, tuttavia, il cambiamento sarà permanente. Inoltre, dal momento che Android precarica un processo chiamato zigote che viene poi utilizzato per sborsare i processi di applicazione, è necessario riavviare il sistema per rendere la nuova VM essere utilizzato in applicazioni

$ adb reboot 

Si può effettivamente ricostruire componenti praticamente tutti Android in questo modo . I passi generali sono

  1. Trova Android.mk nella struttura di origine per il componente che si desidera ricostruire
  2. Trova il nome del modulo. Nel caso della Dalvik VM, la linea è simile al seguente: LOCAL_MODULE := libdvm
  3. make il nome del modulo, che è libdvm per Dalvik VM
  4. Il file incorporato sarà annunciato nell'output Costruire e avviare con Install:. Nel caso di Dalvik VM, questo è Install: out/target/product/generic/system/lib/libdvm.so
  5. adb root e adb remount, quindi adb push il file creato su un sistema Android in esecuzione. Il percorso di destinazione è l'ultima parte del percorso del file out, che nel caso di dalvik è /system/lib/libdvm.so
Problemi correlati