Fix an exception problem when using VariousClass to hook

This commit is contained in:
2022-04-04 22:32:52 +08:00
parent c33a6f39a5
commit b28b2fc33c

View File

@@ -229,7 +229,7 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) {
* @return [YukiHookCreater.Result] * @return [YukiHookCreater.Result]
*/ */
fun VariousClass.hook(isUseAppClassLoader: Boolean = true, initiate: YukiHookCreater.() -> Unit) = fun VariousClass.hook(isUseAppClassLoader: Boolean = true, initiate: YukiHookCreater.() -> Unit) =
get(if (isUseAppClassLoader) appClassLoader else null).hookClass.hook(isUseAppClassLoader, initiate) hookClass(if (isUseAppClassLoader) appClassLoader else null).hook(isUseAppClassLoader, initiate)
/** /**
* Hook 方法、构造类 * Hook 方法、构造类
@@ -244,9 +244,8 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) {
* [VariousClass] 转换为 [HookClass] 并绑定到 [appClassLoader] * [VariousClass] 转换为 [HookClass] 并绑定到 [appClassLoader]
* @return [HookClass] * @return [HookClass]
*/ */
private val VariousClass.hookClass private fun VariousClass.hookClass(loader: ClassLoader? = null) = try {
get() = try { get(loader).hookClass
clazz.hookClass
} catch (e: Throwable) { } catch (e: Throwable) {
HookClass(name = "VariousClass", throwable = Throwable(e.message)) HookClass(name = "VariousClass", throwable = Throwable(e.message))
} }