Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
R
ratel-doc
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ratel
ratel-doc
Commits
1e1d9427
Commit
1e1d9427
authored
Sep 16, 2019
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
bda03f49
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
4 deletions
+8
-4
4.ratelAPI.md
4.ratelAPI.md
+8
-4
No files found.
4.ratelAPI.md
View file @
1e1d9427
...
...
@@ -12,7 +12,7 @@ dependencies {
请注意,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支持如下特性:
...
...
@@ -22,7 +22,7 @@ ratelAPI是ratel给开发者提供的编程接口,类似太极一样,ratel
标准的xposedAPI中,会依赖common-lang3,但是在实际导出的API中,common-lang3是被隐藏的。但是实际业务代码实践发现,我们还是需要一个基础的工具库的。
所以我把common-lang3的依赖export到xposed api中了。另外,除开common-lang3,我还引入了common-io。
参考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
)
...
...
@@ -37,8 +37,12 @@ common-lang3抽取到external下。
为了保证任何时候都可以pass xposed堆栈检测,ratel单独抽取了rposedAPI。
相对于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模块,
那么xposedAPI是需要支持的。
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment