Android源码下载套路

2017-09-14  本文已影响0人  柒黍

以前陆陆续续下载源码,现在有更好的方式记录下方便以后查阅.

方式一: 从Google官方下载(翻墙)

官网网址'

1.新建目录用于存放repo脚本

/Users/leon/develop/android/android-src/bin

2.配置环境变量(没有bash_profile就新建一个)

vim ~/.bash_profile

3.新增内容(为了方便以后命令操作)

## android-src
export ANDROID_SRC_HOME=/Users/leon/develop/android/android-src
export PATH=${PATH}:${ANDROID_SRC_HOME}/bin

4.下载Repo脚本文件

curl https://storage.googleapis.com/git-repo-downloads/repo > /Users/leon/develop/android/android-src/bin/repo
cd /Users/leon/develop/android/android-src/bin
chmod a+x repo

5.创建src目录,名称可更改


image.png

6.进入src目录,执行初始化命令:

cd src
repo init -u https://android.googlesource.com/platform/manifest

同步成功后此分支为最新分支
7.查看所有分支

git branch -a

8.选择目标版本

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
repo sync

方式二: 从镜像同步源代码(无需翻墙)

可以使用清华大学的镜像。https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
1.新建目录用于存放repo脚本

/Users/leon/develop/android/android-src/bin

2.配置环境变量(没有bash_profile就新建一个)

vim ~/.bash_profile

3.新增内容(为了方便以后命令操作)

## android-src
export ANDROID_SRC_HOME=/Users/leon/develop/android/android-src
export PATH=${PATH}:${ANDROID_SRC_HOME}/bin

4.下载Repo

cd /Users/leon/develop/android/android-src/bin
git clone https://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/ .

修改Repo文件:

vim repo
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
改为
REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'

5.创建src目录,名称可更改


image.png

6.因为我是在MAC环境下,使用迅雷下载初始化包,(无法断点续传)


image.png

还可以选择(我的做法)

#下载重试不限次数,防止网络异常中断
wget -c -t 0 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar 
tar -vxzf aosp-latest.tar
cd aosp 
#这时ls的话什么也看不到,因为只有一个隐藏的.repo目录
repo sync

7.查看当前分支
cd .repo/manifests
git branch

8.查看所有分支

cd .repo/manifests
git branch -a
image.png

9.切换分支

cd ../..
repo init -b android-6.0.1_r63
repo sync

源代码目录含义:

目录名 描述
abi: 应用程序二进制接口
bionic: C/C++运行时库,在NDK程序中很大一部分调用就是这里的程序
bootable: 用于Android装载和启动程序,其中就包括bootloader和recovery。 bootloader是Android中唯一在LInux内核之前执行的程序。通过这段程序可以初始化硬件,建立内存控件的映射图等,总之,bootloader就是为LInux内核准备合适的运行环境。
build: 用于编译Android源代码以及建议system.img,ramdisk.img等文件的工具
cts: 用于兼容性测试的工具
dalvik: Dalvik虚拟机的源代码
development: 高层的开发和调试工具
device: 与设备相关的代码
docs: 包含与Android源代码项目的文档和工具,如Dalvik虚拟机格式文档等
external: 扩展工具的源代码
framworks: Android框架层源代码。也就是Android SDK的源代码
hardware: 硬件层接口和库
libcore: Java核心库
ndk: NDK相关的源代码
packages: 与Android系统一同发布的应用程序的源代码
prebuilts: Android在各种平台下编译之前要使用的工具
sdk: 在开发环境中使用的工具,如ddms,draw9path,sdkmanager等
system: Android的基本系统

上一篇下一篇

猜你喜欢

热点阅读