mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Modify change appClassLoader field to get/set type and the value can be set manually in PackageParam
This commit is contained in:
@@ -27,16 +27,28 @@ open class PackageParam internal constructor(internal var wrapper: PackageParamW
|
||||
## appClassLoader <span class="symbol">- field</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
val appClassLoader:ClassLoader
|
||||
var appClassLoader:ClassLoader
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
`v1.1.5` `modified`
|
||||
|
||||
可以动态修改此变量的值
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 获取当前 Hook APP 的 `ClassLoader`。
|
||||
> 获取、设置当前 Hook APP 的 `ClassLoader`。
|
||||
|
||||
你可以在这里手动设置当前 Hook APP 的 `ClassLoader`,默认情况下会自动获取。
|
||||
|
||||
::: danger
|
||||
|
||||
如果设置了错误或无效的 **ClassLoader** 会造成功能异常,请谨慎操作。
|
||||
|
||||
:::
|
||||
|
||||
## appInfo <span class="symbol">- field</span>
|
||||
|
||||
|
@@ -19,16 +19,28 @@ open class PackageParam internal constructor(internal var wrapper: PackageParamW
|
||||
## appClassLoader <span class="symbol">- field</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
val appClassLoader:ClassLoader
|
||||
var appClassLoader:ClassLoader
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
`v1.1.5` `修改`
|
||||
|
||||
可以动态修改此变量的值
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 获取当前 Hook APP 的 `ClassLoader`。
|
||||
> 获取、设置当前 Hook APP 的 `ClassLoader`。
|
||||
|
||||
你可以在这里手动设置当前 Hook APP 的 `ClassLoader`,默认情况下会自动获取。
|
||||
|
||||
::: danger
|
||||
|
||||
如果设置了错误或无效的 **ClassLoader** 会造成功能异常,请谨慎操作。
|
||||
|
||||
:::
|
||||
|
||||
## appInfo <span class="symbol">- field</span>
|
||||
|
||||
|
@@ -63,14 +63,25 @@ import com.highcapable.yukihookapi.hook.xposed.prefs.YukiHookModulePrefs
|
||||
*/
|
||||
open class PackageParam internal constructor(@PublishedApi internal var wrapper: PackageParamWrapper? = null) {
|
||||
|
||||
/** 当前设置的 [ClassLoader] */
|
||||
private var currentClassLoader: ClassLoader? = null
|
||||
|
||||
/**
|
||||
* 获取当前 Hook APP 的 [ClassLoader]
|
||||
* 获取、设置当前 Hook APP 的 [ClassLoader]
|
||||
*
|
||||
* 你可以在这里手动设置当前 Hook APP 的 [ClassLoader] - 默认情况下会自动获取
|
||||
*
|
||||
* - ❗如果设置了错误或无效的 [ClassLoader] 会造成功能异常 - 请谨慎操作
|
||||
* @return [ClassLoader]
|
||||
* @throws IllegalStateException 如果 [ClassLoader] 是空的
|
||||
*/
|
||||
val appClassLoader
|
||||
get() = wrapper?.appClassLoader ?: YukiHookAppHelper.currentApplication()?.classLoader ?: javaClass.classLoader
|
||||
?: error("PackageParam got null ClassLoader")
|
||||
var appClassLoader
|
||||
get() = currentClassLoader ?: wrapper?.appClassLoader
|
||||
?: YukiHookAppHelper.currentApplication()?.classLoader
|
||||
?: javaClass.classLoader ?: error("PackageParam got null ClassLoader")
|
||||
set(value) {
|
||||
currentClassLoader = value
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前 Hook APP 的 [ApplicationInfo]
|
||||
|
Reference in New Issue
Block a user