Added anchor in api-exception documentation

This commit is contained in:
2022-09-21 15:17:51 +08:00
parent ca56c63889
commit 865a1d8c39

View File

@@ -8,6 +8,8 @@
> 这些异常不会导致 APP 停止运行(FC),但是会在控制台打印 `E` 级别的日志,也可能会停止继续执行相关功能。
#### <Badge type="danger" text="Case 01" vertical="middle" />
::: danger loggerE
Could not found XposedBridge in current space! Aborted
@@ -22,6 +24,8 @@ Could not found XposedBridge in current space! Aborted
请确认你在正确的地方装载了 `YukiHookAPI``encase` 方法,详情请参考 [作为 Xposed 模块使用的相关配置](../config/xposed-using) 以及 [作为 Hook API 使用的相关配置](../config/api-using)。
#### <Badge type="danger" text="Case 02" vertical="middle" />
::: danger loggerE
You cannot load a hooker in "onInit" or "onXposedEvent" method! Aborted
@@ -82,6 +86,8 @@ class HookEntry : IYukiHookXposedInit {
}
```
#### <Badge type="danger" text="Case 03" vertical="middle" />
::: danger loggerE
Hooking Process exception occurred
@@ -96,6 +102,8 @@ Hooking Process exception occurred
通常情况下这种错误不会轻易发生,若一旦发生此错误,可直接提交日志进行反馈。
#### <Badge type="danger" text="Case 04" vertical="middle" />
::: danger loggerE
YukiHookAPI try to load HookEntryClass failed
@@ -110,6 +118,8 @@ YukiHookAPI try to load HookEntryClass failed
通常情况下这种错误不会轻易发生,若一旦发生此错误,请自行查看控制台打印的日志定位问题,确定并非自己的代码发生的问题后,可提交日志进行反馈。
#### <Badge type="danger" text="Case 05" vertical="middle" />
::: danger loggerE
YukiHookAPI bind initZygote failed
@@ -124,6 +134,8 @@ YukiHookAPI bind initZygote failed
通常情况下这种错误不会轻易发生,若一旦发生此错误,请自行查看控制台打印的日志定位问题,确定并非自己的代码发生的问题后,可提交日志进行反馈。
#### <Badge type="danger" text="Case 06" vertical="middle" />
::: danger loggerE
Failed to execute method "**NAME**", maybe your Hook Framework not support Resources Hook
@@ -138,6 +150,8 @@ Failed to execute method "**NAME**", maybe your Hook Framework not support Resou
通常这种情况不会发生,请仔细检查错误日志的详细信息,若发生 `ClassNotFound` 等情况可能是 Hook Framework 不支持 Resources Hook(资源钩子)。
#### <Badge type="danger" text="Case 07" vertical="middle" />
::: danger loggerE
HookClass \[**NAME**\] not found
@@ -152,6 +166,8 @@ HookClass \[**NAME**\] not found
请检查目标 `Class` 是否存在,若想忽略此错误请使用 `ignoredHookClassNotFoundFailure` 方法。
#### <Badge type="danger" text="Case 08" vertical="middle" />
::: danger loggerE
Hook Member \[**NAME**\] failed
@@ -166,6 +182,8 @@ Hook 目标方法、构造方法时发生错误。
此问题通常由 Hook Framework 产生,请检查对应的日志内容,若问题持续出现请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 09" vertical="middle" />
::: danger loggerE
Hooked Member with a finding error by **CLASS**
@@ -180,6 +198,8 @@ Hooked Member with a finding error by **CLASS**
请检查此错误发生前的上一个错误日志,或许在查找方法、构造方法的时候发生了找不到方法、构造方法的错误。
#### <Badge type="danger" text="Case 10" vertical="middle" />
::: danger loggerE
Hooked Member cannot be non-null by **CLASS**
@@ -219,6 +239,8 @@ injectMember {
}
```
#### <Badge type="danger" text="Case 11" vertical="middle" />
::: danger loggerE
Hooked method return type match failed, required \[**TYPE**\] but got \[**TYPE**\]
@@ -268,6 +290,8 @@ injectMember {
请确认当前被 Hook 方法的正确返回值类型,修改后再试一次。
#### <Badge type="danger" text="Case 12" vertical="middle" />
::: danger loggerE
Hook initialization failed because got an Exception
@@ -282,6 +306,8 @@ Hook initialization failed because got an Exception
这是一个准备 Hook 阶段就发生异常的提醒,请仔细查看具体的异常是什么以重新确定问题。
#### <Badge type="danger" text="Case 13" vertical="middle" />
::: danger loggerE
Try to hook **NAME**\[**NAME**\] got an Exception
@@ -296,6 +322,8 @@ Try to hook **NAME**\[**NAME**\] got an Exception
这是一个 Hook 开始就发生异常的提醒,请仔细查看具体的异常是什么以重新确定问题。
#### <Badge type="danger" text="Case 14" vertical="middle" />
::: danger loggerE
Method/Constructor/Field match type "**TYPE**" not allowed
@@ -348,6 +376,8 @@ field {
}
```
#### <Badge type="danger" text="Case 15" vertical="middle" />
::: danger loggerE
NoSuchMethod/NoSuchConstructor/NoSuchField happend in \[**NAME**\]
@@ -362,6 +392,8 @@ NoSuchMethod/NoSuchConstructor/NoSuchField happend in \[**NAME**\]
请确认你的查找条件是否能正确匹配到目标 `Class` 中的指定方法、构造方法以及变量。
#### <Badge type="danger" text="Case 16" vertical="middle" />
::: danger loggerE
Trying **COUNT** times and all failure by RemedyPlan
@@ -376,6 +408,8 @@ Trying **COUNT** times and all failure by RemedyPlan
请确认你设置的 `RemedyPlan` 参数以及宿主内存在的 `Class`,再试一次。
#### <Badge type="danger" text="Case 17" vertical="middle" />
::: danger loggerE
You must set a condition when finding a Method/Constructor/Field
@@ -398,6 +432,8 @@ method {
请将查找条件补充完整并再试一次。
#### <Badge type="danger" text="Case 18" vertical="middle" />
::: danger loggerE
Can't find this Class in \[**CLASSLOADER**\]: **CONTENT** Generated by YukiHookAPI#ReflectionTool
@@ -421,6 +457,8 @@ customClassLoader?.searchClass {
这是一个安全异常,请检查你设置的条件,使用相关工具查看所在 **Dex** 中的 `Class` 以及字节码对象特征,并再试一次。
#### <Badge type="danger" text="Case 19" vertical="middle" />
::: danger loggerE
Can't find this Method/Constructor/Field in \[**CLASS**\]: **CONTENT** Generated by YukiHookAPI#ReflectionTool
@@ -444,6 +482,8 @@ TargetClass.method {
这是一个安全异常,请检查你设置的条件,使用相关工具查看所在 `Class` 中的字节码对象特征,并再试一次。
#### <Badge type="danger" text="Case 20" vertical="middle" />
::: danger loggerE
The number of VagueType must be at least less than the count of paramTypes
@@ -470,6 +510,8 @@ TargetClass.method {
`VagueType` 不能在方法、构造方法参数中完全填充,若存在这样的需求请使用 `paramCount`
#### <Badge type="danger" text="Case 21" vertical="middle" />
::: danger loggerE
Field match type class is not found
@@ -494,6 +536,8 @@ field {
请检查查找条件中 `type``Class` 是否存在,然后再试一次。
#### <Badge type="danger" text="Case 22" vertical="middle" />
::: danger loggerE
Method match returnType class is not found
@@ -518,6 +562,8 @@ method {
请检查查找条件中 `returnType``Class` 是否存在,然后再试一次。
#### <Badge type="danger" text="Case 23" vertical="middle" />
::: danger loggerE
Method/Constructor match paramType\[**INDEX**\] class is not found
@@ -540,6 +586,8 @@ method {
请检查查找条件中 `param``index` 号下标的 `Class` 是否存在,然后再试一次。
#### <Badge type="danger" text="Case 24" vertical="middle" />
::: danger loggerE
Resources Hook condition name/type cannot be empty \[**TAG**\]
@@ -568,6 +616,8 @@ conditions {
Resources 的 Hook 并非类似方法的 Hook其必须拥有完整的名称和类型描述才能查找成功请将查找条件补充完整并再试一次。
#### <Badge type="danger" text="Case 25" vertical="middle" />
::: danger loggerE
Resources Hook type is invalid \[**TAG**\]
@@ -582,6 +632,8 @@ Resources Hook type is invalid \[**TAG**\]
`YukiHookAPI` 会尝试在 `initZygote``handleInitPackageResources` 中装载 Resources Hook若全部装载失败可能会发生此异常当前 Hook Framework 需要支持并启用资源钩子(Resources Hook)功能,请检查后再试一次。
#### <Badge type="danger" text="Case 26" vertical="middle" />
::: danger loggerE
Resources Hook got an Exception \[**TAG**\]
@@ -596,6 +648,8 @@ Resources Hook got an Exception \[**TAG**\]
这是一个异常汇总,请自行向下查看日志具体的异常是什么,例如找不到 Resources Id 的问题。
#### <Badge type="danger" text="Case 27" vertical="middle" />
::: danger loggerE
Received action "**ACTION**" failed
@@ -610,6 +664,8 @@ Received action "**ACTION**" failed
一般情况下,此错误基本上不会发生,一旦发生错误,排除自身代码的问题后,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 28" vertical="middle" />
::: danger loggerE
Failed to sendBroadcast like "**KEY**", because got null context in "**PACKAGENAME**"
@@ -624,6 +680,8 @@ Failed to sendBroadcast like "**KEY**", because got null context in "**PACKAGENA
一般情况下,此错误基本上不会发生,在最新版本中已经修复宿主使用时可能发生的问题,若最新版本依然发生错误,排除自身代码的问题后,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 29" vertical="middle" />
::: danger loggerE
Failed to inject module resources into \[**RESOURCES**\]
@@ -638,6 +696,8 @@ Failed to inject module resources into \[**RESOURCES**\]
一般情况下,此错误基本上不会发生,排除自身代码的问题后,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 30" vertical="middle" />
::: danger loggerE
Activity Proxy initialization failed because got an Exception
@@ -652,6 +712,8 @@ Activity Proxy initialization failed because got an Exception
请检查此错误发生后的下一个错误日志,或许在配置参数上可能发生了一些问题,若找不到相关错误日志的说明,排除自身代码的问题后,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 31" vertical="middle" />
::: danger loggerE
Activity Proxy got an Exception in msg.what \[**WHAT**\]
@@ -666,6 +728,8 @@ Activity Proxy got an Exception in msg.what \[**WHAT**\]
一般情况下,此错误基本上不会发生,但根据系统版本差异性并未做详细测试,排除自身代码的问题后,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 32" vertical="middle" />
::: danger loggerE
This proxy \[**TYPE**\] type is not allowed
@@ -687,6 +751,8 @@ registerModuleAppActivities(proxy = false)
方法中的 `proxy` 参数只接受 `String``CharSequence``Class` 类型,请查看相关使用方法正确填入方法参数。
#### <Badge type="danger" text="Case 33" vertical="middle" />
::: danger loggerE
Cound not got launch intent for package "**NAME**"
@@ -708,6 +774,8 @@ registerModuleAppActivities()
默认参数 (无参) 只能用于可被启动的 APP若 APP 并未声明启动入口 `Activity`,你就需要手动指定方法的 `proxy` 参数。
#### <Badge type="danger" text="Case 34" vertical="middle" />
::: danger loggerE
Could not found "**NAME**" or Class is not a type of Activity
@@ -732,6 +800,8 @@ registerModuleAppActivities(proxy = "com.demo.test.TestActivity")
> 这些异常会直接导致 APP 停止运行(FC),同时会在控制台打印 `E` 级别的日志,还会造成 Hook 进程“死掉”。
#### <Badge type="danger" text="Case 35" vertical="middle" />
::: danger RuntimeException
!!!DO NOT ALLOWED!!! You cannot hook or reflection to call the internal class of the YukiHookAPI itself, The called class is \[**CLASS**\]
@@ -778,6 +848,8 @@ YourClass.method {
不允许内联、反射、Hook `YukiHookAPI` 自身的 `Class` 以及内部功能,防止发生错误。
#### <Badge type="danger" text="Case 36" vertical="middle" />
::: danger UnsupportedOperationException
!!!DANGEROUS!!! Hook \[**CLASS**\] Class is a dangerous behavior! \[**CONTENT**\] \[**SOLVE**\]
@@ -818,6 +890,8 @@ JavaMethod.hook {
:::
#### <Badge type="danger" text="Case 37" vertical="middle" />
::: danger NoClassDefFoundError
Can't find this Class in \[**CLASSLOADER**\]: **CONTENT** Generated by YukiHookAPI#ReflectionTool
@@ -838,6 +912,8 @@ Can't find this Class in \[**CLASSLOADER**\]: **CONTENT** Generated by YukiHookA
请检查当前字符串或实体匹配到的 `Class` 是否存在于当前 `ClassLoader`,并再试一次。
#### <Badge type="danger" text="Case 38" vertical="middle" />
::: danger IllegalStateException
ClassLoader \[**CLASSLOADER**\] is not a DexClassLoader
@@ -852,6 +928,8 @@ ClassLoader \[**CLASSLOADER**\] is not a DexClassLoader
这种情况基本不存在,除非当前 APP 引用了非 ART 平台的可执行文件 (但是这种情况还是不会存在) 或当前 `ClassLoader` 为空。
#### <Badge type="danger" text="Case 39" vertical="middle" />
::: danger IllegalStateException
Failed to got SystemContext
@@ -875,6 +953,8 @@ encase {
这种情况不应该存在,由于 `systemContext` 通过反射从 `ActivityThread` 中得到,除非系统进程发生异常,否则获取到的对象不会为空。
#### <Badge type="danger" text="Case 40" vertical="middle" />
::: danger IllegalStateException
App is dead, You cannot call to appContext
@@ -917,6 +997,8 @@ ModuleApplication.appContext...
这种情况基本不存在,由于 `appContext` 是在 `onCreate` 中被赋值的,除非遇到多进程并发启动或 APP 没有启动完成前被反射调用了父类的 `onCreate` 方法。
#### <Badge type="danger" text="Case 41" vertical="middle" />
::: danger IllegalStateException
YukiHookModulePrefs not allowed in Custom Hook API
@@ -946,6 +1028,8 @@ class MyApplication : Application() {
你只能在 [作为 Xposed 模块使用](../config/xposed-using) 时使用 `YukiHookModulePrefs`,在 Hook 自身 APP 中请使用原生的 `Sp` 存储。
#### <Badge type="danger" text="Case 42" vertical="middle" />
::: danger IllegalStateException
Cannot load the XSharedPreferences, maybe is your Hook Framework not support it
@@ -968,6 +1052,8 @@ encase {
一般情况下不会发生此问题,若持续无法获取 `XSharedPreferences` 对象则可能是你使用的 Hook Framework 不支持此功能或自身存在错误。
#### <Badge type="danger" text="Case 43" vertical="middle" />
::: danger IllegalStateException
YukiHookDataChannel not allowed in Custom Hook API
@@ -999,6 +1085,8 @@ class MyApplication : Application() {
你只能在 [作为 Xposed 模块使用](../config/xposed-using) 时使用 `YukiHookDataChannel`
#### <Badge type="danger" text="Case 44" vertical="middle" />
::: danger IllegalStateException
YukiHookDataChannel only support used on an Activity, but this current context is "**CLASSNAME**"
@@ -1013,6 +1101,8 @@ YukiHookDataChannel only support used on an Activity, but this current context i
你只能在 `Activity``Fragment` 中使用 `YukiHookDataChannel`
#### <Badge type="danger" text="Case 45" vertical="middle" />
::: danger IllegalStateException
Xposed modulePackageName load failed, please reset and rebuild it
@@ -1027,6 +1117,8 @@ Xposed modulePackageName load failed, please reset and rebuild it
请仔细阅读 [这里](../config/xposed-using#modulepackagename-参数) 的帮助文档,正确配置模块的 Hook 入口类包名。
#### <Badge type="danger" text="Case 46" vertical="middle" />
::: danger IllegalStateException
YukiHookModulePrefs missing Context instance
@@ -1068,6 +1160,8 @@ class MainActivity : AppCompatActivity() {
}
```
#### <Badge type="danger" text="Case 47" vertical="middle" />
::: danger IllegalStateException
Key-Value type **TYPE** is not allowed
@@ -1084,6 +1178,8 @@ Key-Value type **TYPE** is not allowed
`YukiHookDataChannel` 支持的类型为 `Intent.putExtra` 限制的类型,请传入支持的类型。
#### <Badge type="danger" text="Case 48" vertical="middle" />
::: danger IllegalStateException
YukiHookDataChannel cannot used in zygote
@@ -1107,6 +1203,8 @@ loadZygote {
`YukiHookDataChannel` 只能在 `loadSystem``loadApp` 中使用。
#### <Badge type="danger" text="Case 49" vertical="middle" />
::: danger IllegalStateException
Custom Hooking Members is empty
@@ -1133,6 +1231,8 @@ injectMember {
若要使用 `members()` 设置自定义 Hook 方法,你必须保证其方法参数里的 `Member` 数组对象不能为空。
#### <Badge type="danger" text="Case 50" vertical="middle" />
::: danger IllegalStateException
HookParam Method args index must be >= 0
@@ -1161,6 +1261,8 @@ injectMember {
请确认你 Hook 的目标方法、构造方法的方法参数数量是否不为空,且不能对 `args` 的下标设置小于 0 的数值。
#### <Badge type="danger" text="Case 51" vertical="middle" />
::: danger IllegalStateException
HookParam instance got null! Is this a static member?
@@ -1189,6 +1291,8 @@ injectMember {
请确认你 Hook 的方法是否为静态类型,静态类型的方法没有实例,不能使用此功能,若非静态方法,请检查实例是否已经销毁。
#### <Badge type="danger" text="Case 52" vertical="middle" />
::: danger IllegalStateException
Current hooked Member args is null
@@ -1215,6 +1319,8 @@ injectMember {
这种问题一般不会发生,真的发生了此问题,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 53" vertical="middle" />
::: danger IllegalStateException
Current hooked Member is null
@@ -1241,6 +1347,8 @@ injectMember {
这种问题一般不会发生,真的发生了此问题,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 54" vertical="middle" />
::: danger IllegalStateException
Current hooked Member is not a Method
@@ -1267,6 +1375,8 @@ injectMember {
请确认你 Hook 的方法是构造方法还是普通方法并使用对应类型的方法获取指定的实例,若不知道字节码的类型可以直接使用 `member` 来获取。
#### <Badge type="danger" text="Case 55" vertical="middle" />
::: danger IllegalStateException
Current hooked Member is not a Constructor
@@ -1293,6 +1403,8 @@ injectMember {
请确认你 Hook 的方法是普通方法还是构造方法并使用对应类型的方法获取指定的实例,若不知道字节码的类型可以直接使用 `member` 来获取。
#### <Badge type="danger" text="Case 56" vertical="middle" />
::: danger IllegalStateException
HookParam instance cannot cast to **TYPE**
@@ -1319,6 +1431,8 @@ injectMember {
请确认当前 Hook 实例的正确类型并重新填写泛型中的类型,若不能确定请使用 `Any` 或直接使用 `instance` 变量。
#### <Badge type="danger" text="Case 57" vertical="middle" />
::: danger IllegalStateException
HookParam Method args is empty, mabe not has args
@@ -1345,6 +1459,8 @@ injectMember {
请确认你 Hook 的目标方法、构造方法的方法参数数量是否不为空,否则你无法使用此功能。
#### <Badge type="danger" text="Case 58" vertical="middle" />
::: danger IllegalStateException
HookParam Method args index out of bounds, max is **NUMBER**
@@ -1371,6 +1487,8 @@ injectMember {
请确认你 Hook 的目标方法、构造方法的方法参数个数,并重新设置数组下标。
#### <Badge type="danger" text="Case 59" vertical="middle" />
::: danger IllegalStateException
PackageParam got null ClassLoader
@@ -1394,6 +1512,8 @@ encase {
这种情况几乎不存在,除非模块被装载的宿主或目标 Xposed 框架自身存在问题,若真的发生了此问题,请携带详细日志进行反馈。
#### <Badge type="danger" text="Case 60" vertical="middle" />
::: danger IllegalStateException
Current Hook Framework not support moduleAppResources
@@ -1417,6 +1537,8 @@ encase {
`moduleAppResources` 需要当前 Hook Framework 支持 `initZygote` 功能,请检查后再试一次。
#### <Badge type="danger" text="Case 61" vertical="middle" />
::: danger IllegalStateException
VariousClass match failed of those **CLASSES**
@@ -1431,6 +1553,8 @@ VariousClass match failed of those **CLASSES**
检查当前 Hook 的宿主内是否存在其中能够匹配的 `Class` 后,再试一次。
#### <Badge type="danger" text="Case 62" vertical="middle" />
::: danger IllegalStateException
Cannot get hook class "**NAME**" cause **THROWABLE**
@@ -1456,6 +1580,8 @@ TargetClass.hook {
详情请参考 [状态监听](../guide/example#状态监听)。
#### <Badge type="danger" text="Case 63" vertical="middle" />
::: danger IllegalStateException
LayoutInflatedParam View instance got null
@@ -1485,6 +1611,8 @@ injectResource {
这种情况基本上不存在,除非被 Hook 的宿主当前 `Activity` 已经销毁或 Hook Framework 自身存在问题。
#### <Badge type="danger" text="Case 64" vertical="middle" />
::: danger IllegalStateException
XResForwarder is invalid
@@ -1506,6 +1634,8 @@ moduleAppResources.fwd(...).resources
这种情况基本上不存在,除非 Hook Framework 自身存在问题。
#### <Badge type="danger" text="Case 65" vertical="middle" />
::: danger IllegalStateException
paramTypes is empty, please use emptyParam() instead
@@ -1552,6 +1682,8 @@ method {
}
```
#### <Badge type="danger" text="Case 66" vertical="middle" />
::: danger IllegalStateException
Invalid YukiHookCallback type
@@ -1566,6 +1698,8 @@ Invalid YukiHookCallback type
这种情况基本上不存在,若发生上述问题,确定并非自己的代码发生的问题后,可提交日志进行反馈。
#### <Badge type="danger" text="Case 67" vertical="middle" />
::: danger IllegalStateException
ModuleContextThemeWrapper already loaded
@@ -1587,6 +1721,8 @@ context.applyTheme(R.style.Theme_AppCompat).applyTheme(R.style.Theme_AppCompat)
`Context` 中只能创建一次 `ModuleContextThemeWrapper`,请检查代码是否有循环调用问题。
#### <Badge type="danger" text="Case 68" vertical="middle" />
::: danger IllegalStateException
Cannot create classes cache for "android", please remove "name" param