Android源代码下载与编译 - 2019 (基于Ubuntu 18.10,适用于国内环境)

下载repo工具

如果没有下载repo脚本工具,请到清华mirror下载

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo

然后设置更新源:

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

下载Android

因为Android的源码越来越大,repo sync失败的概率也越来越高。
所以我们可以避开使用repo sync的方式,而采用下载预下载包的方式来实现:

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
repo sync # 正常同步一遍即可得到完整目录

下载厂商代码

例,我们用hikey960的代码:

wget https://dl.google.com/dl/android/aosp/hisilicon-hikey960-OPR-3c243263.tgz
tar xf  hisilicon-hikey960-OPR-3c243263.tgz

解压之后会生成extract-hisilicon-hikey960.sh,运行这个文件:

./extract-hisilicon-hikey960.sh

接受协议输入I ACCEPT,然后就可以顺利解压运行。
会解压出下面的一些文件和目录:

vendor/
vendor/linaro/
vendor/linaro/hikey960/
vendor/linaro/hikey960/hisilicon/
vendor/linaro/hikey960/hisilicon/device-partial.mk
vendor/linaro/hikey960/hisilicon/BoardConfigPartial.mk
vendor/linaro/hikey960/hisilicon/proprietary/
vendor/linaro/hikey960/hisilicon/proprietary/libOMX.hisi.vdec.core.so
vendor/linaro/hikey960/hisilicon/proprietary/libc_secshared.so
vendor/linaro/hikey960/hisilicon/proprietary/libhilog.so
vendor/linaro/hikey960/hisilicon/proprietary/libOMX_Core.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libOMX.hisi.vdec.core.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libc_secshared.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libhilog.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libOMX_Core.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libstagefrighthw.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libhiion.so
vendor/linaro/hikey960/hisilicon/proprietary/lib64/libOMX.hisi.video.decoder.so
vendor/linaro/hikey960/hisilicon/proprietary/libstagefrighthw.so
vendor/linaro/hikey960/hisilicon/proprietary/libhiion.so
vendor/linaro/hikey960/hisilicon/proprietary/libOMX.hisi.video.decoder.so
vendor/linaro/hikey960/device-vendor.mk
vendor/linaro/hikey960/BoardConfigVendor.mk

配置编译环境

其它基本上开发环境上大家都会配,就不多说了。
在Ubuntu 18.10上需要注意的是,ncurses默认安装的是版本6,而2019年3月的Android版本仍然需要ncurses5.
例:

sudo apt install libncurses5-dev

编译

我们仍以Android目前(2019年3月)推荐的hikey960硬件为目标,编译命令如下:

. ./build/envsetup.sh
lunch hikey960-userdebug
make -j32

大功告成!

Android源代码下载与编译 - 2019相关推荐

  1. 【视频教程】老罗分享Android源代码下载和编译及如何分析源代码

    小编语:老罗(罗升阳)的Android之旅,在国内是让不少人收益,也给了我非常大的启示,老罗最近自己折腾了一个网站叫<进击的程序员>,域名:http://0xcc0xcd.com/,继续他 ...

  2. ubuntu-18.04.4 Android系统源码TP1A(Android 13)下载及编译

    继上一篇博客介绍了VMware Workstation15 配置ubuntu-18.04.4,这篇主要介绍安装后环境搭建,Android源码的下载与编译.小编当前下载的是当前最新的代码,是主干分支代码 ...

  3. Android源代码下载过程及遇到的问题

    Android源代码下载与编译过程 1)下载repo脚本工具 curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo chmod ...

  4. Android AOSP 下载和编译

    Android AOSP 下载和编译 欢迎入群交流 环境 链接: https://source.android.google.cn/docs/setup/build/initializing?hl=z ...

  5. Android源代码下载方法具体解释

    作者:张星 相信非常多下载过内核的人都对这个非常熟悉 git clone git://android.git.kernel.org/kernel/common.git kernel 可是这是在曾经,如 ...

  6. Android 系统开发系列(1):Android 12 源代码下载、编译和刷机

    Android 12 正式版 已经发布:https://mp.weixin.qq.com/s/OiFSWEnc-0N2z7JYWTJluw 本文就带大家下载和编译最新的 Android 12 代码,本 ...

  7. Android 模拟器下载、编译及调试

    Android 模拟器源码下载 Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似,可以参考 Google 官方提供的 Android 源码下载文档 来了解这个过程. ...

  8. android源代码下载

    在使用android sdk manager下载android源代码的过程中,在下载的过程中碰到各种问题:(1)Download interrupted: Connection reset:(2)Do ...

  9. mpc源代码下载,编译,调试

    mpc源代码下载: 自从2006年6月份发布了,MYMPC的版本之后,就有很多朋友找我要源代码. 其实MPC的源代码是公开的,本身也是一个开源的项目. 源码发布地址是http://sf.net上的. ...

最新文章

  1. “GANs之父”Ian Goodfellow被爆已从Google离职
  2. 使tomcat和lighttpd使用service启停
  3. 【转载】 C# 中的Async 和 Await 的用法详解
  4. Objective-c 字符串的拼接
  5. JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat
  6. bp神经网络_BP神经网络的原理介绍
  7. 服务器的响应一直一直发送不过去,zeroRPC:在发送响应后继续运行进程
  8. JMS-ActiveMQ学习-3 ActiveMQ与Spring集成
  9. mac 启动php70 fpm,mac 启动php-fpm
  10. 多项新政催生本年度购房最佳“窗口期”
  11. 禁用Alt + F4关闭窗体的一些常用方法
  12. 【图像处理】人脸检测--皱纹---变老特效
  13. 《推荐系统笔记(六)》svd在推荐系统中的应用推广(FunkSVD,BiasSVD以及SVD++)及简单实战(surprise库)
  14. Silverlight 操作Excel 中的进程资源释放问题(续)
  15. 爱奇艺开播助手Flutter跨平台Hybrid实践\n
  16. 微信小程序引用阿里巴巴iconfont
  17. ansys toolkit教程_复合材料ANSYS-ACP仿真教程.pdf
  18. 微信小程序开发之——WeUI快速上手
  19. dvi线支持多少分辨率_为什么用DVI接口分辨率不能达到1080
  20. 屏幕录像专家使用手册

热门文章

  1. 车辆管理系统之继续自己的任务(四)
  2. mongodb 备份和恢复
  3. Hadoop源代码分析(包mapreduce.lib.input)
  4. [转]23种经典设计模式的java实现_5_职责链模式
  5. idea 使用 git 教程
  6. datatables如何把列设置成hidden隐藏域?
  7. Java 并发/多线程教程(五)-相同线程
  8. Python中urllib2总结
  9. 【跟着子迟品 underscore】Array Functions 相关源码拾遗 小结
  10. ORA-04063: view SYS.DBA_REGISTRY has errors