我一直在修改Dalvik虛擬機,我想知道是否有一種方法可以從android源代碼構建Dalvik虛擬機。如何部分構建Android源代碼?
如果我可以單獨構建Dalvik VM,那麼如何將修改的Dalvik VM添加到Android系統?通過做
$ make libdvm
時,您只需構建Dalvik虛擬機:
在此先感謝
我一直在修改Dalvik虛擬機,我想知道是否有一種方法可以從android源代碼構建Dalvik虛擬機。如何部分構建Android源代碼?
如果我可以單獨構建Dalvik VM,那麼如何將修改的Dalvik VM添加到Android系統?通過做
$ make libdvm
時,您只需構建Dalvik虛擬機:
在此先感謝
一旦你已經完成了初始版本(http://source.android.com/source/building.html我假設你已經按照這裏描述的步驟)構建完成後,你會看到一些輸出附近,看起來像
Install: out/target/product/generic/system/lib/libdvm.so
這是新建成的Dalvik虛擬機(或者更具體地說,T他在其中實現Dalvik虛擬機的庫)。輸出路徑的最後一部分是安裝文件的預期位置,在這種情況下爲/system/lib/libdvm.so
。要安裝新的VM,首先確保你是根,然後重新安裝系統分區
$ adb root
adbd is already running as root
$ adb remount
remount succeeded
你現在可以推新虛擬機系統:
$ adb push out/target/product/generic/system/lib/libdvm.so /system/lib/libdvm.so
請注意,如果你運行模擬器,此更改不是永久性的,因爲每次啓動時模擬器都會重新加載system.img
。但是,在設備上,更改將是永久性的。此外,由於Android預裝一個叫做受精卵的過程,以後用於派生應用程序,您需要重新啓動系統,使新的虛擬機內的應用
$ adb reboot
實際上,你可以重建幾乎所有的Android組件這樣。一般的步驟是
Android.mk
。在Dalvik虛擬機的情況下,行是這樣的:LOCAL_MODULE := libdvm
make
模塊的名稱,這是libdvm
的Dalvik虛擬機Install:
開始。在Dalvik VM的情況下,這是Install: out/target/product/generic/system/lib/libdvm.so
adb root
和adb remount
,然後adb push
構建文件到一個運行的Android系統。目標路徑是out文件路徑的最後一部分,在達爾維克的情況下爲/system/lib/libdvm.so