1.git安装
sudo apt-get install git
git config –global user.email “android_wuhongyun@163.com”
git config –global user.name “wuhongyun”
2.repo安装
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
如果curl没有安装
sudo apt install curl
3.建立源码文件夹
mkdir android
cd android
4.初始化repo
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
如果失败则替换掉repo文件中的REPO_URL
REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
如提示repo has been initialized in /home/wuhongyun则是repo安装完成补充:不带参数的manifest命令用于获取master上最新的代码,但是可以通过-b参数指定获取某个特定的android版本
5.下载android版本
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.0.1_r1
6.同步代码到本地
repo sync
7.安装JDK7
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
附:AOSP的Android主线 OpenJDK 8
Android 5.x至android 6.0 OpenJDK 7
Android 2.3.x至Android 4.4.x Oracle JDK 6
Android 1.5至Android 2.2.x Oracle JDK 5
8.依赖库下载
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip u-boot-tools gawk
9.初始化编译环境
source build/envsetup.sh
10.选择编译目标
lunch
lunch命令后会出现很多编译目标,此时我们选择其一
11.开始编译
make
为了编译效率,可以使用make -j4命令指定编译线程数。
12.错误
recipe for target 'out/host/linux-x86/obj32/lib/libnativehelper.so' failed
1)
修改art/build/Android.common_build.mk
修改前:
# Host.
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),true)
# By default, host builds use clang for better warnings.
ART_HOST_CLANG := true
endif
修改后:
# Host.
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),false)
# By default, host builds use clang for better warnings.
ART_HOST_CLANG := true
endif
2)
cp /usr/bin/ld.gold ~/android/android5.0/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld
修改过上述代码后,最好执行一次make update-api,在make