import{_ as s,o,c as n,a as e}from"./app.fb8271cf.js";const a={},l=e(`

YukiMemberHookCreator - class

class YukiMemberHookCreator(internal val packageParam: PackageParam, internal val hookClass: HookClass)

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5BF9 hookClass \u8FDB\u884C inline \u5904\u7406

v1.1.0 \u4FEE\u6539

\u4FEE\u6B63\u62FC\u5199\u9519\u8BEF\u7684 Creater \u547D\u540D\u5230 Creator

\u529F\u80FD\u63CF\u8FF0

YukiHookAPI \u7684 Member \u6838\u5FC3 Hook \u5B9E\u73B0\u7C7B\u3002

PRIORITY_DEFAULT - field

val PRIORITY_DEFAULT: Int

\u53D8\u66F4\u8BB0\u5F55

v1.0.80 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u9ED8\u8BA4 Hook \u56DE\u8C03\u4F18\u5148\u7EA7\u3002

PRIORITY_LOWEST - field

val PRIORITY_LOWEST: Int

\u53D8\u66F4\u8BB0\u5F55

v1.0.80 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u5EF6\u8FDF\u56DE\u8C03 Hook \u65B9\u6CD5\u7ED3\u679C\u3002

PRIORITY_HIGHEST - field

val PRIORITY_HIGHEST: Int

\u53D8\u66F4\u8BB0\u5F55

v1.0.80 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u66F4\u5FEB\u56DE\u8C03 Hook \u65B9\u6CD5\u7ED3\u679C\u3002

instanceClass - field

val instanceClass: Class<*>

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.2 \u4FEE\u6539

thisClass \u66F4\u540D\u4E3A instanceClass

\u529F\u80FD\u63CF\u8FF0

\u5F97\u5230\u5F53\u524D\u88AB Hook \u7684 Class\u3002

\u7279\u522B\u6CE8\u610F

\u4E0D\u63A8\u8350\u76F4\u63A5\u4F7F\u7528\uFF0C\u4E07\u4E00\u5F97\u4E0D\u5230 Class \u5BF9\u8C61\u5219\u4F1A\u65E0\u6CD5\u5904\u7406\u5F02\u5E38\u5BFC\u81F4\u5D29\u6E83\u3002

injectMember - method

inline fun injectMember(priority: Int, tag: String, initiate: MemberHookCreator.() -> Unit): MemberHookCreator.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u589E\u52A0 priority Hook \u4F18\u5148\u7EA7

\u529F\u80FD\u63CF\u8FF0

\u6CE8\u5165\u8981 Hook \u7684 Method\u3001Constructor\u3002

\u529F\u80FD\u793A\u4F8B

\u4F60\u53EF\u4EE5\u6CE8\u5165\u4EFB\u610F Method \u4E0E Constructor\uFF0C\u4F7F\u7528 injectMember \u5373\u53EF\u521B\u5EFA\u4E00\u4E2A Hook \u5BF9\u8C61\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    // Your code here.
}

\u4F60\u8FD8\u53EF\u4EE5\u81EA\u5B9A\u4E49 tag\uFF0C\u65B9\u4FBF\u4F60\u5728\u8C03\u8BD5\u7684\u65F6\u5019\u80FD\u591F\u533A\u5206\u4F60\u7684 Hook \u5BF9\u8C61\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember(tag = "KuriharaYuki") {
    // Your code here.
}

\u4F60\u8FD8\u53EF\u4EE5\u81EA\u5B9A\u4E49 priority\uFF0C\u4EE5\u63A7\u5236\u5F53\u524D Hook \u5BF9\u8C61\u5E76\u5217\u6267\u884C\u7684\u4F18\u5148\u7EA7\u901F\u5EA6\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember(priority = PRIORITY_HIGHEST) {
    // Your code here.
}

useDangerousOperation - method

fun useDangerousOperation(option: String)

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u5141\u8BB8 Hook \u8FC7\u7A0B\u4E2D\u7684\u6240\u6709\u5371\u9669\u884C\u4E3A\u3002

\u8BF7\u5728 option \u4E2D\u952E\u5165 Yes do as I say! \u4EE3\u8868\u4F60\u540C\u610F\u5141\u8BB8\u6240\u6709\u5371\u9669\u884C\u4E3A\u3002

\u4F60\u8FD8\u9700\u8981\u5728\u6574\u4E2A\u8C03\u7528\u57DF\u4E2D\u58F0\u660E\u6CE8\u89E3 CauseProblemsApi \u4EE5\u6D88\u9664\u8B66\u544A\u3002

\u82E5\u4F60\u53EA\u9700\u8981 Hook ClassLoader \u7684 loadClass \u65B9\u6CD5\uFF0C\u8BF7\u53C2\u8003 ClassLoader.onLoadClass\u3002

\u7279\u522B\u6CE8\u610F

\u82E5\u4F60\u4E0D\u77E5\u9053\u5141\u8BB8\u6B64\u529F\u80FD\u4F1A\u5E26\u6765\u4F55\u79CD\u540E\u679C\uFF0C\u8BF7\u52FF\u4F7F\u7528\u3002

MemberHookCreator - class

inner class MemberHookCreator internal constructor(private val priority: Int, internal val tag: String)

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u589E\u52A0 priority Hook \u4F18\u5148\u7EA7

v1.0.81 \u4FEE\u6539

\u589E\u52A0 packageName \u5F53\u524D Hook \u7684 APP \u5305\u540D

v1.1.0 \u4FEE\u6539

\u79FB\u9664 packageName

\u4FEE\u6B63\u62FC\u5199\u9519\u8BEF\u7684 Creater \u547D\u540D\u5230 Creator

\u529F\u80FD\u63CF\u8FF0

Hook \u6838\u5FC3\u529F\u80FD\u5B9E\u73B0\u7C7B\uFF0C\u67E5\u627E\u548C\u5904\u7406\u9700\u8981 Hook \u7684 Method\u3001Constructor\u3002

member - field

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.1.0 \u79FB\u9664

\u8BF7\u8F6C\u79FB\u5230 members

members - method

fun members(vararg member: Member?)

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u624B\u52A8\u6307\u5B9A\u8981 Hook \u7684 Method\u3001Constructor\u3002

\u6CE8\u610F

\u4E0D\u5EFA\u8BAE\u4F7F\u7528\u6B64\u65B9\u6CD5\u8BBE\u7F6E\u76EE\u6807\u9700\u8981 Hook \u7684 Member \u5BF9\u8C61\uFF0C\u4F60\u53EF\u4EE5\u4F7F\u7528 method \u6216 constructor \u65B9\u6CD5\u3002

\u529F\u80FD\u793A\u4F8B

\u4F60\u53EF\u4EE5\u8C03\u7528 instanceClass \u6765\u624B\u52A8\u67E5\u627E\u8981 Hook \u7684 Method\u3001Constructor\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    members(instanceClass.getDeclaredMethod("test", StringType))
    beforeHook {}
    afterHook {}
}

\u540C\u6837\u5730\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u4F20\u5165\u4E00\u7EC4 Member \u540C\u65F6\u8FDB\u884C Hook\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    members(
        instanceClass.getDeclaredMethod("test1", StringType),
        instanceClass.getDeclaredMethod("test2", StringType),
        instanceClass.getDeclaredMethod("test3", StringType)
    )
    beforeHook {}
    afterHook {}
}

allMethods - method

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.1.0 \u4F5C\u5E9F

\u8BF7\u4F7F\u7528 method { name = /** name */ }.all() \u6765\u53D6\u4EE3\u5B83

allConstructors - method

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.1.0 \u4F5C\u5E9F

\u8BF7\u4F7F\u7528 allMembers(MembersType.CONSTRUCTOR) \u6765\u53D6\u4EE3\u5B83

allMembers - method

fun allMembers(type: MembersType)

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u67E5\u627E\u5E76 Hook hookClass \u4E2D\u7684\u5168\u90E8 Method\u3001Constructor\u3002

\u6CE8\u610F

\u65E0\u6CD5\u51C6\u786E\u5904\u7406\u6BCF\u4E2A Member \u7684\u8FD4\u56DE\u503C\u548C param\uFF0C\u5EFA\u8BAE\u4F7F\u7528 method or constructor \u5BF9\u6BCF\u4E2A Member \u5355\u72EC Hook\u3002

method - method

inline fun method(initiate: MethodConditions): MethodFinder.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u67E5\u627E\u5F53\u524D Class \u9700\u8981 Hook \u7684 Method \u3002

\u529F\u80FD\u793A\u4F8B

\u4F60\u53EF\u53C2\u8003 MethodFinder \u67E5\u770B\u8BE6\u7EC6\u7528\u6CD5\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    method {
        name = "test"
        param(StringType)
        returnType = UnitType
    }
    beforeHook {}
    afterHook {}
}

\u82E5\u60F3 Hook \u5F53\u524D\u67E5\u627E method { ... } \u6761\u4EF6\u7684\u5168\u90E8\u7ED3\u679C\uFF0C\u4F60\u53EA\u9700\u8981\u5728\u6700\u540E\u52A0\u5165 all \u5373\u53EF\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    method {
        name = "test"
        paramCount(1..5)
    }.all()
    beforeHook {}
    afterHook {}
}

\u6B64\u65F6 beforeHook \u4E0E afterHook \u4F1A\u5728\u6BCF\u4E2A\u67E5\u627E\u5230\u7684\u7ED3\u679C\u4E2D\u591A\u6B21\u56DE\u8C03 Hook \u65B9\u6CD5\u4F53\u3002

\u6CE8\u610F

\u82E5\u6CA1\u6709 all\uFF0C\u9ED8\u8BA4\u53EA\u4F1A Hook \u5F53\u524D\u6761\u4EF6\u67E5\u627E\u5230\u7684\u6570\u7EC4\u4E0B\u6807\u7ED3\u679C\u7B2C\u4E00\u4F4D\u3002

constructor - method

inline fun constructor(initiate: ConstructorConditions): ConstructorFinder.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u67E5\u627E\u5F53\u524D Class \u9700\u8981 Hook \u7684 Constructor\u3002

\u529F\u80FD\u793A\u4F8B

\u4F60\u53EF\u53C2\u8003 ConstructorFinder \u67E5\u770B\u8BE6\u7EC6\u7528\u6CD5\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    constructor { param(StringType) }
    beforeHook {}
    afterHook {}
}

\u82E5\u60F3 Hook \u5F53\u524D\u67E5\u627E constructor { ... } \u6761\u4EF6\u7684\u5168\u90E8\u7ED3\u679C\uFF0C\u4F60\u53EA\u9700\u8981\u5728\u6700\u540E\u52A0\u5165 all \u5373\u53EF\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    constructor { paramCount(1..5) }.all()
    beforeHook {}
    afterHook {}
}

\u6B64\u65F6 beforeHook \u4E0E afterHook \u4F1A\u5728\u6BCF\u4E2A\u67E5\u627E\u5230\u7684\u7ED3\u679C\u4E2D\u591A\u6B21\u56DE\u8C03 Hook \u65B9\u6CD5\u4F53\u3002

\u6CE8\u610F

\u82E5\u6CA1\u6709 all\uFF0C\u9ED8\u8BA4\u53EA\u4F1A Hook \u5F53\u524D\u6761\u4EF6\u67E5\u627E\u5230\u7684\u6570\u7EC4\u4E0B\u6807\u7ED3\u679C\u7B2C\u4E00\u4F4D\u3002

HookParam.field - i-ext-method

inline fun HookParam.field(initiate: FieldConditions): FieldFinder.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u4F7F\u7528\u5F53\u524D hookClass \u67E5\u627E\u5E76\u5F97\u5230 Field\u3002

\u529F\u80FD\u793A\u4F8B

\u4F60\u53EF\u53C2\u8003 FieldFinder \u67E5\u770B\u8BE6\u7EC6\u7528\u6CD5\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    method {
        name = "test"
        param(StringType)
        returnType = UnitType
    }
    afterHook {
        // \u8FD9\u91CC\u4E0D\u9700\u8981\u518D\u8C03\u7528 instanceClass.field \u8FDB\u884C\u67E5\u627E
        field {
            name = "isSweet"
            type = BooleanType
        }.get(instance).setTrue()
    }
}

HookParam.method - i-ext-method

inline fun HookParam.method(initiate: MethodConditions): MethodFinder.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.2 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u4F7F\u7528\u5F53\u524D hookClass \u67E5\u627E\u5E76\u5F97\u5230 Method \u3002

HookParam.constructor - i-ext-method

inline fun HookParam.constructor(initiate: ConstructorConditions): ConstructorFinder.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.2 \u6DFB\u52A0

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u4F7F\u7528\u5F53\u524D hookClass \u67E5\u627E\u5E76\u5F97\u5230 Constructor\u3002

HookParam.injectMember - i-ext-method

inline fun HookParam.injectMember(priority: Int, tag: String, initiate: MemberHookCreator.() -> Unit): MemberHookCreator.Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.88 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u6CE8\u5165\u8981 Hook \u7684 Method\u3001Constructor (\u5D4C\u5957 Hook)\u3002

beforeHook - method

fun beforeHook(initiate: HookParam.() -> Unit): HookCallback

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.1.0 \u4FEE\u6539

\u65B0\u589E HookCallback \u8FD4\u56DE\u7C7B\u578B

\u529F\u80FD\u63CF\u8FF0

\u5728 Member \u6267\u884C\u5B8C\u6210\u524D Hook\u3002

afterHook - method

fun afterHook(initiate: HookParam.() -> Unit): HookCallback

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.1.0 \u4FEE\u6539

\u65B0\u589E HookCallback \u8FD4\u56DE\u7C7B\u578B

\u529F\u80FD\u63CF\u8FF0

\u5728 Member \u6267\u884C\u5B8C\u6210\u540E Hook\u3002

replaceAny - method

fun replaceAny(initiate: HookParam.() -> Any?)

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u62E6\u622A\u5E76\u66FF\u6362\u6B64 Member \u5185\u5BB9\uFF0C\u7ED9\u51FA\u8FD4\u56DE\u503C\u3002

replaceUnit - method

fun replaceUnit(initiate: HookParam.() -> Unit)

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u62E6\u622A\u5E76\u66FF\u6362\u6B64 Member \u5185\u5BB9\uFF0C\u6CA1\u6709\u8FD4\u56DE\u503C\uFF0C\u53EF\u4EE5\u79F0\u4E3A Void\u3002

replaceTo - method

fun replaceTo(any: Any?)

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u62E6\u622A\u5E76\u66FF Member \u8FD4\u56DE\u503C\u3002

replaceToTrue - method

fun replaceToTrue()

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u62E6\u622A\u5E76\u66FF\u6362 Member \u8FD4\u56DE\u503C\u4E3A true\u3002

\u7279\u522B\u6CE8\u610F

\u786E\u4FDD\u66FF\u6362 Member \u7684\u8FD4\u56DE\u5BF9\u8C61\u4E3A Boolean\u3002

replaceToFalse - method

fun replaceToFalse()

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u62E6\u622A\u5E76\u66FF\u6362 Member \u8FD4\u56DE\u503C\u4E3A false\u3002

\u7279\u522B\u6CE8\u610F

\u786E\u4FDD\u66FF\u6362 Member \u7684\u8FD4\u56DE\u5BF9\u8C61\u4E3A Boolean\u3002

intercept - method

fun intercept()

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u62E6\u622A\u6B64 Member \u3002

\u8FD9\u5C06\u4F1A\u7981\u6B62\u6B64 Member \u6267\u884C\u5E76\u8FD4\u56DE null\u3002

\u7279\u522B\u6CE8\u610F

\u4F8B\u5982 Int\u3001Long\u3001Boolean \u5E38\u91CF\u8FD4\u56DE\u503C\u7684 Member \u4E00\u65E6\u88AB\u8BBE\u7F6E\u4E3A null \u53EF\u80FD\u4F1A\u9020\u6210 Hook APP \u629B\u51FA\u5F02\u5E38\u3002

removeSelf - method

fun removeSelf(result: (Boolean) -> Unit)

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u79FB\u9664\u5F53\u524D\u6CE8\u5165\u7684 Hook Method\u3001Constructor (\u89E3\u9664 Hook)\u3002

\u7279\u522B\u6CE8\u610F

\u4F60\u53EA\u80FD\u5728 Hook \u56DE\u8C03\u65B9\u6CD5\u4E2D\u4F7F\u7528\u6B64\u529F\u80FD\u3002

HookCallback - class

inner class HookCallback internal constructor()

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

Hook \u65B9\u6CD5\u4F53\u56DE\u8C03\u5B9E\u73B0\u7C7B\u3002

onFailureThrowToApp - method

fun onFailureThrowToApp()

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u5F53\u56DE\u8C03\u65B9\u6CD5\u4F53\u5185\u53D1\u751F\u5F02\u5E38\u65F6\u5C06\u5F02\u5E38\u629B\u51FA\u7ED9\u5F53\u524D Hook APP\u3002

Result - class

inner class Result internal constructor()

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C Hook \u7ED3\u679C\u5B9E\u73B0\u7C7B\u3002

result - method

inline fun result(initiate: Result.() -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

v1.0.5 \u4FEE\u6539

failures \u4FEE\u6539\u4E3A result

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u521B\u5EFA\u76D1\u542C\u5931\u8D25\u4E8B\u4EF6\u65B9\u6CD5\u4F53\u3002

\u529F\u80FD\u793A\u4F8B

\u4F60\u53EF\u4EE5\u4F7F\u7528\u6B64\u65B9\u6CD5\u4E3A Result \u7C7B\u521B\u5EFA lambda \u65B9\u6CD5\u4F53\u3002

\u793A\u4F8B\u5982\u4E0B

injectMember {
    // Your code here.
}.result {
    onHooked {}
    onAlreadyHooked {}
    ignoredConductFailure()
    onHookingFailure {}
    // ...
}

by - method

inline fun by(condition: () -> Boolean): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.5 \u65B0\u589E

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u6DFB\u52A0\u6267\u884C Hook \u9700\u8981\u6EE1\u8DB3\u7684\u6761\u4EF6\uFF0C\u4E0D\u6EE1\u8DB3\u6761\u4EF6\u5C06\u76F4\u63A5\u505C\u6B62 Hook\u3002

onHooked - method

fun onHooked(result: (Member) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.70 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C members Hook \u6210\u529F\u7684\u56DE\u8C03\u65B9\u6CD5\u3002

\u5728\u9996\u6B21 Hook \u6210\u529F\u540E\u56DE\u8C03\u3002

\u5728\u91CD\u590D Hook \u65F6\u4F1A\u56DE\u8C03 onAlreadyHooked\u3002

onAlreadyHooked - method

fun onAlreadyHooked(result: (Member) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.89 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C members \u91CD\u590D Hook \u7684\u56DE\u8C03\u65B9\u6CD5\u3002

\u6CE8\u610F

\u540C\u4E00\u4E2A hookClass \u4E2D\u7684\u540C\u4E00\u4E2A members \u4E0D\u4F1A\u88AB API \u91CD\u590D Hook\uFF0C\u82E5\u7531\u4E8E\u5404\u79CD\u539F\u56E0\u91CD\u590D Hook \u4F1A\u56DE\u8C03\u6B64\u65B9\u6CD5\u3002

onNoSuchMemberFailure - method

fun onNoSuchMemberFailure(result: (Throwable) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.5 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C members \u4E0D\u5B58\u5728\u53D1\u751F\u9519\u8BEF\u7684\u56DE\u8C03\u65B9\u6CD5\u3002

onConductFailure - method

fun onConductFailure(result: (HookParam, Throwable) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C Hook \u8FDB\u884C\u8FC7\u7A0B\u4E2D\u53D1\u751F\u9519\u8BEF\u7684\u56DE\u8C03\u65B9\u6CD5\u3002

onHookingFailure - method

fun onHookingFailure(result: (Throwable) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C Hook \u5F00\u59CB\u65F6\u53D1\u751F\u7684\u9519\u8BEF\u7684\u56DE\u8C03\u65B9\u6CD5\u3002

onAllFailure - method

fun onAllFailure(result: (Throwable) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C\u5168\u90E8 Hook \u8FC7\u7A0B\u53D1\u751F\u9519\u8BEF\u7684\u56DE\u8C03\u65B9\u6CD5\u3002

ignoredNoSuchMemberFailure - method

fun ignoredNoSuchMemberFailure(): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.5 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u5FFD\u7565 members \u4E0D\u5B58\u5728\u53D1\u751F\u7684\u9519\u8BEF\u3002

ignoredConductFailure - method

fun ignoredConductFailure(): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5FFD\u7565 Hook \u8FDB\u884C\u8FC7\u7A0B\u4E2D\u53D1\u751F\u7684\u9519\u8BEF\u3002

ignoredHookingFailure - method

fun ignoredHookingFailure(): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5FFD\u7565 Hook \u5F00\u59CB\u65F6\u53D1\u751F\u7684\u9519\u8BEF\u3002

ignoredAllFailure - method

fun ignoredAllFailure(): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5FFD\u7565\u5168\u90E8 Hook \u8FC7\u7A0B\u53D1\u751F\u7684\u9519\u8BEF\u3002

remove - method

fun remove(result: (Boolean) -> Unit)

\u53D8\u66F4\u8BB0\u5F55

v1.1.0 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u79FB\u9664\u5F53\u524D\u6CE8\u5165\u7684 Hook Method\u3001Constructor (\u89E3\u9664 Hook)\u3002

\u6CE8\u610F

\u4F60\u53EA\u80FD\u5728 Hook \u6210\u529F\u540E\u624D\u80FD\u89E3\u9664 Hook\uFF0C\u53EF\u76D1\u542C onHooked \u4E8B\u4EF6\u3002

Result - class

inner class Result internal constructor()

\u53D8\u66F4\u8BB0\u5F55

v1.0.3 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C\u5168\u90E8 Hook \u7ED3\u679C\u5B9E\u73B0\u7C7B\u3002

result - method

inline fun result(initiate: Result.() -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.3 \u65B0\u589E

v1.0.5 \u4FEE\u6539

failures \u4FEE\u6539\u4E3A result

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u521B\u5EFA\u76D1\u542C\u4E8B\u4EF6\u65B9\u6CD5\u4F53\u3002

by - method

inline fun by(condition: () -> Boolean): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.5 \u65B0\u589E

v1.0.80 \u4FEE\u6539

\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline

\u529F\u80FD\u63CF\u8FF0

\u6DFB\u52A0\u6267\u884C Hook \u9700\u8981\u6EE1\u8DB3\u7684\u6761\u4EF6\uFF0C\u4E0D\u6EE1\u8DB3\u6761\u4EF6\u5C06\u76F4\u63A5\u505C\u6B62 Hook\u3002

onPrepareHook - method

fun onPrepareHook(callback: () -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.70 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C hookClass \u5B58\u5728\u65F6\u51C6\u5907\u5F00\u59CB Hook \u7684\u64CD\u4F5C\u3002

onHookClassNotFoundFailure - method

fun onHookClassNotFoundFailure(result: (Throwable) -> Unit): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.3 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u76D1\u542C hookClass \u627E\u4E0D\u5230\u65F6\u53D1\u751F\u9519\u8BEF\u7684\u56DE\u8C03\u65B9\u6CD5\u3002

ignoredHookClassNotFoundFailure - method

fun ignoredHookClassNotFoundFailure(): Result

\u53D8\u66F4\u8BB0\u5F55

v1.0.3 \u65B0\u589E

\u529F\u80FD\u63CF\u8FF0

\u5FFD\u7565 hookClass \u627E\u4E0D\u5230\u65F6\u51FA\u73B0\u7684\u9519\u8BEF\u3002

`,398),p=[l];function c(r,t){return o(),n("div",null,p)}const i=s(a,[["render",c],["__file","YukiMemberHookCreator.html.vue"]]);export{i as default};