Android开发

Android 源码 rom 下载编译

本文主要是介绍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  (这个过程时间较长,可能需要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

这篇关于Android 源码 rom 下载编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!