
一 首先在Android源代码目录下的build目录下,有个脚本文件envsetupsh,执行这个脚本文件后,就可以获得一些有用的工具:
USER-NAME@MACHINE-NAME:~/Android$ /build/envsetupsh
注意,这是一个source命令,执行之后,就会有一些额外的命令可以使用:
- croot: Changes directory to the top of the tree
- m: Makes from the top of the tree
- mm: Builds all of the modules in the current directory
- mmm: Builds all of the modules in the supplied directories
- cgrep: Greps on all local C/C++ files
- jgrep: Greps on all local Java files
- resgrep: Greps on all local res/xml files
- godir: Go to the directory containing a file
这些命令的具体用法,可以在命令的后面加-help来查看,这里我们只关注mmm命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。
二 使用mmm命令来编译指定的模块,例如Email应用程序:
USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/
编译完成之后,就可以在out/target/product/generic/system/app目录下看到Emailapk文件了。Android系统自带的App都放在这具目录下。另外,Android系统的一些可执行文件,例如C编译的可执行文件,放在out/target/product/generic/system/bin目录下,动态链接库文件放在out/target/product/generic/system/lib目录下,out/target/product/generic/system/lib/hw目录存放的是硬件抽象层(HAL)接口文件,后面的文章里面,我们会陆续提及到,敬请关注。
三 编译好模块后,还要重新打包一下systemimg文件,这样我们把systemimg运行在模拟器上时,就可以看到我们的程序了。
USER-NAME@MACHINE-NAME:~/Android$ make snod
四 参照Ubuntu上下载、编译和安装Android最新源代码一文介绍的方法运行模拟器:
USER-NAME@MACHINE-NAME:~/Android$ emulator
这样一切就搞定了。
1、Android的文件系统结构是怎样的,我们安装的程序放在那里?
编译Android源码之后,在out/target/product/generic一些文件:
ramdiskimg、systemimg、userdataimg、 system、 data、root
其中, systemimg是由 system打包压缩得到的, userdataimg是由 data打包压缩得到的。
ramdiskimg是模拟器的文件系统,把ramdiskimg解压出来可知道,ramdiskimg里的文件跟root文件夹的文件基本一样。模拟器装载ramdiskimg并解压到内存,接着分别把systemimg和userdataimg挂载到 ramdisk下的system和data目录。我们编译出来的应用程序就是放在system/app下的。用户安装的程序则是放在data/app下。
2、Android SDK和android源码能为我们提供什么工具?
AndroidSDK提供有很多工具,如adb,ddms,emulator,aapt等,并提供kernel-qemu、ramdiskimg、systemimg、userdataimg。因此,只要有android SDK,我们就可以在模拟器上把android跑起来。
Android源码可以编译出android SDK、adb等工具、android文件系统,以及ADT插件,也就是说,我们可以从android源码编译出所有android相关的东西。
3、 把Android源 码”make”之后会生成许多工具和android文件系统(systemimg等),我们又可以使用“makesdk”来生成android SDK,android
SDK也包括有工具和android文件系统(systemimg等),而原来安装的时候我们也安装了androidSDK,那么我们在开发时应该使用那些工具和android文件系统呢?
你要从安卓,java c++,硬件,底层一步一步做起。这是一个很复杂的过程,一个人的精力想要把源码制作出比较出色的rom是相当困难的。所以现在好多rom的开发团队成立了,比较突出的有miui,CM等,个人通过源码开发的rom,速度很慢,没有时间做较深入的优化。如果你真要开发rom,可以把基础学好了,加入开发团队,去开发rom也是不错的
这个是需要使用到Java之类的知识呢,你可以在应用宝里面下载编译教程
应用宝里面的资源很丰富的呢,都是可以免费下载的
除了有海量的APP应用,还有很多教程的,和手机兼容好
在手机上就直接打开应用宝搜索就行,也可以在电脑上直接给手机安装的,省流量也方便,电脑上打开应用宝后,连接上手机数据线,然后进入下载中心,就可以下载很多自己喜欢的软件,望采纳
以上就是关于怎么单独编译安卓系统源码指定模块全部的内容,包括:怎么单独编译安卓系统源码指定模块、安卓怎么使用修改过的源码编译程序、如何利用安卓源代码开发ROM等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)