Android源码定制(1)——Android6.0的编译流程

一、前言

最近在研究Xposed框架定制,恰好又看到看雪上两个大佬关于源码定制Xposed源码定制的帖子,所以尝试基于Android6.0版本,详细记录一下从源码下载到Xposed框架定制的全过程。

二、Android 源码下载

1.环境准备

实验平台: *Ubuntu 16.0.4 *
运行内存: (物理内存4G+交换内存8G)
磁盘空间: 300G
(1)内存配置

我们首先给虚拟机分配一个物理内存4G 然后设置虚拟内存8G,开始实验之前记得快照,考虑到源码编译可能需要很大的内存,我们提前配置好交换内存

(1)在Home目录创建一个大小为8G的swap文件
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=8k  
注:从 /dev/zero 文件读出内容并存到/swapfile文件中,块大小为1MByte,总共 16K 个块,也就是总共 8GB
(2)格式化新增的swap文件:
$ sudo mkswap /swapfile
(3)启动新增的swap文件
$ sudo swapon /swapfile
(4)通过free命令就可以看到,swap分区增大了8G
$ free
(5)关闭新增的swap文件
$ sudo swapoff /swapfile
 再次通过free命令就可以看到,swap分区减小了8G
(6)开机后自动启动新增的swap文件,在/etc/fstab中新增如下命令
$ vim /etc/fstab
/swapfile       none    swap    sw      0       3
(2)磁盘扩展

我们可以为虚拟机设置一个比较大的磁盘空间,但是如果你的虚拟机已经分配了一个磁盘空间,可能你需要扩展你的磁盘空间,这里可以详细参考磁盘空间扩展,去扩大你的虚拟机磁盘,这里最好保证自己的磁盘空间充足。

2.配置adb和fastboot

(1)下载platform-tools压缩包

我们到后面需要使用adb和fastboot,所以我们需要下载platform-tools资源包

然后我们解压到自己的目录

mkdir -p /home/user/Android
unzip platform-tools_r30.0.5-linux.zip  -d  /home/user/Android
(2)配置环境变量

我们配置环境变量

vim  ~/.bashrc
添加:
#add Android Sdk  platform tools to path
#add START
export ADB_PATH=/home/tom/Android/platform-tools
export PATH=$PATH:$ADB_PATH
#add END
激活环境:
source ~/.bashrc 

我们可以测试一下配置:

image-20210926214750048

(3)安装repo命令

创建必要目录,git-repo工具保存目录,这里需要保存在bin目录下,不然后面可能出问题

mkdir /home/tom/bin ##没有就创建

由于使用Google的repo源需要挂代理,所以我们使用清华的源repo源,无需挂代码就可以很快下载Android源码了

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /home/tom/bin/repo
cp repo ~/bin/ 

后面是对应的repo保存路径

image-20210929092905942

image-20210929092947786

设置权限:

chmod +x /home/tom/bin/repo

由于bin的环境变量已经配置过了,所以我们只需要去加入REPO_URL,来更新镜像源

配置环境变量:

vim  ~/.bashrc
##在bashrc中添加
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
##激活环境变量
source  ~/.bashrc

配置环境变量或下载repo失败时,注意一下空格,大部分是此原因导致的

(4)下载源码

清华的镜像源官网上我们可以看见有两种方法:

<1>使用每月更新的初始化包

我们初始化代码仓库:

cd /home/tom/SourceCode/

我们下载初始包,我们需要下载最新的aosp-latest.tar文件以及对应的md5值,官方镜像网址

image-20210929103113870

我们可以验证文件的完整性,进行MD5校验

md5sum aosp-latest.tar

下载完毕后可以使用tar -zxvf aosp-latest.jar指令解压该文件,解压出来文件夹名称为aosp,里面只有一个叫.repo的隐藏文件夹,该文件夹就是仓库,安卓源代码都在里面,可以使用CTRL+H来查看该隐藏文件夹

tar -zxvf aosp-latest.jar

然后我们只需要在目标文件夹下同步即可

repo sync
<2>传统的初始化方法

我们进入我们的目标文件夹

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值