首页
社区
课程
招聘
玩转Android10(一)源码下载编译
发表于: 2020-12-23 13:00 3535

玩转Android10(一)源码下载编译

2020-12-23 13:00
3535

标 题: 玩转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

 

文章参考链接:
点我阅读更多相关文章

 

感兴趣可以关注我的公众号:


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-12-23 13:17 被蟑螂一号编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 11314
活跃值: (2907)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
第一篇文章?公众号
2020-12-23 15:51
0
雪    币: 259
活跃值: (3623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
diasstudy 第一篇文章?公众号
是的,才开始写
2020-12-23 20:03
0
雪    币: 2466
活跃值: (4561)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持
2020-12-23 20:24
0
游客
登录 | 注册 方可回帖
返回
//