ratel hook app
目录
创建平头哥项目
创建一个基本的Android项目
https://www.cnblogs.com/xsir161/p/16905868.html
手动创建一个平头哥项目(windows推荐)
https://www.cnblogs.com/xsir161/p/16907380.html
通过模板的方式创建平头哥项目(windows不推荐)
https://www.cnblogs.com/xsir161/p/16889658.html
插入第三方集成模块
第一步:将集成的代码文件复制到项目中
第二步:设置项目的settings文件中的导入路径
include ':ratel-extension'
第三步:在build文件中,导入项目路径
implementation project(path:":ratel-extension")
RPC调用
RPC调用静态函数
其特征为函数没有先new,直接是调用了方法
byte[] res = (byte[]) RposedHelpers.callStaticMethod(RposedHelpers.findClass("com.yuanrenxue.challenge.two.NativeLib", RatelToolKit.hostClassLoader),"encrypt",sign.getBytes(),ts);
(byte[]) 为返回的数据类型
com.yuanrenxue.challenge.two.NativeLib 类名
encrypt 调用的类方法
sign.getBytes(),ts 这些是参数
RPC调用实例方法
在调用此方法前,需要new一下
Class<?> aClass = RposedHelpers.findClass("com.yuanrenxue.challenge.three.ChallengeThreeNativeLib", RatelToolKit.hostClassLoader); //找到类
Object o = RposedHelpers.newInstance(aClass); //实例化类
byte[] sign = (byte[])RposedHelpers.callMethod(o, "sign", page); //调用方法
com.yuanrenxue.challenge.three.ChallengeThreeNativeLib 类名
sign 类方法
page 要调用的参数
FileLogger日志模块使用
注:学习本模块,要先学superappium,所以要先学第12课再去学第16课
而且不是大规模部署,日志这块也不着急