Commit 1e1d9427 authored by Administrator's avatar Administrator

update

parent bda03f49
...@@ -12,7 +12,7 @@ dependencies { ...@@ -12,7 +12,7 @@ dependencies {
请注意,ratel api发布在maven仓库,而非jcenter仓库 请注意,ratel api发布在maven仓库,而非jcenter仓库
## 总览 ## 总览
ratelAPI是ratel给开发者提供的编程接口,类似太极一样,ratel也是基本兼容xposed的。正常情况下,映入ratel的api``com.virjar:ratel-api``即可。 ratelAPI是ratel给开发者提供的编程接口,类似太极一样,ratel也是基本兼容xposed的。正常情况下,引入ratel的api``com.virjar:ratel-api``即可。
除开基本xposed功能支持外,ratelAPI支持如下特性: 除开基本xposed功能支持外,ratelAPI支持如下特性:
...@@ -22,7 +22,7 @@ ratelAPI是ratel给开发者提供的编程接口,类似太极一样,ratel ...@@ -22,7 +22,7 @@ ratelAPI是ratel给开发者提供的编程接口,类似太极一样,ratel
标准的xposedAPI中,会依赖common-lang3,但是在实际导出的API中,common-lang3是被隐藏的。但是实际业务代码实践发现,我们还是需要一个基础的工具库的。 标准的xposedAPI中,会依赖common-lang3,但是在实际导出的API中,common-lang3是被隐藏的。但是实际业务代码实践发现,我们还是需要一个基础的工具库的。
所以我把common-lang3的依赖export到xposed api中了。另外,除开common-lang3,我还引入了common-io。 所以我把common-lang3的依赖export到xposed api中了。另外,除开common-lang3,我还引入了common-io。
参考xposed使用common-lang3的做法,由于这毕竟是第三方库,而非jdk本身class。在最终用户也使用了common-lang3的时候,及其容易出现duplicate-class,所以xposed将 参考xposed使用common-lang3的做法,由于这毕竟是第三方库,而非jdk本身class。在最终用户也使用了common-lang3的时候,及其容易出现duplicate-class,所以xposed将
common-lang3抽取到external下。 common-lang3 rename到external下。
代码结构如下: 代码结构如下:
![4_1_api_categore](img/4_1_api_categore.png) ![4_1_api_categore](img/4_1_api_categore.png)
...@@ -37,8 +37,12 @@ common-lang3抽取到external下。 ...@@ -37,8 +37,12 @@ common-lang3抽取到external下。
为了保证任何时候都可以pass xposed堆栈检测,ratel单独抽取了rposedAPI。 为了保证任何时候都可以pass xposed堆栈检测,ratel单独抽取了rposedAPI。
相对于xposed来说,大部分hook相关工具类都迁移到rposed中,rposed和xposed的对应则是将Xposed 各种className头部的``X``替换为``R`` 相对于xposed来说,大部分hook相关工具类都迁移到rposed中,rposed和xposed的对应则是将Xposed 各种className头部的``X``替换为``R``
如XposedBridge->RposedBridge,XposedHelper->RposedHelper,XC_MethodHook->RC_MethodHook。甚至xposed入口配置类 如:
``de.robv.android.xposed.IXposedHookLoadPackage``->``com.virjar.ratel.api.rposed.IRposedHookLoadPackage``
1.XposedBridge->RposedBridge
2.XposedHelper->RposedHelper
3.XC_MethodHook->RC_MethodHook
4.甚至xposed入口配置类``de.robv.android.xposed.IXposedHookLoadPackage``->``com.virjar.ratel.api.rposed.IRposedHookLoadPackage``
对于ratel来说,如果你使用ratel作为基本框架开发,建议使用rposed替代xposed。如果是为了兼容xposed模块,或者直接使用(迁移)正常的xposed模块, 对于ratel来说,如果你使用ratel作为基本框架开发,建议使用rposed替代xposed。如果是为了兼容xposed模块,或者直接使用(迁移)正常的xposed模块,
那么xposedAPI是需要支持的。 那么xposedAPI是需要支持的。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment