第四章读书笔记

时间:2021-05-05 19:18:33

编译Android源码之后,在out/target/product/generic一些文件:
ramdisk.img、system.img、userdata.img、 system、 data、root其中,system.img是由 system打包压缩得到的, userdata.img是由 data打包压缩得到的。

ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk.img里的文件跟root文件夹的文件基本一样。
模拟器装载ramdisk.img并解压到内存,接着分别把system.img和userdata.img挂载到 ramdisk下的system和data目录。我们编译出来的应用程序就是放在system/app下的。用户安装的程序则是放在data/app下。

Android SDK提供有很多工具,如adb,ddms,emulator,aapt等,并提供kernel-qemu、ramdisk.img、 
system.img、userdata.img。因此,只要有android SDK,我们就可以在模拟器上把android跑起来。
Android源码可以编译出android SDK、adb等工具、android文件系统,以及ADT插件,也就是说,我们可以从android源码编译出所有android相关的东西。

Android SDK和eclipse的安装以及android开发环境建Android工具链比较完善,需要外部的工具比较少。具体的安装过程可参考官方文档或<<android模拟器在Ubuntu8.10的安装>>和<<android源码的编译>>。
这里需要注意的是,用”make”来编译Android源 码时,我们可以使用JDK5或JDK6;用”make 
sdk”来编译时,会用到javadoc来生成文档,javadoc就必须使用JDK5的javadoc,否则编译是通不过的。因此,我们可以把JDK5 
和JDK6都装上,然后只把javadoc和javadoc.1.gz指向JDK5相应的工具,其它工具还是用JDK的。当然,我们可以只安装JDK5 或只用JDK5的工具。