首页源码android成品源码 android8.1源码下载

android成品源码 android8.1源码下载

编程之家2026-05-22714次浏览

其实android成品源码的问题并不复杂,但是又很多的朋友都不太了解android8.1源码下载,因此呢,今天小编就来为大家分享android成品源码的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

android成品源码 android8.1源码下载

如何单独编译Android源代码中的模块

一.首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:

USER-NAME@MACHINE-NAME:~/Android$../build/envsetup.sh

注意,这是一个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.

android成品源码 android8.1源码下载

- 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命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。

android成品源码 android8.1源码下载

二.使用mmm命令来编译指定的模块,例如Email应用程序:

USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/

编译完成之后,就可以在out/target/product/generic/system/app目录下看到Email.apk文件了。Android系统自带的App都放在这具目录下。另外,Android系统的一些可执行文件,例如C编译的可执行文件,放在out/target/product/generic/system/bin目录下,动态链接库文件放在out/target/product/generic/system/lib目录下,out/target/product/generic/system/lib/hw目录存放的是硬件抽象层(HAL)接口文件

三.编译好模块后,还要重新打包一下system.img文件,这样把system.img运行在模拟器上时,就可以看到程序了。

USER-NAME@MACHINE-NAME:~/Android$ make snod

四.参照Ubuntu上下载、编译和安装Android最新源代码一文介绍的方法运行模拟器:

USER-NAME@MACHINE-NAME:~/Android$ emulator

这样一切就搞定了。

怎样着手研究 Android 源代码

一、源码里的工程需要导入所有的Android源码,不可以单独作为一个Android工程导入到Eclipse里。

二、使用git和repo下载Android的源代码,参考如下步骤

以下操作都是在Ubuntu10.04LTS下完成:

1)安装git

sudo apt-get install git-core

2)安装curl

sudo apt-get install git-core curl

3)安装Repo,为了方便直接下载repo到用户根目录中。通过curl下载repo

curl

4)给repo可执行的权限

chmod a+x~/repo

5)新建一个目录,然后进入该目录。通过repo将当前Android上所有源代码下载。

首先初始化本地,

~/repo init-u git://android.git.kernel.org/platform/manifest.git

看到repo initialized in/android的提示后,则证明初始化完毕。成功后会在~/android下生成.repo文件夹

执行

repo sync

则自动开始下载源代码。git支持断点续传,如果中断了下次可继续。

单独下载内核,用这个

git clone git://android.git.kernel.org/kernel/linux-2.6.git

如果想拿某个branch而不是主线上的代码,我们需要用-b参数制定branch名字,比如:

repo init-u git://android.git.kernel.org/platform/manifest.git-b froyo

另一种情况是,我们只需要某一个project的代码,比如kernel/common,就不需要repo了,直接用Git即可。

git clone git://android.git.kernel.org/kernel/common.git

有研究android系统源码的博客吗

我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径。根据前辈的经验,Android底层完全入门需要两年。

先说下我的入门过程:

第零步,下载源码,我下的4.2的,框架层源码10G,内核2G多,ctags给框架层建的标签文件都有600M,当时让我有点震撼,用的vim+ctags+cscope来阅读,还算不错,架构挺清晰的。

第一步,我找到了一本好书《Android的设计与实现第一卷》它讲了Android框架层的启动,初始化,服务框架初始化,Binder,消息循环,PackageManagerService,ActivityManagerService。据作者说后面会出讲UI子系统的第二卷,拭目以待。其实这本书看了几十页我就发现需要第二步的知识,否则看不下去,于是跳去第二步。

第二步,学习Linux系统编程,在看《Android的设计与实现》的时候我发现,框架层的Native部分,全是Linux编程。为了掌握这部分知识,我花了4个月学习了《Linux系统编程手册》(TLPI)这本1000多页的书,我以前是搞WIndows文件系统这块的,所以C语言还比较熟,TLPI的习题很有意思,量也比较大,坚持下来还是收获很多。

第三步,花了4个月学习了一些Linux内核的知识,看了LKD,PLKA看了一半多。越学越没底,觉得不懂得越来越多,不过这个也正常,只有靠慢慢磨,估计以后要不断的磨这块。

第四步,回头看Android源码,这次一口气看完了《Android的设计与实现第一卷》,终于对框架层有了谱。同时真的数次把我看晕,前面看Linux内核源码都没这么晕,不断在Java层和Native层之间跳有点磨脑浆。其中我又觉得Java的基础没有打太牢,回去补了一个月的《Core Java》第八版。但是这书没有涉及UI子系统,于是又看了《Android内核剖析》

第五步,《Android内核剖析》(这本书实际上是讲框架层的,作者也是个搞嵌入式的,所以他在写框架层的时候文笔不太好,很罗嗦,不过还是有很多看点,到他后来写做ROM,玩开发板时估计是说到了他的本行,一下子遛起来了看得出还是挺有水平的,这本书知识有点旧毕竟讲的是2.3很多代码已经过时,但是作者很多点子很有参考价值)这本书讲UI子系统和按键/触摸消息处理系统还是很有分量的,尤其13章View绘制那里,结合源码研究很有收获。而后面他讲编译框架和ROM相关的东西都是挺宝贵的资料。

第六步,为了再补一下其他诸如电源管理模块等子系统的知识看了,《深入理解android》系列,个人认为这个系列看起来有点不太舒服,不过作为补充印证还是比较有价值。

第七步,《Android系统源代码情景分析》,罗升阳的源码分析大作,比《Android的设计与实现》分析得更细致,但缺点是涉及到模块比较少,选用的源码也比《Android的设计与实现》更旧一点。看完书后需要去研究作者的博客,东西挺多的,一定让你满意。

第八步,买块开发板自己玩。这步我还没走到,原因是我觉得我还差点准备知识。可能要再几个月,到时准备入块6410或者树莓派。

最后,由于我11年以前都是搞Windows这块的,所以对Linux知识不是很了解,不得已看了这么些书,如果是一直做Linux的人,很多步骤估计可以省掉了。直接上源码才是正道。

我本身做着移动GIS开发的工作,学框架层全是因为兴趣,但招聘平台Android框架层开发人员还是蛮有竞争力的有不少定制ROM,智能电视的工作都处于人才难求状态,毕竟有一定的门槛,现在各种ios培训,让奔着钱干开发的人纷纷涌入,而ios只能干sdk开发的缺点就暴露出来了,一堆新手老手,菜鸟大牛全挤在SDK开发这块,我觉得不太妙。反观Android这边,虽然入门菜鸟没有搞ios来钱,但是可持续性很好,从sdk-》框架》驱动》内核这样干下去。干着干着发现自己渐渐变成了Linux开发者/嵌入式开发者的人也不少,新人,老手,菜鸟大牛各居其位,层次性很好。

转载

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

mysql手机版,mysql在线运行网站编程排行榜(编程前十名排行榜)