标 题: 玩转Android10(一)源码下载编译
作 者: 蟑螂一号
时 间: 2020-12-23,12:58:36
前言:
目前Android逆向越来越需要Android系统定制方面的知识,最近闲来无事,准备以Android10 为系统版本总结点Android系统方面定制的知识点。内容提纲大概涉及:
源码下载编译
如何刷机操作
如何增加系统API
如何增加系统属性
如何增加系统service
内置app
集成第三方命令,比如集成frida到系统等等
seandroid配置
增加系统功能选项,比如永不黑屏、跳过开机初始化页面
未完待续......
一、前期准备
测试手机准备
测试设备: oneplus 3/3T
设备代号: oneplus3
Android系统版本:10.0
PC环境配置:
开发环境:
Windows10 64bit+VMware+ubuntu
虚拟机版本:
VMware Workstation 15 Player
Ubuntu系统分配情况:
版本Ubuntu18.04
内存至少12G RAM
硬盘空间至少200GB
二、配置adb和fastboot
1. 下载platform-tools压缩包
下载地址:https://dl.google.com/android/repository/platform-tools_r30.0.5-linux.zip
2.解压压缩包到指定目录
执行如下命令:
mkdir -p /home/qiang/Android
unzip " /home/qiang/Desktop/platform-tools_r30.0.5-linux.zip" -d /home/qiang/Android
如下图所示:
3.配置adb和fastboot命令
用vim编辑器打开~/.bashrc文件,添加如下文本并保存
#add Android Sdk platform tools to path
#add START
export ADB_PATH=/home/qiang/Android/platform-tools
export PATH=\$PATH:\$ADB_PATH
#add END
执行source ~/.bashrc命令更新环境变量,打开终端查看adb和fastboot是否生效。如下图所示:
三、下载编译LineageOs
1.安装依赖
执行以下命令安装必要库和工具
sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
执行以下命令安装openjdk-8-jdk
sudo apt-get install openjdk-8-jdk
2.创建必要目录
执行如下命令创建源码保存目录:
mkdir -p /home/qiang/lineageAndroid10
执行如下命令创建git-repo工具保存目录
mkdir -p /home/qiang/bin
3.安装repo命令
由于使用google的repo源需要挂代理,所以我们用国内的清华repo源,无需挂代理就可以很快的下载Android的源码了。执行如下命令下载repo:
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /home/qiang/bin/repo
chmod +x /home/qiang/bin/repo
将repo命令加入环境变量
使用vim工具打开~/.bashrc文件,命令如下:
vim ~/.bashrc
将如下内容加入文件中:
export REPO_PATH=/home/qiang/bin/repo
export PATH=\$PATH:\$REPO_PATH
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
使用如下命令更新环境变量:
source ~/.bashrc
4.下载源码
lineageOs中17.1版本对应Android 10。执行如下命令初始化代码仓库:
cd /home/qiang/lineageAndroid10
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
初始化完成之后,执行如下命令下载源码:
repo sync -j4
5.使用不死脚本下载源码
(1).由于在终端执行repo sync命令下载源码容易意外终止退出,可以使用如下的不死脚本进行下载。
将以下脚本内容保存为download.sh:
#!/bin/bash
echo "==========start repo sync==="
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
repo sync -j4 -d --force-sync --no-clone-bundle
while [ $?!=0 ];
do
echo "===resync==="
repo sync -j4 -d --force-sync --no-clone-bundle
done
(2)将download.sh文件复制到/home/qiang/lineageAndroid10,并执行download.sh脚本
命令参考:
cp /home/qiang/download.sh /home/qiang/lineageAndroid10/download.sh
cd /home/qiang/lineageAndroid10
chmod 777 /home/qiang/lineageAndroid10/download.sh
./download.sh
文章参考链接:
点我阅读更多相关文章
感兴趣可以关注我的公众号:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-12-23 13:17
被蟑螂一号编辑
,原因: