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