从安卓源码下载到Xposed成功编译

repo init --depth 1 -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r11
repo sync -c --no-clone-bundle --no-tags -j$(nproc --all)
在这里插入图片描述源码准备好了,然后准备Xposed的
在这里插入图片描述其中art分支要注意切换成自己将要编译的
在这里插入图片描述

准备相应版本的jdk
记得需要openJdk,而不是Oracle HotSpot jdk

这里我是没安装成功的,
sudo add-apt-repository ppa:openjdk-r/ppa
apt-get install libatk-adaptor libgail-common
上CSDN下载一个手动安装如下
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk-7/bin/javac 9
sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk-7/jre/bin/java 9

切换jdk版本
sudo update-alternatives --config java
sudo update-alternatives --config javac
在这里插入图片描述

apk改下后缀 放到outdir/java/XposedBridge.jar
在这里插入图片描述
在这里插入图片描述xposed native代码放这里
在这里插入图片描述在这里插入图片描述
┌─[an@parrot]─[~/myandroid/xposed/XposedTools]
└──╼ $perl -MCarp::Always build.pl -t arm,arm64:23

出现错误:

Last 10 lines from the log:
Export includes file: frameworks/compile/libbcc/Android.mk – out/target/product/generic/obj/SHARED_LIBRARIES/libbcc_intermediates/export_includes
Export includes file: frameworks/compile/libbcc/bcinfo/Android.mk – out/target/product/generic/obj/SHARED_LIBRARIES/libbcinfo_intermediates/export_includes
Export includes file: external/llvm/shared_llvm.mk – out/target/product/generic/obj/SHARED_LIBRARIES/libLLVM_intermediates/export_includes
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))’ failed.
make: *** [build/core/binary.mk:646: out/host/linux-x86/obj/EXECUTABLES/rsg-generator_intermediates/spec.cpp] 已放弃
make: *** Waiting for unfinished jobs…
Export includes file: frameworks/compile/libbcc/bcinfo/Wrap/Android.mk – out/target/product/generic/obj/STATIC_LIBRARIES/libLLVMWrap_intermediates/export_include

在这里插入图片描述在这里插入图片描述
删掉中间那个,对比下系统的版本,有点老, 把系统flex的软连接过去

在这里插入图片描述在这里插入图片描述
我这里编译两个平台的,能够让armv5,armv7架构的机子都用上,大概一个platform编译一个小时吧。
在这里插入图片描述lastest.zip是XosedInstaller的刷入包,我们使用“直接写入”功能就是用了这个。


参考[编译安卓]
source.android.com/setup/building

Build.pl 执行核心逻辑之编译修改过的art以及xposed native

Executing:
切换至aosp根目录
cd /home/an/myandroid/android-6.0
初始化编译环境,导出一些编译过程中所需要的命令,包括make
build/envsetup.sh >/dev/null
设置编译目标,eng是“具有额外进行调试多首选编译类型”
lunch aosp_arm-eng >/dev/null
使用make编译系统,安卓7.0时候正式引入使用go语言编写的Soong编译系统
使用方法:
在这里插入图片描述
target 可以是文件路径(相对于源码根目录)
target 可以是被Makefile定义的目标(如LOCAL_MODULE:=xposed)
make -j4 xposed libxposed_art libart libart-compiler libart-disassembler libsigchain dex2oat oatdump patchoat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值