SystemUI独立编译(一)

SystemUI是android系统中的部分系统组件,以一个apk的形式存在,功能主要包括锁屏、任务管理、下拉通知栏、状态栏等。SystemUI虽然是一个apk,但是编译依赖源码环境,系列文章是将SystemUI拆分出来,最终可以在Android Studio中进行编译。

SystemUI独立编译(一)环境搭建

SystemUI独立编译(二)SystemUI源码编译

SystemUI独立编译(三)SystemUI拆分编译

SystemUI独立编译(四)SystemUI版本适配

 

第一篇介绍SystemUI基于源码的编译方式

一、Android源码下载与编译

建议使用ubuntu系统编译,以下是ubuntu新机器环境搭建流程

安装步骤:

1 首先安装ubunut16.04,一切配置按默认即可。

2. 切换源,建议切换为清华的源:

附件是源文件,可直接替换或自己手动修改source.list文件。

参考 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可。anyconnect-linux64-4.4.04030-predeploy-k9.tar.gz

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

3 安装android编译环境。

a安装基本的依赖软件:
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib

sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev

sudo apt-get install git-core gnupg flex bison gperf build-essential 

sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib

sudo apt-get install libc6-dev-i386

sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev

sudo apt-get install lib32z-dev ccache

sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

sudo apt-get install gawk

b 根据自己所下载的Android代码的版本,选择安装所需的jdk版本

Android版本是7.1.2,所需的JDK版本是openjdk-8-jdk。Ubuntu默认自带的openjdk-8-jdk的安装源,可以直接安装,使用下面的命令安装即可:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

如果使用的OpenJDK7,由于Ubuntu 16.04没有OpenJDK7的源,因此要先添加源,然后在安装OpenJDK7,按下面的命令操作即可:

sudo add-apt-repository ppa:openjdk-r/ppa 
sudo apt-get update
sudo apt-get install openjdk-7-jdk 

安装完以后,执行下面的命令添加JAVA_HOME相关配置

sudo gedit /etc/profile

在打开的profile文件的末尾添加下面的内容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH

修改了/etc/profile文件需要重启才能生效,但使用下面命令可以在不重启的情况下在当前bash环境生效:

source /etc/profile

最后,检查一下jdk是否安装成功:

java -version

下载android源码

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r18

开启10个线程下载,注意:-j10

repo sync -j10

参考:https://www.jianshu.com/p/6fed8af8d11e

 

 

 

 

你可能感兴趣的:(SystemUI独立编译(一))