首页 > 其他分享 >AOSP下载编译

AOSP下载编译

时间:2023-05-10 13:23:14浏览次数:48  
标签:git 编译 aosp dev repo AOSP android 下载

平台:Ubuntu 22.04 Desktop

文件:AOSP(清华源/中科大源)

AOSP,全称"Android Open Source Project",中文意为"Android 开放源代码项目"。发起者是谷歌,主要用途是移动设备的系统。

这里通过清华源下载Android代码。

1.安装依赖

$ sudo apt install build-essential bc flex bison gawk texinfo libncurses5-dev libssl-dev ssh net-tools
$ sudo apt install git cmake python3 gnupg gperf zip unzip wget curl zlib1g-dev gcc-multilib g++-multilib libc6-dev x11proto-core-dev libx11-dev lib32z1-dev liblz4-dev ccache libgl1-mesa-dev libxml2-util xsltproc u-boot-tools
$ sudo apt install openjdk-8-jdk

1.1 配置Git

填入你的邮箱和用户名,后面repo会用到。

$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"

1.2 配置JDK

在java.security做如下修改:

--- a/etc/java-8-openjdk/security/java.security
+++ b/etc/java-8-openjdk/security/java.security
@@ -703,7 +703,7 @@ jdk.jar.disabledAlgorithms=MD2, MD5, RSA
 #
 # Example:
 #   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
-jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
+jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
     DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
     include jdk.disabled.namedCurves

2.下载AOSP

下载方法也可参考官方教程,或者往下看(以清华源为例):

清华源官方教程:[https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/].

中科大源官方教程:[https://mirrors.ustc.edu.cn/help/aosp.html].

2.1 下载repo

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
$ chmod a+x ~/bin/repo

repo的运行过程中会尝试访问官方的git源更新自己,但国内可能无法访问官方地址,所以更换成清华源的地址:

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

2.2 下载aosp

建立工作目录:

$ mkdir android
$ cd android/

清华源提供了两种方式下载aosp,两种方法(正常方法/下载包方法)任选其一即可:

2.2.1 正常方法

$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

或者指定版本(版本号可参考2.2.3):

$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r25

然后执行:

$ repo sync -j4

最好不要超过4个线程下载,原因是:线程数越多,消耗源服务器的资源越多,清华源的服务器还可能会拒绝而自动断开。

2.2.2 下载包方法

$ curl -OC - https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
$ tar -xvf aosp-latest.tar

# 解压得到的 AOSP 工程目录 $ cd AOSP/ $ repo sync -j4

2.2.3 Android版本号参考

截至2023.5.10:

# 如android-13.0.0_r41
android-13.0.0_r[1~41]

# 如android-12.1.0_r25
android-12.1.0_r[1~27]

android-12.0.0_r[1~46]
android-11.0.0_r[1~66]
android-10.0.0_r[1~75]
android-9.0.0_r[1~76]
android-8.1.0_r[1~93]

官网上介绍的更详细(但可能无法访问):

[https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds]

3.编译AOSP

以编译x86_64的Android模拟器为例:

$ source ./build/envsetup.sh
$ lunch

执行lunch,会显示一个列表,可供我们选择需要编译的工程:

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_barbet-userdebug
     4. aosp_bluejay-userdebug
     5. aosp_blueline-userdebug
     6. aosp_blueline_car-userdebug
     ...
     44. aosp_x86-eng
     45. aosp_x86_64-eng
     ...
     78. yukawa_sei510-userdebug

Which would you like? [aosp_arm-eng]

只要输入对应工程的数字序号,然后回车即可,也可以直接一步到位:

$ lunch 45

# 或者:
$ lunch aosp_x86_64-eng

然后执行编译:

$ make -j8

如果编译顺利的话,就生成了x86_64的Android模拟器了,我们执行:

$ emulator

就可以启动Android模拟器了。

标签:git,编译,aosp,dev,repo,AOSP,android,下载
From: https://www.cnblogs.com/phoebus-ma/p/17387697.html

相关文章

  • 修改下载地址路径
    fromselenium.webdriver.chrome.optionsimportOptionschrome_options=Options()    prefs={"download.default_directory":'{}'.format('下载地址')} #下载路径为D:\电子保单下载    chrome_options.add_experimental_option(&quo......
  • Rocky Linux:编译安装nginx 1.24.0(Rocky Linux 9.1)
    一,官网:http://nginx.org/如图:二,下载并解压下载:[root@imgnginx]#wgethttp://nginx.org/download/nginx-1.24.0.tar.gz解压:[root@imgnginx]#tar-zxvfnginx-1.24.0.tar.gz 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectfor......
  • Google Chrome浏览器离线安装包下载方式
    GoogleChrome是应用很广泛的浏览器,默认是在线安装模式。如果网络速度很慢,或者没有网络的时候,就需要离线安装包了。32位Chrome离线包下载:http://www.google.cn/chrome/browser/desktop/index.html?standalone=164位Chrome离线包下载:http://www.google.cn/chrome/brow......
  • 修复 C# 8.0 语法编译失败
    在使用using等新语法时,在VisualStudio2019+会自动判断框架版本,如在net45就不会自动使用最新版本的语法,需要修改项目文件在使用C#8.0之前,请在 官网下载最新的VisualStudio2022版本如果在编译时提示“Using声明”在C#7.3中不可用。请使用8.0或更高的语言......
  • Docker部署网易云音乐解灰无版权VIP音乐播放下载
    若服务器已搭建好Docker,则跳过输入搭建docker命令,回车执行,耐心等待安装完成curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun执行一键部署命令dockerrun-dit\ -eENABLE_FLAC=true\ -eENABLE_LOCAL_VIP=svip\ -eBLOCK_ADS=true\ -eSEARCH_A......
  • [oeasy]python0050_动态类型_静态类型_编译_运行
    动态类型_静态类型回忆上次内容上次了解了帮助文档的生成开头的三引号注释可以生成帮助文档文档可以写成网页 python3本身也有在线的帮助手册 目前的程序提高了可读性 ​ 添加图片注释,不超过140字(可选......
  • 【笔记】编译原理 - 中
    5语法制导翻译考虑语义分析——为CFG中的文法符号设置语义属性;在语法分析树上,语义属性值用与文法符号所在产生式(语法规则)相关联的语义规则来计算语义规则同语法规则(产生式)相联系,涉及概念:语法制导定义(Syntax-DirectedDefinitions,SDD)语法制导翻译方案(Syntax-Directe......
  • Node + Express 后台开发 —— 上传、下载和发布
    上传、下载和发布前面我们已经完成了数据库的增删改查,在弄一个上传图片、下载csv,一个最简单的后台开发就已完成,最后部署即可。上传图片需求需求:做一个个人简介的表单提交,有昵称、简介和头像。后端能接收数据并保存到数据库。接收不到数据用amis-editor(amis低代码编辑器,更......
  • 软件开发文档说明及下载(又全又详细)
    写在前面在日常项目开发过程中,会产生大量的过程文档,比如开发过程中的文档、管理过程中的文档、产品相关文档等等,那这些文档我们日常怎么去管理呢?怎么去做规划呢?如何做成通用标准呢?小编特地整理了一整套全过程文档。获取方式q:262086839。目录01计划阶段项目信息表项目实施......
  • 《开发板移植tcpdump 交叉编译 带有依赖库如何移植》
    1.下载源码由于tcpdump依赖于libpcap,所以需要先下载这两个的源代码;官方地址:https://www.tcpdump.org/这里示例所下载的版本是tcpdump-4.9.3.tar.gzlibpcap-1.9.1.tar.gz 2.编译libpcap解压libpcap源码,创建build目录,避免编译的临时文件污染源码tarxvflibp......