1.android源码编译android-7.1.2_r39

当前选择环境

Ubantu18.04环境下编译android源码

安装vmware和ubuntu18.04搭建基础环境

编译安卓环境我推荐300G磁盘,repo拉出来的源码应该有30多个G编译啥啥啥的一会儿就100多G,我看有人直接跑200G,所以我为了保险直接300G,之前一个50G的磁盘1小时下载直接爆掉,扩容半天太麻烦了,还是直接跑300G保险保险
2019-12-09-10-54-53

设置apt镜像

sudo su
apt install vim -y
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

文件内容

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
sudo apt-get update

安装android 需要的环境

环境搭建文档:
https://source.android.com/setup/build/initializing

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 libgl1-mesa-dev libxml2-utils xsltproc unzip

1.安装repo

# 安装基础软件
sudo apt install git vim curl -y

# 配置git
git config --global user.name "your name"
git config --global user.email "XXX@XXX.com"

# 安装git-repo ,如果使用snap安装会很慢,所以直接用git拉
git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/ git-repo

# 增加执行权限
chmod a+x git-repo/repo

# 修改镜像地址
vim ./git-repo/repo
# 按 /REPO_URL 进行查找然后修改,如图1
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

图1

图1

2.down android源码

查看android版本:
https://source.android.com/setup/start/build-numbers

环境搭建文档:
https://source.android.com/setup/build/initializing

第一种repo直接同步

# 创建存放源码的文件目录
mkdir -p ~/android/source

# 初始化 执行版本的分支
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-7.1.2_r39

# 同步最新代码 -j线程
repo sync -j16  -f 

第二种初始包同步

#第二种Android源码的方式是先下载个初始包,然后在执行repo sync进行代码同步即可

wget -c -t 0 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
tar -xvf aosp-latest.tar
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-7.1.2_r39
repo sync -j8



#在最终 同步完代码后,建议最后执行一次,同步基本不会出问题保证
repo sync

3.开始编译源码

1.初始化编译环境
# !!以下操作在一个terminal中发生
# 进入到android目录,执行初始化环境变量
chmod +x ./build/envsetup.sh
# 直接执行lunch,如果没有就需要使用apt进行安装即可
source ./build/envsetup.sh
2.设置编译目标
# aosp表示Android Open Source Project
# arm64表示是使用arm64 cpu的设备,eng表示engineer版本
lunch aosp_arm64-eng
3.执行编译
make -j8
4.启动镜像进行测试
QA

Q: build/core/ninja.mk:148: recipe for target ‘ninja_wrapper’ failed

A:Just replace your make by export LC_ALL=C make or put the export in your .bashrc

参考:http://www.programmersought.com/article/3467813162/

export LC_ALL=C make
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值