Android 4.2源码的下载和编译环境的安装及源码的编译
Google于2012.11.14发布了Android4.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添加环境变量,作用是:要将git软件下载安装在此目录,在别的目录运行可能会不到此软件,所以要添加到环境变量中
在终端中执行:PATH=~/bin:$PATH
1.2.2安装git-core
在终端中执行:curl le/dl/googlesource/git-repo/repo§ > ~/bin/repo
给repo执行权限:chmod a+x ~/bin/repo
1.3 下载源代码
1.3.1进入要源代码将要保存的目录
如我的源代码保存在:、/opt/android/src
在终端中执行:cd /opt/android/src 进入到src目录中
1.3.2 获取repogoogle官方下载app最新的配置
repo init -u lesource/platform/manifest§
若是执行错误则用以下命令:
~/bin/repo init -u lesource/platform/manifest§
1.3.3 下载源代码
对于下载不同版本的android,指定一个manifest分支(即只指明android对应的版本),使用-b参数(即下载某个版本的源代码),如:
对于4.2的版本,将命令修改为
repo init -u lesource/platform/manifest§ -b android-4.2_r1
若是执行错误则用以下命令:
~/bin/repo init -u lesource/platform/manifest§ -b android-4.2_r1
执行以上命令后,会在/opt/android/src目录中生成一个.repo的目录,此目录保存了将要下载的源代码的相关信息
同步获取源码
#~/bin/repo sync
如果中间出现中断,这个很正常,你可以再次输入 ~/bin/repo sync 命令来进行下载。
根据网速的不同,下载时间也有快慢,最好在睡觉前或下班后下载代码,由于源文件比较大,一般国内都要5小时左右甚至更久。
若是出现以下信息,表示代码以下载完成:
Fetching projects: 100% (166/166), done.
Syncing work tree: 100% (165/165), done.
运行~/bin/repo sync 还可以重新校对下载的源码,若是有问题或遗漏了一些文件会重新下载,并从.repo目录中导出到实际源码中
注:此步可能会出现下载错误,请查看本文最后部分的说明
2、编译环境的安装
首先若是没有修改源,请修改为国内的源,从而提高软件的下载安装的速度
可以参考下面博客的内容添加一些速度快的源,如:台湾源、Ubuntu官方上海源、网易、搜狐、
hi.baidu/houxn22/item/48f0f7d150657c16d80e4468
安装编译所需的软件
1、 安装jdk
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、编译源代码
3.1编译初始化:
在终端中执行:
source build/envsetup.sh
或:
. build/envsetup.sh
执行后输出:
source build/envsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论