android源码开发笔记

关于android的build系统,这篇文章写的不错,给出链接--http://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/

关于android的嵌入式开发讲解,这位大神讲的不错,给出链接----http://blog.csdn.net/mr_raptor/article/details/30112257


Android系统编译完后,在out/target/product/generic/目录下产出了三个文件:system.imgramdisk.imguserdata.img

  • system.imgandroid系统的文件系统,里面包含了android系统的应用程序(apk),系统用到的各种库(jar, so)和资源,配置文件(etc目录下),系统命令(bin,usr/bin, xbin),该映像文件是由out/target/product/generic/system目录打包生成的,我们可以对这个目录里的东西进行定制化,比如,你要想让android系统默认安装一个应用程序,那么可以将要安装的apk文件拷贝到out/target/product/generic/system/app目录下
  •  userdata.img:用户数据映像,里面包含有程序安装信息等,好比如是windowsC:/Program Files/目录
  • ramdisk.img:内存磁盘映像。linux内核启动起来,要挂载一个文件系统作为自己的根文件系统,里面含有Linux内核启动过程中依赖的一些程序和配置文件ramdisk.img就是一个最小化的根文件系统,它被加载到内存中作为Android的根文件系统。该映像是由out/target/product/generic/root目录打包生成的。前面所述的userdata.imgsystem.img映像,在linux系统启动起来后挂载到ramdisk.img中的datasystem目录下。

其实,Android手机的ROM包(通常为update.zip文件),就是主要由上述三个映像文件构成的:

ROM包文件

说明

android-info.txt

ROM版本及刷写配置信息

boot.img

Linux内核zImageramdisk.img

system.img

Android系统映像

userdata.img

用户数据映像

其它映像


由于完全编译Android系统耗时很长,并且Android源码由很多模块组成,我们可以通过下面一些编译命令来减少编译时间:

编译命令

说明

make snod

打包生成system.img,不检查依赖关系 

make bootimage

打包生成ramdisk.img 

mmm

指定编译某个目录下的模块

上述三个命令经常在我们源码开发时使用,希望大家记住。


android在framework层实现全屏的方法:

找到framework/base/core/res/res/values/dimens.xml,在其中把Navigation的配置改成0

    <!-- Height of the bottom navigation / system bar. -->
    <dimen name="navigation_bar_height">0dp</dimen>
    <!-- Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height -->
    <dimen name="navigation_bar_height_landscape">0dp</dimen>
因为这个改动只修改了framework的资源文件,编译内核,获取framework-res.apk(./out/target/product/g18ref/system/framework/) , adb push到手机的/system/framework(在这个目录下能看到原有的framework-res.apk),然后reboot就发现没有虚拟导航键了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值