Xposed 编译(一) - 准备工作

首先 Xposed 的编译依赖于 Android的编译,所以要先搭建一个 android 的编译环境。

Android 官方对下载源码和编译的要求:链接

  1. 在 VMware 安装一个 Ubuntu(我用的是 18.04.1 LTC )

ps: VMware 的使用和 Ubuntu 的安装限于篇幅以及也不是我们的重点就不介绍了,不会的话自行查找相关资料。当然你也可以直接安装 Ubuntu 到物理机

  1. 安装之后,配置一下开发环境,无非就是安装一些工具包(比如: openjdk-1.8、git、 gradle、python 2.x、sdk、ndk) 上面的东西看个人需要吧

ps: 顺便说下 gradle 直接下载是真的慢,建议使用 sdkman

  1. 然后就进入正题了,下载并同步 aosp。可以选择使用清华大学/中科大的 aosp 镜像, 建议使用中科大的镜像源,清华大学的现在不支持 git:// ,使用 https 同步偶尔会有问题,而且个人感觉中科大的速度会快一点,官方都有教程,参考教程使用即可。

下载的过程可能会很久,而且伴随着失败 Fatal : 过早的文件结束符(EOF) 一般重试就可以了,下面给出一个失败重试的脚本。内容如下:

#!/bin/sh
echo "开始 repo sync ****************************************************"
repo sync -j4
while [ $? -ne 0 ]
do
echo "开始 重试 *********************************************************"
repo sync -j4
done

复制下来放到一个文件中,每次同步代码直接运行即可。

上面的过程同步完成之后, android 代码就同步完成了,下面我们就可以选择一个分支来编译 android 源码。
aosp 分支对应的 android 版本:

android-6.0.1_r1 --------- 23 (Marsmallow)
android-7.0.0_r1 --------- 24 (Nougat)
android-7.1.1_r1 --------- 25 (Nougat)
android-8.0.0_r1 --------- 26 (Oreo)

aosp 分支对应的 android 版本(部分):

android-6.0.1_r1 --------- 23 (Marsmallow)
android-7.0.0_r1 --------- 24 (Nougat)
android-7.1.1_r1 --------- 25 (Nougat)
android-8.0.0_r1 --------- 26 (Oreo)

我们也可以通过在 aosp 仓库的目录下执行 repo branches 来查看可以切换的分支

参考链接
https://source.android.com/setup/build/initializing
https://source.android.com/setup/build/downloading
sdkman: https://sdkman.io/
清华 aosp镜像: https://mirror.tuna.tsinghua.edu.cn/help/AOSP/
中科大aosp 镜像: https://lug.ustc.edu.cn/wiki/mirrors/help/aosp

你可能感兴趣的:(Xposed 编译(一) - 准备工作)