当前位置:首页 » 操作系统 » cyanogenmod源码下载

cyanogenmod源码下载

发布时间: 2022-05-16 10:57:14

㈠ 求android源码下载地址,就像学学源码的原理

Google刚刚公布,稳定版的Android源代码已经公布,任何人都可以免费下载。Google希望通过公布源代码,电信运营商和手机制造商,乃至一般开发者们进一步深刻了解和利用Android系统,从而有益于该平台下的的发展。
看来T-Mobile G1不一定打得过iPhone,那么Android呢?
现在源代码公布在http://source.android.com/,SDK网站是http://code.google.com/android/

㈡ 如何针对特定机型,编译cwm recovery

你必须使用32位或64位Ubuntu系统,关于如何建立编译环境和同步源码的指导,请自己查找有关指导的文章。
1,
安装所需要的包
2,
建立编译的环境,并同步CWM所需的源码,CyanogenMod源码中附带CWM源码
CWM
5
-
Gingerbread
CWM
6
-
Jellybean
3,
下面我们进入真正的编译阶段,确保你已经使用“repo
sync
”命令同步了最新的源码
进入源码的目录
放出以下命令:
make
-j4
otatools
3.5,
如果你的机型不被CM10官方支持,请执行这一步
在你的手机终端上执行以下命令,
mp_image
boot
/sdcard/boot.img
这将boot镜像导出到你手机的sdcard,复制该镜像至你的home目录下
为一款新设备编译android源码,需要建立相应的配置文件和makefile文件,这通常比较麻烦,如果仅仅编译recovery镜像,会容易的多。在android源码根目录下(假设已运行envsetup.sh),运行以下命令(使用适当的名称取代命令中的名称)
build/tools/device/mkvendor.sh
device_manufacturer_name
device_name
/your/path/to/the/boot.img
例如,你拥有Samsung
Galaxy
Ace这款设备,你应该使用以下这条命令
build/tools/device/mkvendor.sh
Samsung
cooper
~/boot.img
Please
note
that
Cooper
is
the
device
name.
Only
use
"~/boot.img"
if
you
have
the
boot
image
in
your
home
directory.
Or
else
please
specify
the
correct
path.
如果所有都工作正常,你将看到"Done!"这样的确认信息。mkvendor.sh脚本也将在你的android源码树中创建以下目录:
manufacturer_name/device_name
4,
现在你已经拥有相关的配置文件
在源码目录下,在terminal终端下键入以下命令
.
build/envsetup.sh
这一步将为你建立编译环境
现在使用这条命令
lunch
full_device_name-eng
这将为你的设备建立起build
system。用文件管理器或IDE打开目录,你应该拥有以下文件:
AndroidBoard.mk,
AndroidProcts.mk,
BoardConfig.mk,
device_.mk,
kernel,
system.prop,
recovery.fstab,

vendorsetup.sh
对你感兴趣的应该是recovery.fstab和kernel这两个文件,kernel这个文件是你之前从boot.img文件中提取出的。recovery.fstab将适用于大部分拥有
mtd,
emmc,或者其他分区的设备。如果没有,recovery.fstab将需要优化以支持加载这些点。例如
/sdcard被加载至/dev/block/mmcblk1p1,
你需要将下面这段加入到你的BoardConfig.mk文件中
/sdcard
vfat
/dev/block/mmcblk1p1
一旦recovery.fstab已经适当的装载,你可以开始下一步了
5,
现在,我们开始编译Recovery
make
-j4
recoveryimage
这个命令用于编译recovery镜像
你能使用这个命令
make
-j4
recoveryzip
用于建立一个临时的recovery.zip刷机包在你真实的设备上测试
你编译好的recovery可以在"your_source_directory/OUT/target/proct/device/recovery.img"目录下找到。而.zip刷机包可以在相同目录下的utilities文件夹下找到。
如果各项测试正常,就可以有一个成功的recovery
一旦你编译通过了recovery,通知"koush",在Github上,他就能根据你的编译文件发放官方版的CWM
Recovery,并使Rom
Manager提供相应的支持。
小贴士:
如果你想编译CWM6,使用以下命令同步jellybean分支源码
repo
init
-u
git://github.com/CyanogenMod/android.git
-b
jellybean

repo
sync
如果你改变了BoardConfig.mk文件,在编译期间运行"make
clobber",否则你做的更改就不会生效。

㈢ 请问:android模拟器的源码在哪里下载

java">http://source.android.com/source/index.html

源码需要在Linux下编译使用!

㈣ 下载CM 源代码出错!

个人建议你还是放弃下载这个源码吧。
企业想上CRM系统,找CRM软件厂商购买,是最放心的。软件出问题、软件功能要二次开发都可以找软件厂商解决,自己省时又省力了。

观辰crm不错,带有OA功能的,适合中小企业的购买需求。

㈤ 荣耀的H30T10能升级到安卓5.1的CyanogenMod 12.1请问哪里下载

到cm官网看是否支持

㈥ 标志为CM的包是什么牌子呢

CyanogenMod(发音:sigh-AN-oh-jen-mod。简称CM):Cyanogen团队是目前全球最大的Android第三方编译团队,其发布的Android 2.1内核CM5系列ROM被广泛使用,促进了用户从Android 1.6到Android 2.1版本的第三方升级。这个小组曾经先于Google公司为很多手机率先定制出稳定的Android 1.6 ROM。
CyanogenMod系列有CM4(Android 1.6)、CM5(Android 2.1)、CM6(Android 2.2)、CM7(Android 2.3)、CM8(Android 3.X【因为Google并没有开放这一代系统的源代码,所以跳过了开发】)、CM9(Android 4.0)、CM10(Android 4.1)、CM10.1(Android 4.2)、CM10.2(Android 4.3)、CM11 (Android 4.4)、CM12(Android 5.0)、CM12.1(Android 5.1)。
CyanogenMod 是一个免费、基于社区构建的 Android OS 的修改和改进版本。
CyanogenMod13年9月18日对外宣布,已获得700万美元A轮投资,希望超越黑莓和Windows Phone成为世界第三大手机操作系统。
CyanogenMod在B轮融资中获2300万美元投资,由安德森-霍洛维茨基金领投。腾讯、Benchmark Capital及Redpoint Ventures也参与了本轮投资。
中文名
CyanogenMod
开发者
Cyanogen(Steve Kondik)
初始版本
3.1(HTC Dream 和 HTC Magic)
支持语言
多语言
支持平台
ARM架构
授权条款
Apache 2与GPLv2
目录
1系统
2开发
▪ 版本 6
▪ 版本 7
▪ 版本 8
▪ 版本 9
▪ 版本 10
▪ 版本 10.1
▪ 版本 10.2
▪ 版本 11
▪ 版本 12
▪ 版本 12.1
3支持机型
4特点
5CM10.X
6吉祥物
▪ bugdroid
▪ Cid
▪ 复古版
▪ Communitee
7创始人
8合作开发
▪ 与一加手机合作
▪ 与Keen Team合作

1系统编辑
CyanogenMod是一个基于开源Android系统,供某些

手机使用的二级市场固件。它提供一些在官方Android系统或手机厂商没有提供的功能 ,例如:支持Free Lossless Audio Codec-FLAC(无损音频压缩编码)音频格式的音乐,多点触控,从SD外置存储器运行程序,压缩缓存,大量APN的名单,重新启动功能,Wi-Fi无线网络支持,蓝牙,USB网络分享等。CyanogenMod也是第一个使用BFS作任务管理器的操作系统。CyanogenMod声称提供比官方固件版本更高性能和更可靠。
2008年9月HTC Dream手机发布后,Android社区发现其中一个可以在Android的Linux的子系统得到特权控制 "rooting"(也称为 "root access")的方法。 这个发现, 结合了Android开源的性质,让手机的固件可以随意进行修改和重新安装到手机。某些手机并不需要进行修改,如Android开发手机和Nexus One,这些用作开发用途的手机上。
现时,CyanogenMod固件是基于Android 5.0,也有大量由CyanogenMod的代码被加入了。CyanogenMod的自定部分本来是由Cyanogen (Steve Kondik)编写,不过加入了由xda-developers社区编写的代码(如已强化的主画面, 已强化的调用程序和已强化的网页浏览器)和其他的程序(如busybox)。

2开发编辑
2008年9月,

HTC Dream手机发布后,Android 社区发现其中一个可以在 Android 得到称为“root”的最高权限方法,这个发现结合了 Android 开源的性质。
最新的CyanogenMod版本是基于Android 5.0开发,并加入大量自制的源代码。CyanogenMod的源代码本来是由 Cyanogen(本名Steve Kondik)编写,后来也加入了xda-developers社区强化过的主画面、调用程序和网页浏览器,另外也加入 BusyBox…… 等其它的程序。
CyanogenMod Updater 程序会提醒用户有新版本的 CyanogenMod,且也能顺便协助安装到他们的手机里。用户可以在Google play下载该程序。但从5.0版本起,这个程序就不运作了,只能通过 Rom Manager 查找固件更新。
原本CyanogenMod包含Google的一些App(如Gmail及Android market),但 Google 于2009年9月发出律师信要求该团队不得再散布CyanogenMod,此举引起部份CyanogenMod爱好者的反弹,认为Google公司违反其“不作恶”的经营口号,CyanogenMod 一度暂停运作,此事件也引起一些媒体的注意而加以报道。在两方协调之后,CyanogenMod恢复开发工作,但不能再包含Google的App,仅提供链接由用户自行下载安装。
CyanogenMod的创办人Steve Kondik 被Samsung招揽加入手机软件开发的工作,而Sony更提供手机给开发团队。
版本 6
当时Steve Kondik所发布的Cyanogenmod 6基于Android 2.2开发,代号为"Froyo",支持的机型有 Google Nexus one,HTC Dream,HTC Magic,Motorola Droid,HTC aria,HTC Legend,HTC Desire,HTC Evo 4G,HTC Hero,HTC Wildfire,HTC Incredible,和T-Mobile my Touch 3G slide,首个测试版本发布于2010年7月11日,而稳定版本则发布于2010年8月28日。
版本 7
CyanogenMod团队所开发的CyanogenMod 7是基于Android 2.3 Gingerbread固件源码。其中CyanogenMod 7的自定义部份是由Steve Kondik所编写,但有部份由论坛xda-developers的开发者协助,例如改良后的启动器,调用画面,和浏览器。
版本 8
原本计划CyanogenMod 8将会基于Android 3.0 Honeycomb开发,由于Google没有开源Android 3.0的源码,计划拖延至Google发布Android 4.0,CyanogenMod团队表示会跳过CyanogenMod 8的开发而直接开发基于Android 4.0的CyanogenMod 9。
版本 9
CyanogenMod 9是基于Google的Android 4.0 Ice Cream Sandwich,Steve Kondik和他的CyanogenMod团队宣布准备开发。在2011年11月Google发布Android 4.0.1的源码后几天,稳定版CM 9.0.0已经发布。
版本 10
CyanogenMod 10是基于Google的Android 4.1 Jelly Bean开发。在2012年11月Google发布Android 4.2的源码之前,稳定版CM 10.0.0已经发布。
版本 10.1
CyanogenMod 10.1是基于Google的Android 4.2 Jelly Bean开发。自从Android 4.2果冻豆源码发布之后,CyanogenMod团队就开始将对应的CyanogenMod 10.1作为了开发的重点,而今,该团队已经为谷歌四儿子Nexus 4带来了首个CM 10.1的ROM。对于无缘官方Android 4.2的用户,不妨多期待一下CM10.1版的果冻豆了。
2013年01月23日,Milestone 1 版 CyanogenMod 10.1 登陆部分 Nexus 及三星设备。被称为“基本稳定”(mostly stable)的 Milestone 1 版本已经来了,想用这个版本的话对装置还是有一定要求的,暂时来看只有大多数 Nexus设备、三星Galaxy S系列手机以及Galaxy Tab 2 系列平板可以安装。当想要完美稳定版本的朋友可能还需要再耐心等一等,不过 Milestone 1 应付日常使用应该是没有什么问题。[1]
版本 10.2
CyanogenMod 10.2是基于Google的Android 4.3 Jelly Bean开发。经过一段时间的Alpha内测之后,CyanogenMod 10.2已经完成了对第一批设备的初步适配,放出了基本可以正常使用的Nightly版本。按照惯例,Nightly版本仍是测试性质的,不推荐作为日常使用,但已经基本上没有太大问题,可以尝尝鲜。如果允许的话,这种版本每天都会更新一次。[2]
版本 11
2013年11月6日,Cyanogen团队宣布开始着手基于Android 4.4KitKat的CyanogenMod 11开发工作。
版本 12
经过长时间的跳票后,Android的第三方团队Cyanogen正式发布了基于Android 5.0 Lollipop的Cyanogen 12固件。其中与Cyanogen团队有深度合作的中国厂商一加的OnePlus率先获得Cyanogen 12的更新,而同样与Cyanogen有合作的印度厂商Micromax推出的YU系列Yureka手机将紧随其后获得获得Cyanogen 12的更新。
CyanogenMod 12的固件基于Android 5.0.1开发,在系统界面上将会有大的变革,采用Material Design设计的标准。同时Cyanogen还加入了自己的App Themer功能,允许用户对包括第三方应用在内从系统层级更换风格。为用户提供更多的个性化界面选择。[3]
版本 12.1
CyanogenMod 12.1仅有Nightly版,也就是测试版,可能还存在一些不稳定的要素。CM 12.1基于Android5.1,保持原生界面风格,并加入了CM的一些特色功能。之前有报道称CM已经和微软达成合作,微软应用和服务将进驻CM ROM,不过这次CM 12.1 Nightly版,并没有预装微软应用和服务。[4]

3支持机型编辑
截止至2014年6月14日 CM所支持机型

HTC系列

HTC One X

HTC Desire S

HTC Incredible S

HTC Incredible

HTC Desire GSM

HTC EVO 3D

T-Mobile G2 (Desire Z)

HTC Desire CDMA

HTC Desire HD (Inspire)

HTC Hero GSM

HTC Magic (Mytouch)

HTC Hero CDMA

HTC Legend

T-Mobile myTouch 4G

T-Mobile myTouch Slide

HTC Wildfire

Sprint EVO

HTC Click (Tattoo)

HTC Wildfire S

HTC One XL

HTC EVO 4G HTC EVO Shift HTC Amaze 4G

SONY系列

Xperia Arc

Xperia Neo

Xperia Mini

Xperia Mini Pro

Xperia X8

Xperia Play

Xperia Ray

Xperia X10 Mini

Xperia X10

Xperia X10 Mini Pro

Xperia S

Xperia Z

Xpeira ZR Xperia V Xperia Z Ultra

GOOGLE系列

Google Nexus One

Google Nexus S

Google Nexus 4

Google Nexus 10

Galaxy Nexus (GSM) Google Nexus 7 Google Nexus 7 二代 Google Nexus 5

MOTO系列

Motorola Droid

Motorola CliqXT

Motorola Defy
Motorola MB300(backfli)

Motorola Droid RAZR HD Motorola Droid RAZR M Motorola Photon Q
Motorola Razr

Motorola Atrix 1/2/3/HD Motorola Xoom Moto G

SAMSUNG系列

Samsung Galaxy S

Samsung Galaxy SI

Samsung Galaxy SIII

Samsung Galaxy S4

Samsung Galaxy R Samsung Galaxy Note II
Samsung 9100G
Samsung Galaxy S Relay 4G

Samsung Galaxy S Advance

LG系列

LG Optimus 2x

LG Optimus Black P970

LG Optimus One

LG Optimus GT540

LG SU640 LG P880 Optimus 4X HD LG G2 LG P930
LG Optimus L7 LG Optimus 3D Max LG Optimus L9 LG Optimus 4X HD
LG Thrill 4G

魅族系列

MeiZu M9

MeiZu MX2


其它

AT&T Aria

ZTE Blade

HUAWEI Honor

z71 Variants

Geeksphone One

Advent Vega

Viewsonic G-Tablet

B&N Nook Color

ZTE N909 一加 oneplus A0001 Smartisan T1

华为系列

C8812(Ascend)
U8860 U8150 U8160

OPPO系列
x909 (FIND5)
小米系列
MI2/2S (aries) MI3(cancro)

4特点编辑
高度优化的内核,带有很多额外模块改进的RAM
使用智能启动和优化安装选项
包含E2FSProgs可检查并转换Ext文件系统
自动安装Apps2SD
多个分屏幕
自动适用方向
关机和重启依然具有干净的文件系统
不需要危险的SPL操作
包含大量APN列表
CPU工作频率
设置程序的大量改进
包括额外的分区
由cytown改进电话应用
还有很多

5CM10.X编辑
2013年7月26日消息:CyanogenMod团队一向以效率着称,当然除了速度快之外CM团队在ROM研发的质量上也一如既往的保持高水准。Android 4.3于昨日正式发布,CM团队表示已经着手基于Android 4.3的CM10.2研发。有多款机型的CM10.2 ROM已经开始开发了,预计在不久以后就会和大家正式见面。[5]
在此之前,CM团队曾有CM7(Android 2.3)、CM9(Android 4.0)、CM10(Android 4.1)等几个版本发布,几乎每一次Android大版本更新,CyanogenMod团队都会推出相应的CM系列ROM。而Android 4.2由于相对于4.1来说更新幅度不大,所以其命名成为了CM10.1,而不是CM11。
谷歌在今天凌晨正式发布了Android 4.3,相对于Android 4.2来说升级的地方也并不多,因此CM团队决定基于Android 4.3的CM系统命名为CM10.2。[5]

6吉祥物编辑
bugdroid
早期CyanogenMod的吉祥物是踏着滑板的Android公仔"bugdroid"。
Cid
2012年4月4日,
吉祥物
CyanogenMod以“需要一个看起来更成熟的吉祥物”为由,推出了名为"Cid"的新吉祥物取代"bugdroid"。其名"Cid"是"CyanogenMod ID"的缩写。
复古版
CyanogenMod吉祥物虽然应该属于退伍行列,但是用户们对它的钟爱不减。如今,它被放进壁纸中,唤醒曾经的美好回忆。
Communitee
Communitee是一个“多头野兽”。用户们在上面提出自己的想法,为某件事情投票,选择一种Frendened-up概念。用户们信任它,依赖它。

7创始人编辑
成立于2009年的着名Android系统修改小组CyanogenMod今天宣布加入三星电子旗下的三星移动(samsungmobile),其创始人Steve Kondik已经作为一个软件工程师入职三星。CyanogenMod是最流行的Android自制固件提供方,它的加入将给三星移动的Android体验带来技术支撑。Steve Kondik表示,他的加入会让Android变的更美好。
继Google宣布收购摩托罗拉移动(motorola mobility),而让Android平台的厂商格局发生了深远的改变,不过Google随后表示将继续保持Android系统的开放,但这并不足以让HTC、三星等厂商打消疑虑,但是,安卓魅力实在太大,致使三星也不得不抛弃自己的bada系统,专心致志的去做安卓手机

8合作开发编辑
与一加手机合作
2013年11月13日消息,全球知名安卓定制团队CM或将与一加科技(OnePlus)推出安卓智能手机,CyanogenMod创始人Steve Kondik及OPPO前副总经理刘作虎已确认了相关消息。[6]
被誉为安卓定制之父的Steve Kondik在和刘作虎做一件可能会改变Android手机世界的事情,从零开始打造一部拥有最好用软件和最顶级硬件配置的安卓手机。
Steve Kondik还表示自己刚刚参观了工厂,与一加方面只在洽谈涉及硬件层面的合作。
CyanogenMod OS是全球第一家基于安卓原生深度优化定制的OS;包括MIUI、锤子ROM等知名安卓ROM都是在CyanogenMod OS基础上的二次开发或使用了部分代码,在年初罗永浩那场声势浩大的锤子ROM发布会上,就曾高调向Steve Kondik致敬。
但CyanogenMod团队在商业化的脚步上并不领先,在中国的小米凭借手机产品成为百亿元估值的手机公司时,CM团队却一直以兴趣和开源的方式存在。直到2013年4月份,Steve Kondik才以公司形态成立了Cyanogen Inc,并获得了第一笔750万美元的融资。
Steve Kondik在成立公司前曾在三星任职,此前曾有消息称未来CyanogenMod会与三星深度合作,但在Steve Kondik出席2013年9月23日的OPPO N1发布会后,外界普遍认为一加将是CM未来的合作对象。[7]
2015年4月29日消息,在北京召开的全球移动互联网大会上,Cyanogen公司CEO KirkMcMaster与创始人Steve Kondik表示,将会和中国手机厂商一加终止合作。[8]
与Keen Team合作
2014年1月15日消息,美国第三方Android ROM团队CyanogenMod(简称CM)近日与国内碁震研究安全团队(Keen Team)达成合作,Keen Team将对CM系统进行安全性能的改进。[9]
CM创始人兼CTO Steve表示,CM当前的重点是提供安全性,从操作系统层面提高手机的安全度。为此CM在中国找到了另一家合作伙伴Keen Team,该团队主要成员来自微软,在2013年11月的Pwn2Own安全大赛上,该团队通过Safari漏洞在30秒内攻破了iOS 7.0.3。
Keen Team负责人王琦介绍,在合作后Keen将为CM系统提供三个方面的安全支持:1、检测漏洞,加固系统,2、在CM官方应用商店进行APP上架安全预检,第三方应用商店下载的APP在安装后进行安全检测,3、对移动支付相关环节进行针对性加固。

Android

开发

▪ Android 软件开发工具包 ▪ Apache Ant ▪ Dalvik ▪ Developer Challenge
▪ Eclipse ▪ Google Code ▪ Google App Inventor ▪ Google I/O
▪ Bionic ▪ APK ▪ Roboto ▪ 快速启动

使用者接口

▪ HTC Sense ▪ Motorola Motoblur ▪ Samsung TouchWiz ▪ Sony UXP Experience

应用程式

▪ 地球 ▪ Goggles ▪ Gmail ▪ 地图
▪ 星空 ▪ Talk ▪ 翻译 ▪ Voice
▪ YouTube

服务

▪ Google Play ▪ Google搜索 ▪ Android云端推送(C2DM)

Google Nexus

▪ Nexus One ▪ Nexus S ▪ Galaxy Nexus ▪ Nexus 7
▪ Nexus Q

第三方固件

▪ CyanogenMod ▪ MIUI ▪ InsertCoin

衍生平台

▪ MIUI ▪ OPhone ▪ 网络易平台 ▪ Replicant
▪ Le OS ▪ 阿里云OS ▪ Flyme OS

列表

▪ Android相关主题 ▪ Android装置列表 ▪ Android版本历史 ▪ Android开源应用

其他

▪ Root机

㈦ 如何移植android2.1源代码到自己的手机上

一,准备好android2.1源码编译环境以及手机USB调试环境。
二,将手机上硬件驱动程序以及相关的配置文件通过ADB命令保存好。
三,针对不同的手机机型,制作相应的vendor配置文件。
四,编译源码。
五,通过手机提供的bootloader刷机或者直接以recovery的方式更新ROM。
在以上五个步骤中,其中最难处理的便是第2个步骤,这个步骤需要熟悉每个手机机型的硬件参数,并且能够在手机上找到相关的驱动程序以及了解他们如何配置。而CyanogenMod团队公布的源码当中,己经将相关的工作做好了,编译源码之前仅仅需要执行相应的shell命令,便可顺利的下载相应的手机驱动程序以及配置文件。
下面是移植步骤,供参考:
一,首先需要下载CyanogenMod 5.0.8的源码:
$ mkdir android-cm5
$ cd android-cm5
$ repo init -u git://github.com/CyanogenMod/android.git -b eclair
$ repo sync
二,下载CyanogenMod需要的一些共同文件,如果想最终版本中不需要这些APK,也可以通过配置/vendor/cyanogen/cyanogen.mk文件将这些需要的APK COPY命令注释掉。
$ cd vendor/cyanogen/
$ ./get-rommanager #下载一个RomManager.apk包,主要是刷ROM用的。我没用过。
$ ./get-google-files #其它的一些google开发的android apk包,我也没有用过!
三,下载针对htc legend(g6)的vendor.
$ cd ../../vendor/htc
$ git clone git://github.com/aleho/android_vendor_htc_legend.git #下载针对htc legend(g6)手机的vendor,里面包括相关的配置参数,以及从手机上下载驱动程序的SHELL命令。
$ mv android_vendor_htc_legend/ legend
$ cd legend
$ ./extract-files.sh #确保这个命令执行将你的手机连接好电脑并且开了手机USB调试,adb命令可以连接手机。这个过程主要是下载htc legend(g6)驱动程序以及配置文件。
四,针对CyanogenMod 5.0.8源码打上htc legend(g6)的补丁包,这个补丁包主要是wifi和触摸屏的,如果不做,触摸屏将无法触摸以及wifi功能无法启动。

㈧ 大牛们是怎么阅读 Android 系统源码的

如果只是想看看一些常用类的实现, 在Android包管理器里把源码下载下来, 随便一个IDE配好Source Code的path看就行.
但如果想深入的了解Android系统, 那么可以看下我的一些简单的总结.

知识
Java
Java是AOSP的主要语言之一. 没得说, 必需熟练掌握.
熟练的Android App开发
Linux
Android基于Linux的, 并且AOSP的推荐编译环境是Ubuntu 12.04. 所以熟练的使用并了解Linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的Linux环境下的程序开发. 如果再深入到驱动层, 那么Kernel相关的知识也要具备.
Make
AOSP使用Make系统进行编译. 了解基本的Makefile编写会让你更清晰了解AOSP这个庞大的项目是如何构建起来的.
Git
AOSP使用git+repo进行源码管理. 这应该是程序员必备技能吧.
C++
Android系统的一些性能敏感模块及第三方库是用C++实现的, 比如: Input系统, Chromium项目(WebView的底层实现).

硬件
流畅的国际网络
AOSP代码下载需要你拥有一个流畅的国际网络. 如果在下载代码这一步就失去耐心的话, 那你肯定没有耐心去看那乱糟糟的AOSP代码. 另外, 好程序员应该都会需要一个流畅的Google.
一台运行Ubuntu 12.04的PC.
如果只是阅读源码而不做太多修改的话, 其实不需要太高的配置.
一台Nexus设备
AOSP项目默认只支持Nexus系列设备. 没有也没关系, 你依然可以读代码. 但如果你想在大牛之路走的更远, 还是改改代码, 然后刷机调试看看吧.
高品质USB线
要刷机时线坏了, 没有更窝心的事儿了.
软件
Ubuntu 12.04
官方推荐, 没得选.
Oracle Java 1.6
注意不要用OpenJDK. 这是个坑, 官方文档虽然有写, 但还是单独提一下.
安装:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo apt-get install oracle-java6-set-default

Eclipse
估计会有不少人吐槽, 为什么要用这个老古董. 其实原因很简单, 合适. 刚开始搞AOSP时, 为了找到效率最优的工具, 我尝试过Eclipse, IntelliJ IDEA, Vim+Ctags, Sublime Text+Ctags. 最终结果还是Eclipse. 主要优点有:
有语法分析 (快速准确的类, 方法跳转).
支持C++ (IntelliJ的C++支持做的太慢了).
嵌入了DDMS, View Hierarchy等调试工具.
为了提高效率, 花5分钟背下常用快捷键非常非常值得.
调整好你的classpath, 不要导入无用的代码. 因为AOSP项目代码实在是太多了. 当你还不需要看C++代码时, 不要为项目添加C++支持, 建索引过程会让你崩溃.
Intellij IDEA
开发App必备. 当你要调试系统的某个功能是, 常常需要迅速写出一个调试用App, 这个时候老旧的Eclipse就不好用了. Itellij IDEA的xml自动补全非常给力.
巨人的肩膀

这个一定要先读. 项目介绍, 代码下载, 环境搭建, 刷机方法, Eclipse配置都在这里. 这是一切的基础.

这个其实是给App开发者看的. 但是里面也有不少关于系统机制的介绍, 值得细读.

此老罗非彼老罗. 罗升阳老师的博客非常有营养, 基本可以作为指引你开始阅读AOSP源码的教程. 你可以按照博客的时间顺序一篇篇挑需要的看.但这个系列的博客有些问题:
早期的博客是基于旧版本的Android;
大量的代码流程追踪. 读文章时你一定要清楚你在看的东西在整个系统处于什么样的位置.

邓凡平老师也是为Android大牛, 博客同样很有营养. 但是不像罗升阳老师的那么系统. 更多的是一些技术点的深入探讨.

Android官方Issue列表. 我在开发过程中发现过一些奇怪的bug, 最后发现这里基本都有记录. 当然你可以提一些新的, 有没有人改就是另外一回事了.

一定要能流畅的使用这个工具. 大量的相关知识是没有人系统的总结的, 你需要自己搞定.
其它
代码组织
AOSP的编译单元不是和git项目一一对应的, 而是和Android.mk文件一一对应的. 善用mmm命令进行模块编译将节省你大量的时间.
Binder
这是Android最基础的进程间通讯. 在Application和System services之间大量使用. 你不仅要知道AIDL如何使用, 也要知道如何手写Binder接口. 这对你理解Android的Application和System services如何交互有非常重要的作用. Binder如何实现的倒不必着急看.
HAL
除非你对硬件特别感兴趣或者想去方案公司上班, 否则别花太多时间在这一层.
CyanogenMod
这是一个基于AOSP的第三方Rom. 从这个项目的wiki里你能学到很多AOSP官方没有告诉你的东西. 比如如何支持Nexus以外的设备.
DIA
这是一个Linux下画UML的工具, 能够帮你梳理看过的代码.
XDA

热点内容
MAC账户登录如何进入忘记密码 发布:2024-05-07 08:14:52 浏览:670
相机存储卡要求格式化 发布:2024-05-07 08:08:44 浏览:15
十一代思域哪个配置划算 发布:2024-05-07 07:59:12 浏览:351
鸿蒙系统和安卓系统哪个大 发布:2024-05-07 07:46:37 浏览:622
安卓平台用什么虚拟机 发布:2024-05-07 07:44:14 浏览:246
ta栅格算法 发布:2024-05-07 07:03:23 浏览:802
符号源码 发布:2024-05-07 06:26:09 浏览:707
玩hypixel服务器ip地址要什么版本 发布:2024-05-07 06:22:50 浏览:62
代码为什么要编译 发布:2024-05-07 06:22:48 浏览:495
java面试复习 发布:2024-05-07 06:01:15 浏览:658