一直想尝试android源码的编译,于是在虚拟机上安装了ubuntu 14.04,安装时选了语言为中文,使用Xshell远程登录。

Android源码下载的官方链接

http://source.android.com/source/downloading.html#initializing-a-repo-client

准备工作

1、在Android源码编译之前 git-core 和 curl 是必需的,安装命令
sudoapt−getinstallgit−core sudo apt-get install curl

2、 安装JDK
注意:openjdk不推荐使用,编译中可能造成混淆及功能缺失通过以下命令卸载openjdk:$ sudo apt-get purge openjdk-* icedtea-* icedtea6-*,并在/etc/apt/sources.list 末尾加上如下行: ###for install Java6
deb http://ppa.launchpad.net/ferramroberto/java/ubuntu natty main
添加方法,通过命令:vim /etc/apt/sources.list 进入sources.list
在末尾添加:
Linux下Android内核源码下载_第1张图片

2.1、 添加partner源
sudo add-apt-repository “deb http://archive.canonical.com/ubuntu maverick partner”

2.2、更新系统
$ sudo apt-get update
Ubuntu添加新的软件源的时候,update报这个错误:
GPG签名验证错误: http://ppa.launchpad.net hardy Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY B725097B3ACC3965
找了下原因,虽然不知道原理,不过大概意思还是能才出来的,解决方法如下:
gpg –keyserver subkeys.pgp.net –recv B725097B3ACC3965
gpg –export –armor B725097B3ACC3965| sudo apt-key add -
然后sudo apt-get update就OK了
补充:subkeys.pgp.net尽然提示找不到了,换成keyserver.ubuntu.com即可。
Linux下Android内核源码下载_第2张图片

2.3、安装 java6-jre
$ sudo apt-get install sun-java6-jre sun-java6-plugin

2.4、安装 java6-jdk
$ sudo apt-get install sun-java6-jdk sun-java6-plugin

2.5 察看版本
$ java -version
显示信息如下:
这里写图片描述

源码下载

1、 执行curl
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
这行命令只是从网上下了repo文件,可以直接 从网上下载后拖入~/bin文件夹中。
文件下好后修改执行权限:
chmod a+x ~/bin/repo

2、建立并进入android源代码目录
$ mkdir android源代码目录

$ cd android源代码目录

3、执行 repo init 准备下载最新版本android代码,用下面命令准备下载主干(main / trunk)版本
$ repo init -u https://android.googlesource.com/platform/manifest
或是用以下命令下载指定分支(branch)
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
如果 repo没有找到 branch 参数指出分支版本,就会输出大量信息,其中有可以下载分支的列表,由于内容过长,请参考
http://blog.csdn.net/tonyfield/article/details/9734031
实际操作中,获得错误报告:
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle,
stockoverflow上有贴提及是代理环境变量造成的问题,想到前面尝试过设置 HTTP_PROXY,用下面的指令清除,HTTPS_PROXY 存在的话也要清除 HTTPS_PROXY。
unset HTTP_PROXY
unset HTTPS_PROXY
然后repo init成功。。。,
成功后会提示输入你的姓名 及 邮件地址,你想要使用Gerrit code-review 工具的话就要用你申请的 Google账户使用的邮件地址,没有的话去申请一个,不用花多少时间。
Your Name [XXXXXX]: XXXXXX

4、repo 信息下载后,用 “repo sync”命令将真正的Android代码同步到当前工作目录,初始同步操作将需要一个多小时才能完成。

更多相关文章

  1. 最全的Android源码目录结构详解
  2. --android studio 使用gradle 导出jar包,并打包assets目录
  3. adb(android debug bridge)命令
  4. 在APP应用中运行cmd命令
  5. 常用的adb命令
  6. ijkplayer入门之目录介绍及编译
  7. Android studio cmd命令行操作数据库文件导出,导入
  8. 在命令行下创建Android项目并执行

随机推荐

  1. Android(安卓)Bundle类
  2. Suggestion: add 'tools:replace="androi
  3. KeyListener,NumberKeyListner
  4. 《Expert Android》关键点摘录之一:Explor
  5. How Android(安卓)Draws Views,Android如
  6. Android(安卓)Media Server - MediaPlaye
  7. Android开发-WebSocketWssDemo
  8. android学习小结4
  9. Android(安卓)Drawable工具类
  10. Android(安卓)获取手机的IMEI等设备信息