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>
|
## appClassLoader <span class="symbol">- field</span>
|
||||||
|
|
||||||
```kotlin:no-line-numbers
|
```kotlin:no-line-numbers
|
||||||
val appClassLoader:ClassLoader
|
var appClassLoader:ClassLoader
|
||||||
```
|
```
|
||||||
|
|
||||||
**Change Records**
|
**Change Records**
|
||||||
|
|
||||||
`v1.0` `first`
|
`v1.0` `first`
|
||||||
|
|
||||||
|
`v1.1.5` `modified`
|
||||||
|
|
||||||
|
可以动态修改此变量的值
|
||||||
|
|
||||||
**Function Illustrate**
|
**Function Illustrate**
|
||||||
|
|
||||||
> 获取当前 Hook APP 的 `ClassLoader`。
|
> 获取、设置当前 Hook APP 的 `ClassLoader`。
|
||||||
|
|
||||||
|
你可以在这里手动设置当前 Hook APP 的 `ClassLoader`,默认情况下会自动获取。
|
||||||
|
|
||||||
|
::: danger
|
||||||
|
|
||||||
|
如果设置了错误或无效的 **ClassLoader** 会造成功能异常,请谨慎操作。
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## appInfo <span class="symbol">- field</span>
|
## 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>
|
## appClassLoader <span class="symbol">- field</span>
|
||||||
|
|
||||||
```kotlin:no-line-numbers
|
```kotlin:no-line-numbers
|
||||||
val appClassLoader:ClassLoader
|
var appClassLoader:ClassLoader
|
||||||
```
|
```
|
||||||
|
|
||||||
**变更记录**
|
**变更记录**
|
||||||
|
|
||||||
`v1.0` `添加`
|
`v1.0` `添加`
|
||||||
|
|
||||||
|
`v1.1.5` `修改`
|
||||||
|
|
||||||
|
可以动态修改此变量的值
|
||||||
|
|
||||||
**功能描述**
|
**功能描述**
|
||||||
|
|
||||||
> 获取当前 Hook APP 的 `ClassLoader`。
|
> 获取、设置当前 Hook APP 的 `ClassLoader`。
|
||||||
|
|
||||||
|
你可以在这里手动设置当前 Hook APP 的 `ClassLoader`,默认情况下会自动获取。
|
||||||
|
|
||||||
|
::: danger
|
||||||
|
|
||||||
|
如果设置了错误或无效的 **ClassLoader** 会造成功能异常,请谨慎操作。
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## appInfo <span class="symbol">- field</span>
|
## 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) {
|
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]
|
* @return [ClassLoader]
|
||||||
* @throws IllegalStateException 如果 [ClassLoader] 是空的
|
* @throws IllegalStateException 如果 [ClassLoader] 是空的
|
||||||
*/
|
*/
|
||||||
val appClassLoader
|
var appClassLoader
|
||||||
get() = wrapper?.appClassLoader ?: YukiHookAppHelper.currentApplication()?.classLoader ?: javaClass.classLoader
|
get() = currentClassLoader ?: wrapper?.appClassLoader
|
||||||
?: error("PackageParam got null ClassLoader")
|
?: YukiHookAppHelper.currentApplication()?.classLoader
|
||||||
|
?: javaClass.classLoader ?: error("PackageParam got null ClassLoader")
|
||||||
|
set(value) {
|
||||||
|
currentClassLoader = value
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前 Hook APP 的 [ApplicationInfo]
|
* 获取当前 Hook APP 的 [ApplicationInfo]
|
||||||
|
Reference in New Issue
Block a user