IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android源码阅读-编译8,附赠课程+题库 -> 正文阅读

[移动开发]Android源码阅读-编译8,附赠课程+题库

tar xf aosp-latest.tar
cd AOSP # 解压得到的 AOSP 工程目录

这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录

repo sync # 正常同步一遍即可得到完整目录

或 repo sync -l 仅checkout代码


这是清华大学开源软件镜像站提供的方法,按照这个做,没错,只不过耗时而已,看个人的网速。当然了也可以下载指定的Android版本源码,具体方法,请查看介绍: [Android 镜像使用帮助]( )

*   首先我们需要安装一些依赖:

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-dev g+±multilib
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 lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4


*   设置编译器高速缓存

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


*   安装openJDK8

sudo apt-get install openjdk-8-jdk


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

source build/envsetup.sh


*   使用 lunch 选择要编译的目标。确切的配置可作为参数进行传递

lunch aosp_arm-eng


*   编译代码

make -j4


通过以上几步,我们就可以耐心的等待编译了,我这边是下班的时候开始编译的,等到第二天早上过来的时候,就提示已经编译成功,我也没想到一次性编译通过,毕竟在Mac上面编译了一个多月,基本都是在1%的时候就会报错,然后就一直Google,奈何一直找不到解决方法,就换成Ubuntu了,没想到一次性编译通过。

* * *

我们编译Android源码的主要目的还是查看分析Android源码,所以接下来我们得生成AndroidStudio查看源码的格式。

*   AndroidStudio查看源码环境

以上若已经编译成功的话,我们进入到Android源码的路径下面,首先我们需要生成AndroidStudio所需要的格式

mmm development/tools/idegen/


执行成功之后再次执行

sh ./development/tools/idegen/idegen.sh


通过以上两条命令的话,就可以生产AS 所需要的文件了**android.ipr**,进入Android源码根目录,打开AndroidStudio,导入这个文件即可,初次导入,时间比较久。

**以上便是大概的过程,我大概经历了一个多月的时间才真正的编译成功,这期间放弃、继续、放弃、继续,来回挣扎,所以如果真想编译Android源码的话,建议,耐心一点,出现问题,找Google,换种思路继续,坚持到最后应该就可以了编出来了。**

* * *

### 关于作者
## 最后

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。

**技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;**

 > 我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

>![](https://img-blog.csdnimg.cn/img_convert/5601c01d335c9471298b3faf63a67da2.png)

 **Java语言与原理;**
大厂,小厂。Android面试先看你熟不熟悉Java语言

> ![](https://img-blog.csdnimg.cn/img_convert/0c2daffc664f845ff6ff99ce5a9c1b48.png)

**高级UI与自定义view;**
自定义view,Android开发的基本功。

> ![](https://img-blog.csdnimg.cn/img_convert/e39b4144c488367a6a9b8cbcce4654b1.png)

**性能调优;**
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

> ![](https://img-blog.csdnimg.cn/img_convert/c06aeb96e8d5bcc112e5934a711d50a4.png)

**NDK开发;**
未来的方向,高薪必会。

> ![](https://img-blog.csdnimg.cn/img_convert/65821be67062d6573b4604918e4d87b6.png)

**前沿技术;**
组件化,热升级,热修复,框架设计

> ![](https://img-blog.csdnimg.cn/img_convert/9a9921e2298921d0efb85eec652fce4f.png)

> 网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,CodeChina可见;

**[CodeChina开源项目地址:https://codechina.csdn.net/m0_60958482/android_p7](https://codechina.csdn.net/m0_60958482/android_p7)**

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

**不出半年,你就能看出变化!**

0958482/android_p7)**

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

**不出半年,你就能看出变化!**

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:16:16  更:2021-09-06 11:17:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:21:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码