From 6a1646588bf84c507e94f7a6894dd641556b1144 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Fri, 8 Apr 2022 03:21:53 +0800 Subject: [PATCH] Added new function --- .../yukihookapi/hook/param/PackageParam.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt index e15f58c4..af1b88a5 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt @@ -29,6 +29,7 @@ package com.highcapable.yukihookapi.hook.param +import android.app.AndroidAppHelper import android.app.Application import android.content.pm.ApplicationInfo import com.highcapable.yukihookapi.hook.bean.HookClass @@ -56,11 +57,19 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) { get() = wrapper?.appClassLoader ?: javaClass.classLoader ?: error("PackageParam got null ClassLoader") /** - * 获取当前 APP 的 [ApplicationInfo] + * 获取当前 Hook APP 的 [ApplicationInfo] * @return [ApplicationInfo] */ val appInfo get() = wrapper?.appInfo ?: ApplicationInfo() + /** + * 获取当前 Hook APP 的 [Application] 实例 + * @return [Application] + * @throws IllegalStateException 如果 [Application] 是空的 + */ + val appContext + get() = runCatching { AndroidAppHelper.currentApplication() }.getOrNull() ?: error("PackageParam got null appContext") + /** * 获取当前 Hook APP 的进程名称 *