Android源代码下载与编译 - 2019

简介: Android源代码的下载和编译 2019版

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

大功告成!

目录
相关文章
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
32 0
|
3月前
|
Java Shell Linux
Android——编译(一):编译make的基础知识
Android——编译(一):编译make的基础知识
68 0
|
4月前
|
开发工具 Android开发 开发者
Android Studio详细下载,安装使用教程
Android Studio详细下载,安装使用教程
313 0
|
4月前
|
XML Java Android开发
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
139 0
|
3月前
|
Java Shell Linux
Android——编译(二):android.mk的相关知识
Android——编译(二):android.mk的相关知识
95 0
|
3月前
|
Shell Android开发
RK android13编译环境搭建与常用编译命令
RK android13编译环境搭建与常用编译命令
72 0
|
1天前
|
Android开发
Android源代码定制:Overlay目录定制|调试Overlay资源是否生效
Android源代码定制:Overlay目录定制|调试Overlay资源是否生效
8 0
|
1天前
|
Android开发
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
2 0
|
1月前
|
Shell 开发工具 Android开发
ADB 下载、安装及使用教程:让你更好地管理 Android 设备
ADB 下载、安装及使用教程:让你更好地管理 Android 设备
505 2
|
1月前
|
Android开发 对象存储
OSS对象储存android开发进行下载到本地文件时异步操作失效
android vivo80使用官方示例代码进行文件下载,但是使用oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>()时onSuccess和onFailure不执行