aosp定制android系统

目录

AOSP

准备工作(配置)

确定机型和版本

初始化

git安装

curl安装

同步源码

环境变量

创建aosp目录

指定同步版本

解下来安装编译需要的依赖

编译aosp源码

刷入系统


AOSP

全称 Android Open Source Project 是指Android开源项目,它是由Google主导的一个开源项目,旨在提供一个完整的、开放的、自由的移动操作系统平台。

为什么要定制自己的安卓系统呢,我们现在用的安卓手机都是基于aosp魔改的,其中许多功能都被厂家限制了,比如root,虽然可以借助面具获取root权限,但是像部分华为手机是不支持解bl锁的,那也就无法root了. 以及root后可能引起的部分软件功能异常,银行类app直接闪退,支付宝无法刷脸.如果可以定制自己的安卓系统,从源码修改,使得adb shell 进入设备的时候就是root权限(这个我会后面单独出一篇关于aosp adb shell就是root权限并隐藏相关指纹绕过root检测),并且抹除相关指纹绕过root检测,达到既有root权限又让app检测不出来的效果.

此外,安卓7以上手机不在信任用户证书,需要把用户证书集成到系统证书里,我们通常可以借助移证书的模块来达到这个效果,但是如果我们定制自己的系统,把想要装的证书直接集成到aosp里,编译好的系统就自带有相关证书,也就不需要借助movecert模块.

并且,很多小厂商喜欢给自己的app加壳,现在的壳从整体加固和抽取加固进化到vmp,已经是越来越难脱壳了,如果可以打造一个自己的脱壳机,通过修改安卓源码,使得app在运行时自动将其加载至内存的代码dump下来实现脱壳。

准备工作(配置)

手机:

- pixel系列

虚拟机(推荐vmware):

- 内存:16G+

- 硬盘:500G空间+

官方推荐的是使用ubantu的系统,如果你用centos可能会出现意想不到的错误,如果你不想遇到千奇百怪的报错就选择ubantu,推荐长期支持版本ubuntu-18.04或者20.04,可以去阿里云的镜像站下载,地址:https://mirrors.aliyun.com/oldubuntu-releases/

安装就不说了,记得安装好后先打一个快照就行了

确定机型和版本

网址:Nexus 和 Pixel 设备的出厂映像  |  Google Play services  |  Google for Developers

首先根据自己的机型选择对应的版本,比如我的pixel 4 ,代号flame,选择QD1A.190821.011这个版本

aosp定制android系统_第1张图片

接着要去寻找aosp拉取源码的版本

地址:https://source.android.com/docs/setup/about/build-numbers

搜索刚刚的QD1A.190821.011版本,记住这个android-10.0.0_r8,后续拉取aosp的版本需要用到这个

aosp定制android系统_第2张图片

接着需要安装相应的驱动,否则你编译好系统刷到手机会卡在bootloader模式,无法进入系统,这个先在主机上下载,后续要用到

aosp定制android系统_第3张图片

初始化

首先要安装一系列工具git curl

git安装

接着配置名字和邮箱,这个可以随便,格式对即可 

sudo apt install git -y 

git config --global user.name "xxxxxxxxxx"
git config --global user.email "[email protected]"

curl安装

git config --global user.name "wupeiqi"
git config --global user.email "[email protected]"

同步源码

下载repo + 环境变量 + 可执行权限

mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo

环境变量

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

创建aosp目录

cd ~/bin
mkdir aosp
cd aosp

指定同步版本

就是上面图中的android-10.0.0_r8,这个要换成你对应的版本即可

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r8

同步代码,这个耗时很久

repo sync -j8

最终看到终端输出repo sync has finished successfully即可

解下来安装编译需要的依赖

jdk8 

sudo apt install openjdk-8-jdk -y

以及其他依赖

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig  -y

驱动安装,把之前在主机上安装的两个驱动解压出来,是两个.sh文件,把他两拖到aosp这个目录里面,接着终端./xx.sh运行这两个文件,最后会让你输入I ACCEPT表示同意许可,之后就会在aosp目录下回生成verdor目录

编译aosp源码

source build/envsetup.sh
lunch

之后选择编号aosp_代号(我的是flame)_uesrdebug,选择数字即可

之后make -j16编译即可

成功的话终端显示build completed successfully

刷入系统

首先要配好adb

地址:https://dl.google.com/android/repository/platform-tools_r30.0.5-linux.zip

下载解压后配好环境变量

sudo adb reboot bootloader 将手机进入bootloader模式,执行一下命令即可等待自动刷入手机

cd ~/bin/aosp

source build/envsetup.sh 
sudo ANDROID_PRODUCT_OUT=~bin/aosp/out/target/product/flame(这里选择你的机型)  fastboot flashall -w

刷好后的系统长这样,ui是比较粗糙的.

aosp定制android系统_第4张图片

本期aosp编译就到这里了,如果你遇到了报错也欢迎在评论区留言探讨 .

你可能感兴趣的:(aosp定制android系统,android)