Android AOSP和Android-X86源码下载编译终极普法
Android AOSP和Android-X86源码下载编译终极普法
引言
最近有朋友在询问怎么下载Android AOSP源码和Android-X86源码,编译学习!其实这个说简单也简单,说复杂吗也不复杂。但是难在真的干起来!凯子哥的风格吗,既然朋友们有这个需求,那就必须满足,这不就给朋友们安排上了。这是一门实操博客,没有过多啰嗦的,直接开干!
1.由于国内的环境,此处默认大伙是不能翻墙的情况下进行相关源码的下载,如果能翻墙的话那就比较简单了。
2.这里的操作系统环境,以ubunut 20.04为准
3.如果读者只是仅仅阅读源码,不需要编译调试可以直接在线查阅Android源码,这个有好几个网站国内不需要翻墙也可以访问
一.下载编译Android-X86源码
这是实操博客,啥也不多说,直接开车就是了,错了直接开干。朋友们,一起动起来!
1.1 创建下载脚本目录构建环境
新建一个存放下载脚本文件的目录
mkdir ~/bin PATH=~/bin:$PATH
下载repo脚本文件
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
打开bin文件夹下的repo文件,将REPO_URL进行替换:
REPO_URL = 'https://gerrit.googlesource.com/git-repo'改为REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
1.2 创建x86下载目录,准备开始下载
创建相应的下载目录开始下载
mkdir android-x86cd android-x86repo init -u git://git.osdn.net/gitroot/android-x86/manifest -b r-x86
这里关于具体的Android版本号对应的branch,这里简单给出一下:
Android版本号 | 英文简称 |
---|---|
Android 12 | S |
Android 11 | R |
Android 10 | Q |
Android 9 | Pie |
另外这里还有一点必须说明一下的是,如果你是可以翻墙忽略下一步,直接下载:
因为Android仓库的源我们国内无法直接下载,需要翻墙,因为我们无法翻墙,所以这里在将谷歌的源替换成清华的源,如下:
vi .repo/manifests/default.xmldiff --git a/default.xml b/default.xml
index c59ca95..d82cd9c 100644
--- a/default.xml
+++ b/default.xml
@@ -2,7 +2,7 @@<manifest><remote name="aosp"
- fetch="https://android.googlesource.com/" />
+ fetch="https://aosp.tuna.tsinghua.edu.cn" /><default revision="refs/tags/android-11.0.0_r48"remote="aosp"sync-c="true"
1.3 开始下载
开始同步下载:
repo sync
如果仅仅是想获取代码,不需要tag或者git信息,可以有一种更加快速的方法,repo sync --no-tags --no-clone-bundle
1.4 开始编译
这里的编译就比较简单了,直接执行如下的几个命令就OK了:
souce build/envsetup.sh //输入lunch选择目标CPU类型lunch android_x86_64-userdebugmake -j32 iso_img
最后生成的镜像如下:
二.下载编译Android AOSP源码
啥也不多说,直接开干就是了。尼玛真是烦躁啊!
2.1 创建下载脚本目录构建环境
新建一个存放下载脚本文件的目录
mkdir ~/bin PATH=~/bin:$PATH
下载repo脚本文件
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
打开bin文件夹下的repo文件,将REPO_URL进行替换
REPO_URL = 'https://gerrit.googlesource.com/git-repo'改为REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
2.2 创建aosp下载目录,开始下载
创建相应的下载目录
mkdir android_source cd android_sourcerepo init -u git://git.osdn.net/gitroot/android-x86/manifest -b r-x86
下载初始化包:
wget -c -t 0 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar tar xvf aosp-latest.tar
解压后看到一个aosp的目录,进到该目录,同步到android-11.0.0_r37版本
cd aosp repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r37 repo sync
1.此处我们通过wget下载的是清华打包好的源,由于地域或者网络因素可能下载会很慢而且可能wget会异常退出,这个建议开发者最好是最清晨或者网络比较空闲的时候下载
2.如果使用清华的源下载的速度非常慢的话,建议开发者可以切换到中科大的源进行先关的操作,具体可以详见博客使用清华或中科大AOSP源镜像下载Android源码和中科大AOSP 镜像使用帮助。
2.3 开始编译
怎么编译,这就不是本文介绍的重点了,读者可以根据具体需要编译的project自行选择。这里我要重点说的是,假如读者是第一次编译,可能需要安装如下的相关编译依赖工具:
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
sudo apt-get install libncurses5
如果在安装的过程中遇到,无法定位软件包 libesd0-dev,请执行如下操作:
sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
sudo apt-get update && sudo apt-get install libesd0-dev
在具体的编译过程中,可能会遇到各种错误提示,通常是有一些依赖没有安装造成的,朋友可以在编译的过程中自行安装即可。
写在最后
好了,打卡收工下班。今天的博客Android AOSP和Android-X86源码下载编译终极普法件就到这里了。总之,青山不改绿水长流先到这里了。如果本博客对你有所帮助,麻烦关注或者点个赞,如果觉得很烂也可以踩一脚!谢谢各位了!
Android AOSP和Android-X86源码下载编译终极普法相关推荐
- Android 4.4 Kit Kat 源码下载
Android 4.4 Kit Kat源码下载 为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中. 官网中也有详细的介 ...
- Linux自带的五子棋游戏,Android 五子棋游戏示例图与源码下载
Android 五子棋游戏源码很多,下面是一款不错的Android五子棋游戏示例图及源码,导入Eclipse工程就可以使用了. Android 五子棋游戏部分源码: package five.itca ...
- Ubuntu20.4 Android-9.0.0_r46源码下载编译
Ubuntu20.4 Android-9.0.0_r46源码下载编译调试 安装Ubuntu虚拟机 ubuntu镜像下载地址: https://ubuntu.com/download 官网下载地址较慢可 ...
- Android FrameWork学习(一)Android 7 0系统源码下载 编译
最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...
- Android FrameWork学习(一)Android 7.0系统源码下载\编译
重点内容 转载. http://blog.csdn.net/cjpx00008/article/details/60474883 硬件环境要求 1. 编译环境 按照官方的说法,编译Android 2. ...
- linux编译android源码,ubuntu16.04 Android源码下载编译
本次编译源码的电脑为Ubuntu 16.04,4核 + 4G内存. 注. 对于电脑配置低的建议不要编译7.0以上的版本,就像我这台电脑,基本编译7.0以上都会报内存不足问题,因为在7.0版以上andr ...
- android 源码下载编译
引用:http://www.2cto.com/kf/201202/121175.html 最新的android4.0源代码公布以后,相信很多人和我一样都跃跃欲试,其实4.0的代码下载和编译和以前的版本 ...
- android源码下载,编译及编译时遇到的错误整理
一.环境搭建 因为android的源码编译只支持linux和mac,所以无法在windows下编译.我的电脑也没有双系统,因此只有装一个虚拟机.我用的是VMware workstation 我放到了百 ...
- 【转】Android用NDK和整套源码下编译JNI的不同
原文网址:http://www.devdiv.com/android_ndk_jni_-blog-99-2101.html 前些天要写个jni程序,因为才几行代码,想着用ndk开发可能容易些,就先研究 ...
最新文章
- AI项目成功的4要素
- java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。
- 三角网导线平差实例_导线测量平差实例
- 蓄电池单格电压多少伏_蓄电池充电规范手册
- 21 | 哈希算法(上):如何防止数据库中的用户信息被脱库?
- 为什么会有这么多种程序设计语言?
- java数据类型转换方向_java基础学习篇02(数据类型转换和基本面试题)
- sql server从数据库导出导入教程
- OSWatcher使用简介
- 算法:回溯二 生成有效括号对Generate Parentheses
- vb2010 连接mysql,VB连接数据库方式汇总
- linux 程序的权限设置,Linux权限设置详解
- 批量将 txt 记事本文件按照固定行数拆分成单个独立的 txt 小文件
- 超详细:安装Linux系统教程
- 超宽屏幕比例_选择合适的21:9超宽带鱼屏屏幕(普通屏幕也可)
- mingw-w64-install.exe
- Flume之生产正确的使用方式一(Singel Agent)
- php 26个字母输出三角形,php使用for语句输出三角形的方法
- ng配置解决跨域请求
- 原创+转载 四大软件-军港速达直播厅,屏幕录像专家,电脑安全工具箱,红客专用电脑安全工具箱...
热门文章
- 学习Android启动初始化 App StartUp
- 十一、总结一下今天在SpringAOP中遇到的一个坑,事务控制一直失败,自己感觉代码没错的感觉,往底层看,很明了了
- linux 重建ext4分区表,Linux 格式化U盘为ext4格式以及修复分区表方法
- LODOP.ADD_PRINT_TEXT 参数解释说明
- python 游戏(记忆拼图Memory_Puzzle)
- 字体在ppt中可以整体替换吗_PPT字体替换其实很简单
- C# WAV音乐多音轨合并
- 诚之和:字节再迎裁员潮温州百人“大撤退”、ohayoo应届生“团灭”
- PHP 留言板功能需求分析
- 数值计算笔记之数值积分(一)