如何部分构建Android源代码?
问题描述:
我一直在修改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