Android 源码下载并编译Rom

1.repo工具下载及安装

	mkdir ~/android-repo
	cd ~/android-repo
	git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/
	chmod a+x git-repo/repo

然后添加repo(路径目录如:~/git-repo/repo)到PATH环境变量

    export PATH=~/git-repo:$PATH

然后到打开 ~/git-repo/repo 文件,将 REPO_URL 替换为清华镜像地址,以避免下载 android 源码时可能出现的无法连接到 gerrit.googlesource.com 问题。

	REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

2.Android 源码下载

首先创建一个自己存放源码的目录,cd 到对应的路径下执行下面命令:

mkdir ~/android-repo/android-source
cd ~/android-repo/android-source

repo init --depth 1 -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r52  (相当于 git init\clone )
repo init --depth 1 -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r43  如果不需要看以前的历史记录,设为1即可
repo sync -c --no-tags -j4   其中 -c 表示只更新当前分支;--no-tags,不获取标签
(这个过程时间较长,可能需要2个小时以上)

注意:在 ubuntu 分配至少 250 G 空间

3.Ubuntu 18.04 编译环境配置

首先得配置 openjdk-8

    sudo apt-get install openjdk-8-jdk
    sudo apt-get install openjdk-8-jre

然后配置在 ubantu 18.04 中编译 android 源码需要的一些依赖

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache

4、编译Android源码

始化编译环境,命令

	source build/envsetup.sh

选择编译目标

    lunch aosp_arm64-eng
    或 lunch aosp_x86_64-eng

开始编译与运行模拟器

    make -j32
    emulator

5、相关错误说明

(1)_nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME)

    export LC_ALL=C 
    export USER=$(whoami)

(2) echo $PATH — 查看环境变量

    /etc/profile 中设定的变量(全局)的可以作用于任何用户,
     而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile 中的变量,他们是"父子"关系
    alias python='/usr/bin/python3.6'
    /usr/bin/env python  改成   /usr/bin/env python3

在这里插入图片描述
在这里插入图片描述

6、参考文档:

(1)在谷歌云上高速编译安卓AOSP ROM、驱动、内核并完成刷机
(2)AOSP 源码编译及刷入Nexus 5
(3)使用 Android 模拟器运行自定义 Rom

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值