当前位置: 移动技术网 > IT编程>移动开发>Android > Xposed 集成 Android 6.0.1环境中,总结

Xposed 集成 Android 6.0.1环境中,总结

2019年05月28日  | 移动技术网IT编程  | 我要评论

媚惑无疆,聚土网,纽伊斯特

  由于工作需要,需要将xposed集成到android源码中,生成新的rom就自带xposed的功能。

下面大体上说一下步骤和遇到的问题。

1、下载,并编译android源码,成功。

2、下载  中,在release中找到当前6.0对应的sdk23版本。替换到android源码,根目录下的art文件夹中的内容。

3、下载 https://github.com/rovo89/xposedbridge ,得到xposed文件夹xposedbridge-art,或者特定版本。将文件夹拷贝到,android源码根目录和art同级。

   3.1、xposedbridge-art源码中,新建android.mk用于编译xposedbridge-art生成对应的xposedbridge.jar .android.mk文件内容如下:

 1 # copyright 2007 the android open source project
 2 #
 3 local_path:= $(call my-dir)
 4 include $(clear_vars)
 5 local_dex_preopt = false
 6 local_module := xposedbridge
 7 
 8 local_src_files := \
 9      $(call all-java-files-under, src) \
10      $(call all-java-files-under, lib/apache-commons-lang/external) \
11      $(call all-java-files-under, hiddenapistubs/src)
12 
13 include $(build_java_library)
14 
15 $(local_intermedia_targets): private_extra_jar_args := -c "$(local_path)" \
16 assets -c "#(local_path)" notice.txt
17 
18 include $(call all-makefiles-under, $(local_path))

       3.2、android源码根目录,执行命令(多个)

source build/envsetup.sh
lunch 17
mmm xposedbridge-art

       3.3、如果成功,会在out/target/product/angler/system/framework/xposedbridge.jar

4、下载 https://github.com/rovo89/xposed 得到xposed c++的代码,拷贝到 源码根目录下frameworks/base/cmds/xposed中。

5、下载 https://github.com/rovo89/xposedtools 得到 xposedtools工具,用于执行perl脚本,用于编译xposed,下载保存的位置无特定要求,所以我没有放到android源码目录中。

  5.1、源码外部,新建文件夹保存,xposedtools内容。

  5.2、根据xposedtools源码中的build.conf.sample新建一个文件build.conf。编辑内容,如下:

[general]
# 注释,可删除:指定,输出编译结果目录
outdir = /var/android_source/xposed/xposedtools-89/out
[build]
# 版本无所谓
version = 1(custom build by author )
makeflags = -j16
[aospdir]
# android源码根目录
23 = /var/android_source/android6.0.1

  5.3、拷贝,生成的xposedbridge.jar到xposedtools中,xposedtools-89/out/java/xposedbridge.jar 没有的文件夹,请新建。

  5.4、执行命令:./build.pl -t arm:23 可能会缺少环境,就需要安装perl环境了。

  perl环境需求,执行命令,1,2,3

perl -mcpan -e 'install config::inifiles'
perl -mcpan -e 'install file::tail'
perl -mcpan -e 'install file::readbackwards'

  5.5、再次编译,可以看到生成了,会在xposedtools的out/arm23中,找到我们生成的,正确的,app_process32_xposed,发现android源码中也被拷贝了一份。。。

注意:

  1、替换art之后,编译可能还是会遇到clang错误,需要再次修改配置文件。art/build/android.common_build.mk,解决clang错误

  2、版本选择一样。

  3、不同产品文件夹不一样,请根据自己的版本和手机选择。

资料:参考文献

xposed 编译(二) - 编译 android 源码 

xposed 编译(二) - 编译 android 源码   https://blog.csdn.net/weixin_33832340/article/details/87512976

编译xposed 

xposed源码编译与集成 

xposed源码编译&安装--第2步编译xposedbridge  https://juejin.im/post/5be3afeae51d4535b07d0f4e   // 朋友的文章,重点推荐,很有帮助。

ubuntu16.04 下android源码编译以及环境配置(含xposed)--交接笔记 

xposed源码编译与集成 

xposed源码编译与集成 

makefile中常见的错误—missing separator. stop.—原因命令行缺少tab键 

还有等等,参考了很多,已经窗口关闭,找不到了。。。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网