谷歌于2012年11月14日发布了Android 4.2的源代码。 接下来我将在ubuntu10.04的64位系统上下载源码,并对编译后的源码进行记录备份。 也给有需要的人一个参考。 如果您在下载、编译、安装Android源码时遇到问题,可以加入QQ群进行交流:217706590。难免会有错误,还请大家多多关照,不要吝啬强调。
本文最后一章列出了源码下载、编译环境安装、源码编译、运行模拟器等过程中可能出现的一些错误。 如果出现类似错误,可以参考一下。
1.下载源码
下载源码首先需要安装以下软件:curl和git-core
1.1 安装curl:
在终端中执行: sudo apt-get install curl
1.2 安装git-core
1.2.1 在用户目录下新建大数操作bin文件
在终端中执行:mkdir ~/bin
将~/bin添加到环境变量中编译android源码配置,作用是:下载并安装该目录下的git软件,在其他目录运行时可能会找不到该软件,所以添加到环境变量中
在终端中执行:PATH=~/bin:$PATH
1.2.2 安装git-core
在终端中执行:curl /dl/googlesource/git-repo/repo§ > ~/bin/repo
赋予repo执行权限:chmod a+x ~/bin/repo
CPU频率越高越好吗? 1.3 下载源码
1.3.1 进入源码保存目录
比如我的源码保存在:/opt/android/src
在终端执行:cd /opt/android/src 进入src目录
1.3.2 获取repo最新配置
repo init -u /platform/manifest§
如果执行出现错误,请使用以下命令:
〜/ bin / repo init -u /平台/清单§
w7主题首页1.3.3下载源码
对于下载不同版本的android,指定一个manifest分支(即只指定android对应的版本),并使用-b参数(即下载某个版本的源码),如:
对于 4.2 版本,将命令更改为
repo init -u /platform/manifest§ -b android-4.2_r1
表面专业5
如果执行出现错误,请使用以下命令:
~/bin/repo init -u/platform/manifest§ -b android-4.2_r1
执行上述命令后,会在三星笔记本的/opt/android/src目录下生成一个.repo
同步获取源码
#~/bin/repo 同步
如果中间有中断,这是正常的。 可以再次输入~/bin/reposync命令进行下载。
根据网络速度的不同,下载时间也会有所不同。 最好在午睡前或下班后下载代码。 由于源文件比较大,在国外通常需要5个小时左右甚至更长时间。
如果出现以下信息,则说明代码已下载:
获取项目:100% (166/166),完成。
同步工作树:100% (165/165),完成。
运行~/bin/reposync也可以重新检查下载的源代码。 如果出现问题或者某些文件丢失,会重新下载并从.repo目录导入到实际源代码中
注意:此步骤可能会出现下载错误编译android源码配置,请查看文末说明
2.编译环境的安装
首先,如果您没有修改过源,请将其更改为国外源,以提高软件的下载和安装速度。
你可以参考下面博客的内容添加一些快速源,比如:台湾源、Ubuntu官方北京源、网易、搜狐、
/houxn22/项目/48f0f7d150657c16d80e4468
安装编译所需的软件
1.安装jdk
cleartype sudo apt-get install sun-java6-jdk
2.安装编译所需的其他软件
在终端中执行: sudo apt-get install git-core gnupg flex bison gperf build-essential
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown
libxml2-utils xsltproc
基本上你只需要安装上面的软件就可以了。 您可以忽略官方网站上提到的一些其他软件或设置。
注:此步骤可能有错误,请查看文末说明
3.fastjson编译源码
3.1 编译初始化:
在终端执行:
源构建/envsetup.sh
或者:
.build/envsetup.sh
执行后输出:
源构建/envsetup.sh
包括 device/asus/grouper/vendorsetup.sh
包括 device/asus/tilapia/vendorsetup.sh
包括 device/generic/armv7-a-neon/vendorsetup.sh
包括 device/generic/armv7-a/vendorsetup.sh
包括 device/generic/mips/vendorsetup.sh
包括 device/generic/x86/vendorsetup.sh
包括 device/samsung/maguro/vendorsetup.sh