Android-源码下载编译教程

阳光穿透心脏的1/2处 2022-06-05 10:35 468阅读 0赞

Ubuntu安装git工具

sudo apt - get install git

git config –global user . email “test@test . com”

git config –global user . name “test”

Ubuntu安装repo

curl https : //storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a + x ~ / bin / repo

下载Android源码

#此过程需要在polipo翻墙环境下进行

#创建source目录

mkdir source

cd source

#构建repo项目目录

repo init - u https : //aosp.tuna.tsinghua.edu.cn/platform/manifest

#下载Android源码

repo syns

改用科大源下载

如果觉得慢,可以使用科大源下载源码,实际速度为你电脑网速。

参考链接如下: https://lug.ustc.edu.cn/wiki/mirrors/help/aosp

编译源码前的准备工作

为apt-get添加阿里云源

deb http : //mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiverse

deb http : //mirrors.aliyun.com/ubuntu/ quantal-security main restricted universe multiverse

deb http : //mirrors.aliyun.com/ubuntu/ quantal-updates main restricted universe multiverse

deb http : //mirrors.aliyun.com/ubuntu/ quantal-proposed main restricted universe multiverse

deb http : //mirrors.aliyun.com/ubuntu/ quantal-backports main restricted universe multiverse

deb - src http : //mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiverse

deb - src http : //mirrors.aliyun.com/ubuntu/ quantal-security main restricted universe multiverse

deb - src http : //mirrors.aliyun.com/ubuntu/ quantal-updates main restricted universe multiverse

deb - src http : //mirrors.aliyun.com/ubuntu/ quantal-proposed main restricted universe multiverse

deb - src http : //mirrors.aliyun.com/ubuntu/ quantal-backports main restricted universe multiverse

安装依赖软件

sudo apt - get install - y git flex bison gperf build - essential libncurses5 - dev : i386

sudo apt - get install libx11 - dev : i386 libreadline6 - dev : i386 libgl1 - mesa - devg ++ - multilib

sudo apt - get install tofrodos python - markdownlibxml2 - utilsxsltproc zlib1g - dev : i386

sudo apt - get install dpkg - devlibsdl1 .2 - devlibesd0 - dev

sudo apt - get install git - coregnupg flex bison gperf build - essential

sudo apt - get install zip curl zlib1g - devgcc - multilibg ++ - multilib

sudo apt - get install libc6 - dev - i386

sudo apt - get install lib32ncurses5 - devx11proto - core - devlibx11 - dev

sudo apt - get install lib32z - devccache

sudo apt - get install libgl1 - mesa - devlibxml2 - utilsxsltproc unzip m4

添加 OpenJDK

安装OpenJDK

从Android 6.0开始Android源码的编译需要安装OpenJDK,不能使用Oracle JDK,而且Android 6.0只能使用OpenJDK7

sudo add - apt - repository ppa : openjdk - r / ppa

sudo apt - getupdate

sudo apt - getinstall openjdk - 7 - jdk

添加配置项

export JAVA_HOME = / usr / lib / jvm / java - 7 - openjdk - amd64

exportJRE_HOME = ${ JAVA_HOME } / jre

exportCLASSPATH = . : ${ JAVA_HOME } / lib : ${ JRE_HOME } / lib

exportPATH = ${ JAVA_HOME } / bin : $ PATH

编译代码

添加CCACHE

为.bashrc文件末尾添加:export USE_CCACHE = 1

echo export USE_CCACHE = 1 >> ~ / . bashrc

设置高速缓存

为了提高编译效率,设置编译器高速缓存:

prebuilts / misc / linux - x86 / ccache / ccache - M 50G

导入Android环境变量

导入编译Android源码所需的环境变量和其它参数:

source build / envsetup . sh

选择编译类型

lunch

#选择1:aosp_arm - eng

开始编译

开始编译,执行make -j10, 10为同时编译的线程数,一般google推荐这个数字为2倍的cpu个数再加上2,比如4核,就是10。

make - j10

编译成功

![Image 1][]

编译系统无法运行,于是使用别人提供的系统进行编译( http://blog.csdn.net/fuchaosz/article/details/51487585 ),通过上面描述的方法进行编译,编译成功。

运行Android 系统

将配置环境到导致到上下文中

source build/envsetup.sh

执行lunch

lunch

#编译时选择之前编译的build target(aosp_arm-eng)

配置上下文

export ANDROID_BUILD_TOP= $ANDROID_SOURCE /

export ANDROID_PRODUCT_OUT= $ANDROID_SOURCE /out/target/product/generic/

cd $ANDROID_SOURCE /prebuilts/android-emulator/linux-x86_64

启动模拟器

emulator

![Image 1][]

Center

问题汇总

问题1

error : error opening ‘out / host / darwin - x86 / obj / SHARED_LIBRARIES / libart_intermediates / gc / heap.d’: No space left on device

fatal error : error in backend: IO failure on output stream.

ninja: build stopped: subcommand failed.

make: * * * [ninja_wrapper] Error 1

解决方案(分区磁盘小了)

修改磁盘大小 $ sudo hdiutil resize - size < new - size - you - want > g

~ / android.dmg.sparseimage

参考

http://blog.csdn.net/fuchaosz/article/details/51487585

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,468人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Android下载

    下载源代码 Android 源代码树位于由 Google 托管的 Git 代码库中。Git 代码库中包含 Android 源代码的元数据,其中包括与对源代码进行的更改以及