玩转Android10源码开发定制(一)源码下载

654 阅读2分钟

一、前期准备

测试手机准备:

 测试设备: 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压缩包

 下载地址: platform-tools下载地址

2.解压压缩包到指定目录

 执行如下命令:

mkdir -p  /home/qiang/Android
unzip  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

完成以上工作之后,就可以去喝喝茶、晒晒太阳等待源码同步完成。