git clone https://github.com/rovo89/android_art -b xposed-nougat-mr2 art
,注意根据Android源码版本选择分支或者对应的标签Xposed Native
aosp/out/target/product/hammerhead/system/framework/
这里jar文件存放的目录不同的博文是不一致的,但是觉得framework里面靠谱一点
注:如果想生成供Xposed模块调用的XposedBridge.jar,则在Android Studio的右侧打开Gradle Project,双击jarStubs就会在app/build/api生成api.jar
[General]
outdir = /home/misty/bin/WORKING_DIRECTORY/out
#javadir = /android/XposedBridge
[Build]
# Please keep the base version number and add your custom suffix
version = 86 (custom build by xyz / %s)
# makeflags = -j4
[GPG]
sign = release
user = 852109AA!
# Root directories of the AOSP source tree per SDK version
[AospDir]
#19 = /android/aosp/440
#21 = /android/aosp/500
23 = /home/misty/bin/WORKING_DIRECTORY
# SDKs to be used for compiling BusyBox
# Needs https://github.com/rovo89/android_external_busybox
#[BusyBox]
#arm = 23
#x86 = 23
#armv5 = 23
* outdir:指定Android源码中的out目录
* javadir:指定XposedBridge目录,如果你不需要编译XposedBridge.jar可以不指定
* version:Xposed版本,这个版本号将显示在XposedInstaller上
* ApospDir下的数字:设置sdk版本对应的Android源码
* [BusyBox]标签:busybox,可以不指定
./build.pl -a java
./build.pl -t arm64:23
编译完成后,将在Android源码目录/out/sdk23/arm生成可刷入手机的zip文件
XposedTools 依赖于 perl,所以我们要跑起来就要有一个 perl 环境。首次运行 perl 需要安装依赖 Config::IniFilesperl -MCPAN -e 'install Config::IniFiles'
大概需要在安装下面的两个依赖(不同系统可能不同)perl -MCPAN -e 'install File::Tail'
perl -MCPAN -e 'install File::ReadBackwards'
如果还不成功,按照下面的方法安装所需的模块即可perl -MCPAN -e 'install [ModuleName]'
解决模块安装失败的问题
libconfig-inifiles-perl - Read .ini-style configuration files
build/core/base_rules.mk:157: *** art_bak: MODULE.TARGET.FAKE.cpplint-art-phony already defined by art。 停止。
#### make failed to build some targets (6 seconds) ####
编译android6.0源码需要java1.7,而编译xposedbridge需要java1.8,所以这里为了切换方便临时指定Java环境变量
misty@ubuntu:~/bin/xposed/XposedTools$ ./build.pl -a java
Loading config file /home/misty/bin/xposed/XposedTools/build.conf...
Checking requirements...
Building the Java part...
Compiling...
FAILURE: Build failed with an exception.
* Where:
Build file '/home/misty/bin/xposed/XposedBridge/app/build.gradle' line: 3
* What went wrong:
A problem occurred evaluating project ':app'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 0.682 secs
misty@ubuntu:~/bin/xposed/XposedTools$ vim /etc/profile
misty@ubuntu:~/bin/xposed/XposedTools$ export JAVA_HOME=/home/misty/MyFile/jdk1.8.0_211
misty@ubuntu:~/bin/xposed/XposedTools$ export PATH=$PATH:$JAVA_HOME/bin
misty@ubuntu:~/bin/xposed/XposedTools$ java -version
getprop|grep arm
查看CPU相关的信息