2018年1月1日星期一

Android2.3源码学习01 -- 下载源码

Android源码的开发、学习,官方推荐使用UbuntumacOs系统,下面在Ubuntu 12.04LTS中学习Android 2.3源码。
首先,下载Android源码到本地:

安装git

下载Android源码需要安装git工具:
$ sudo apt-get install git
$ git --version
git version 1.7.9.5

下载repo脚本

下载repo脚本到本地,并赋予可执行权限:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
被墙可以使用国内镜像:
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
$ chmod a+x ~/bin/repo

初始化工作目录

本地建立工作目录以便下载AOSP源码:

$ cd ~
$ mdir WORKING_DIRECTORY
$ export WORKING_DIRECTORY=~/WORKING_DIRECTORY # 设置工作目录环境变量,后面方便引用
$ cd $WORKING_DIRECTORY

初始化工作目录

初始化工作目录,下载代码仓库及BUG修复的列表,默认下载master分支:
$ repo init -u https://android.googlesource.com/platform/manifest
也可以使用-b指定分支:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
分支列表可以参看:Source Code Tags and Builds
被墙使用国内镜像:
首先修改repo脚本,将REPO_URL链接修改为:
REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
或者设置REPO_URL环境变量:
$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
然后执行repo init
# master
$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
# 分支
$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-2.3.7_r1
等待代码同步到本地,如果中断,下次直接执行同步命令,可以继续下载,不用重新开始。

已有仓库修改源

如果已经使用repo sync同步过代码,或者使用repo init初始化过工作目录,可以打开工作目录下配置文件.repo/manifests.git/config,将
url = https://android.googlesource.com/platform/manifest
修改为:
url = https://aosp.tuna.tsinghua.edu.cn/platform/manifest
即可切换仓库。

同步代码

执行同步命令:
$ repo sync

参考阅读

Android logcat

Log等级 Android log 等级在 android/log.h 中定义如下: typedef   enum   android_LogPriority {    /** For internal use only. */ ANDROID_LOG_UNKNOWN =...