Android 11源码下载和编译
目录
- Android 11源码下载和编译
- 一、源码下载
- 二、源码编译
Android 11源码下载和编译
最近摸了快好久的鱼了,感觉人都快废了。刚好这两天固态降价了,买了个sn550当移动硬盘跑Android 11源码,毕竟8.1的还是太老了,现在手机厂商都是基于Android 11或是升级到Android11的。用的环境还是Ubuntu18.04,环境配置请看上篇文章:从零开始学习Android Framework.
一、源码下载
下载方式非常简单,下面是我使用的命令:
#下载repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
#创建并初始化android-11.0.0_r3仓库目录
mkdir android-11.0.0_r3
cd android-11.0.0_r3
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r3 --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
#同步代码
repo sync -c --no-tags
我使用的是清华的源,提几个要注意的点,避免大家踩同样的坑:
使用他们提供的repo,不要用自己apt-get下载的,不然会报如下错误,这个错让我蒙逼了好久
记得加上**–repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo**,否则就会报如下错误,
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle fatal: error [Errno 110] Connection timed out
不过使用清华的源,repo-url应该用https://mirrors.tuna.tsinghua.edu.cn/git/git-repo,但是这样也没报错,能正常使用
原因: repo 每次执行的时候都会去检查更新自己,但是网站被墙了.
报错截图如下:
下面就是正常初始化仓库的截图:
后面就是漫长的同步过程了。同步时空间不足,报错no space,我一想我特地怕空间不够买了个1t固态,把整个虚拟机移动到固态里了,还把之前分配的250G改成了500G,咋还空间不足呢,df -h查看果然总空间只有250G,占用100%,我以为是不是新分配的空间要重启才会生效,直接重启虚拟机结果尬在了开机阶段,百度了下解决方法:Ubuntu无法进入图形化界面(报错/dev/sda1:clean的解决).
能够进入桌面了,但空间还是不足,百度了下怎么给sda1扩容:虚拟机里ubuntu扩容主分区/dev/sda1.
我用gparted打开只有个/dev/sda1分区,把他扩容到500G,其他的分区没管。重新启动后df -h产看果然有500G了,继续同步代码。
然后又报错了,不过按照提示加上-j1 --fail-fast参数,出错时快速停止。因为同步代码时出错基本都是由于网络原因导致,所以出错了马上再repo sync就行了,我这里repo sync一下就好了。
当然如果上述内容无法解决你的问题,您可以访问国内源对应的网址,自己研究下,按照他们提供的方法下载源码即可:
- 清华大学 AOSP 镜像: https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/.
- 中国科技大学 AOSP 镜像: https://mirrors.ustc.edu.cn/help/aosp.html.
二、源码编译
编译还是和android 8一样,使用命令如下:
# 初始化编译环境( .可以用source代替,如 source build/envsetup.sh )
. build/envsetup.sh
# 执行
lunch
# 我这里使用模拟器所以选择 31 (即aosp_x86_64-eng)
Which would you like? [aosp_arm-eng] 31
# 开始编译(这里怕我电脑扛不住用的-j1,电脑好的可加大力度)
make -j1
这里lunch选择的时候我看别人推荐的都是
lunch sdk_phone_x86_64
我只知道lunch的选择不同使编译时make的模块会稍有不同,目前我lunch 31没啥问题所以就不改了
Google官网的AVD使用https://source.android.google.cn/setup/create/avd
结果:编译成功,编了17个半小时,j1太慢了下次试试j2。截图如下
打开虚拟机执行下面命令成功运行模拟器:
. build/envsetup.sh
lunch 31
emulator
截图如下:
这里只出过一个问题,就是out of memory,无论我是直接make还是make -j2都会报错,没办法只能把虚拟机内存调到12G,然后用make -j1编译.
哎,希望以后我这小笔记本还带的动Android源码。
Android 11源码下载和编译相关推荐
- Android系统源码下载与编译、刷机--Nexus6实测
前言 此博文记录一下Android从系统源码下载到刷机的全过程. (https://source.android.com/source/build-numbers.html 页面中列表信息找到自己设备 ...
- android 例子源码_AOSP系列文章(一)-Android系统源码下载和编译
前期准备 从这里开始,我们就去做android系统的修改,相信会有更多的同学有更多的玩法. android是开源的,在源代码里没有秘密. 同学们可以去修改系统,做成自己喜欢的样子.做汽车的车机,到家里 ...
- android内核源码下载和编译
1.下载编译 新建kernel目录 ~/srcAndroid/src4.4.4_r1/kernel目录下,输入命令: seven@ThinkPad:~/srcAndroid/src4.4.4_r1/k ...
- Android kernel源码下载与编译
构建内核 本页详细介绍了为 Android 设备构建自定义内核的流程.以下说明会逐步指导您如何选择正确的源代码,编译内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 编译的系统映像中 ...
- Android12 源码下载、编译、刷机、单编调试Framework
文章目录 说明 1. 代码下载 1.1 下载Repo工具 1.2 安装和配置Git 1.3 创建工程目录 1.4 初始化Repo仓库 1.5 同步代码 2. 驱动下载 2.1 下载对应机型的驱动 2. ...
- VLC for Android源码下载和编译
Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...
- 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译
本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...
- 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...
本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...
- Android 4.0.1 源码下载,编译和运行
[牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...
- android源码下载以及编译自己的ROM
android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...
最新文章
- CSS中各种各样居中方法的总结
- 看动画轻松理解“递归”与“动态规划”
- php 生成wsdl工具,php中使用zendstudio 12为soapserver生成wsdl文件
- 移动端下拉刷新原理和实例
- 用Python的Tultle模块创建一个五角星
- vuex 的 action 传参问题
- ora错误匹配java_上周上线碰见的ORA-00054错误回放
- 智慧社区防控(测温)
- java用cmd编译access数据库_java直接存取MS Access的mdb数据库文件
- 200 行代码解读国产数据库阿里 OceanBase 的速度源头!| CSDN 博文精选
- Practical Machine Learning实用机器学习 章1
- docker容器网络通信原理分析
- 使用ffpemg无损快速从视频中提取音频的操作教程(记录笔记超详细)
- 【美】纳西姆·尼古拉斯·塔勒布 - 随机漫步的傻瓜(2013年7月8日)
- 【转】Spring横切面(advice),增强(advisor),切入点(PointCut)(JAVA后端)
- Python:数据导出到Excel(使用xlwt)
- 一般企业应用上云架构实践
- Unity3D摄像机远、近切面绘制
- ebs克隆oracle not,Oracle EBS 12.1.3 Rapid Cloning 克隆
- 2021-11-19周赛总结
热门文章
- 空格表示 java_java 正则表达式 空格怎么表示
- Jmeter(十七)Logic Controllers 之 Interleave Controller
- HDU 5348 MZL's endless loop(DFS去奇数度点+欧拉回路)
- 阿里大于短信返回XML
- MVC4 EF6 MYSQL
- MySQL中修改root密码的方法
- 一张有转折意义的神秘地图
- linux常用命令行编辑快捷键
- 如何提高go代码覆盖率_我是如何把5万行C++代码移植到Go的?
- QML 获取当前时间戳 yyyy-MM-dd hh:mm:ss.zzz