Merge document file

This commit is contained in:
2022-04-17 23:23:42 +08:00
parent fa120f4bee
commit 9fc69a751b
34 changed files with 744 additions and 744 deletions

View File

@@ -157,7 +157,7 @@ Test::class.java.method {
}.get(instance).string() // 得到方法的结果
```
是的,对于确切不会变化的方法,你可以精简查询条件,<b>`YukiHookAPI` 会默认按照字节码顺序匹配第一个查询到的结果</b>
是的,对于确切不会变化的方法,你可以精简查询条件,**`YukiHookAPI` 会默认按照字节码顺序匹配第一个查询到的结果**
问题又来了,这个 `Class` 中有一个 `release` 方法,但是它的方法参数好长,而且很多的类型都无法直接得到。
@@ -578,7 +578,7 @@ method {
#### 必要的查询条件
!> 在方法、构造方法查询条件中,<u><b>即使是无参的方法也需要设置查询条件</b></u>
!> 在方法、构造方法查询条件中,<u>**即使是无参的方法也需要设置查询条件**</u>
假设我们有如下的 `Class`
@@ -607,13 +607,13 @@ TestFoo::class.java.method {
}
```
但是,上面的例子<u><b>是错误的</b></u>
但是,上面的例子<u>**是错误的**</u>
你会发现这个 `Class` 中有两个 `foo` 方法,其中一个带有方法参数。
由于上述例子没有设置 `param` 的查询条件,得到的结果将会是匹配名称且匹配字节码顺序的第一个方法 `public void foo(String string)`,而不是我们需要的最后一个方法。
这是一个<b>经常会出现的错误</b><b>没有方法参数就会丢失方法参数查询条件</b>的使用问题。
这是一个**经常会出现的错误****没有方法参数就会丢失方法参数查询条件**的使用问题。
正确的使用方法如下。
@@ -687,7 +687,7 @@ field {
}
```
在 Java 中常见的基本类型都已被封装为 <b>类型 + Type</b> 的方式,例如 `IntType``FloatType`
在 Java 中常见的基本类型都已被封装为 **类型 + Type** 的方式,例如 `IntType``FloatType`
相应地,数组类型也有方便的使用方法,假设我们要获得 `String[]` 类型的数组。
@@ -697,7 +697,7 @@ field {
同时由于 `String` 是常见类型,所以还可以直接使用 `StringArrayClass` 来得到这个类型。
一些常见的 Hook 中查询的方法,都有其对应的封装类型以供使用,格式为 <b>类型 + Class</b>
一些常见的 Hook 中查询的方法,都有其对应的封装类型以供使用,格式为 **类型 + Class**
例如 Hook `onCreate` 方法需要查询 `Bundle::class.java` 类型。