import{_ as s,o as n,c as o,a}from"./app.f643a53b.js";const e={},l=a(`<h1 id="yukihookapi-object" tabindex="-1"><a class="header-anchor" href="#yukihookapi-object" aria-hidden="true">#</a> YukiHookAPI <span class="symbol">- object</span></h1><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> YukiHookAPI</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0</code> <code>\u6DFB\u52A0</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u8FD9\u662F <code>YukiHookAPI</code> \u7684 API \u8C03\u7528\u603B\u7C7B\uFF0CHook \u76F8\u5173\u529F\u80FD\u7684\u5F00\u59CB\u3001Hook \u76F8\u5173\u529F\u80FD\u7684\u914D\u7F6E\u90FD\u5728\u8FD9\u91CC\u3002</p></blockquote><h2 id="api-version-name-field" tabindex="-1"><a class="header-anchor" href="#api-version-name-field" aria-hidden="true">#</a> API_VERSION_NAME <span class="symbol">- field</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">API_VERSION_NAME</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.4</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D <code>YukiHookAPI</code> \u7684\u7248\u672C\u3002</p></blockquote><h2 id="api-version-code-field" tabindex="-1"><a class="header-anchor" href="#api-version-code-field" aria-hidden="true">#</a> API_VERSION_CODE <span class="symbol">- field</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">API_VERSION_CODE</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.4</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D <code>YukiHookAPI</code> \u7684\u7248\u672C\u53F7\u3002</p></blockquote><h2 class="deprecated">executorName - field</h2><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.5</code> <code>\u65B0\u589E</code></p><p><code>v1.0.91</code> <code>\u79FB\u9664</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>Status.Executor.name</code></p><h2 class="deprecated">executorVersion - field</h2><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.5</code> <code>\u65B0\u589E</code></p><p><code>v1.0.91</code> <code>\u79FB\u9664</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>Status.Executor.apiLevel</code>\u3001<code>Status.Executor.versionName</code>\u3001<code>Status.Executor.versionCode</code></p><h2 id="status-object" tabindex="-1"><a class="header-anchor" href="#status-object" aria-hidden="true">#</a> Status <span class="symbol">- object</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> Status</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u5F53\u524D <code>YukiHookAPI</code> \u7684\u72B6\u6001\u3002</p></blockquote><h3 id="compiledtimestamp-field" tabindex="-1"><a class="header-anchor" href="#compiledtimestamp-field" aria-hidden="true">#</a> compiledTimestamp <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> compiledTimestamp</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Long</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.0</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u9879\u76EE\u7F16\u8BD1\u5B8C\u6210\u7684\u65F6\u95F4\u6233 (\u5F53\u524D\u672C\u5730\u65F6\u95F4)\u3002</p></blockquote><h3 id="isxposedenvironment-field" tabindex="-1"><a class="header-anchor" href="#isxposedenvironment-field" aria-hidden="true">#</a> isXposedEnvironment <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isXposedEnvironment</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.0</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D\u662F\u5426\u4E3A (Xposed) \u5BBF\u4E3B\u73AF\u5883\u3002</p></blockquote><h3 class="deprecated">executorName - field</h3><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><code>v1.1.5</code> <code>\u4F5C\u5E9F</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>Executor.name</code></p><h3 class="deprecated">executorVersion - field</h3><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><code>v1.1.5</code> <code>\u4F5C\u5E9F</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>Executor.apiLevel</code>\u3001<code>Executor.versionName</code>\u3001<code>Executor.versionCode</code></p><h3 id="ismoduleactive-field" tabindex="-1"><a class="header-anchor" href="#ismoduleactive-field" aria-hidden="true">#</a> isModuleActive <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isModuleActive</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u5224\u65AD\u6A21\u5757\u662F\u5426\u5728 Xposed \u6216\u592A\u6781\u3001\u65E0\u6781\u4E2D\u6FC0\u6D3B\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F60\u9700\u8981\u5C06 <strong>Application</strong> \u7EE7\u627F\u4E8E <strong>ModuleApplication</strong>\u3002</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p><p>\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u4EC5\u8FD4\u56DE\u975E <strong>isTaiChiModuleActive</strong> \u7684\u6FC0\u6D3B\u72B6\u6001\u3002</p></div><h3 id="isxposedmoduleactive-field" tabindex="-1"><a class="header-anchor" href="#isxposedmoduleactive-field" aria-hidden="true">#</a> isXposedModuleActive <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isXposedModuleActive</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u4EC5\u5224\u65AD\u6A21\u5757\u662F\u5426\u5728 Xposed \u4E2D\u6FC0\u6D3B\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p><p>\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u59CB\u7EC8\u8FD4\u56DE true\u3002</p></div><h3 id="istaichimoduleactive-field" tabindex="-1"><a class="header-anchor" href="#istaichimoduleactive-field" aria-hidden="true">#</a> isTaiChiModuleActive <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isTaiChiModuleActive</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u4EC5\u5224\u65AD\u6A21\u5757\u662F\u5426\u5728\u592A\u6781\u3001\u65E0\u6781\u4E2D\u6FC0\u6D3B\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F60\u9700\u8981\u5C06 <strong>Application</strong> \u7EE7\u627F\u4E8E <strong>ModuleApplication</strong>\u3002</p><p>\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u59CB\u7EC8\u8FD4\u56DE false\u3002</p></div><h3 id="issupportresourceshook-field" tabindex="-1"><a class="header-anchor" href="#issupportresourceshook-field" aria-hidden="true">#</a> isSupportResourcesHook <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isSupportResourcesHook</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.91</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u5224\u65AD\u5F53\u524D Hook Framework \u662F\u5426\u652F\u6301\u8D44\u6E90\u94A9\u5B50(Resources Hook)\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p><p>\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u53EF\u80FD\u4F1A\u5EF6\u8FDF\u7B49\u5F85\u4E8B\u4EF6\u56DE\u8C03\u540E\u624D\u4F1A\u8FD4\u56DE true\u3002</p><p>\u8BF7\u6CE8\u610F\u4F60\u9700\u8981\u786E\u4FDD <strong>InjectYukiHookWithXposed.isUsingResourcesHook</strong> \u5DF2\u542F\u7528\uFF0C\u5426\u5219\u59CB\u7EC8\u8FD4\u56DE false\u3002</p></div><h3 id="executor-object" tabindex="-1"><a class="header-anchor" href="#executor-object" aria-hidden="true">#</a> Executor <span class="symbol">- object</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> Executor</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.5</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u5F53\u524D <code>YukiHookAPI</code> \u4F7F\u7528\u7684 Hook Framework \u76F8\u5173\u4FE1\u606F\u3002</p></blockquote><h4 id="name-field" tabindex="-1"><a class="header-anchor" href="#name-field" aria-hidden="true">#</a> name <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> name</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.5</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D Hook Framework \u540D\u79F0\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p></div><h4 id="type-field" tabindex="-1"><a class="header-anchor" href="#type-field" aria-hidden="true">#</a> type <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> type</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">ExecutorType</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.9</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D Hook Framework \u7C7B\u578B\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p></div><h4 id="apilevel-field" tabindex="-1"><a class="header-anchor" href="#apilevel-field" aria-hidden="true">#</a> apiLevel <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> apiLevel</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.5</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D Hook Framework \u7684 API \u7248\u672C\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p></div><h4 id="versionname-field" tabindex="-1"><a class="header-anchor" href="#versionname-field" aria-hidden="true">#</a> versionName <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> versionName</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.5</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D Hook Framework \u7248\u672C\u540D\u79F0\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p></div><h4 id="versioncode-field" tabindex="-1"><a class="header-anchor" href="#versioncode-field" aria-hidden="true">#</a> versionCode <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> versionCode</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.5</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u83B7\u53D6\u5F53\u524D Hook Framework \u7248\u672C\u53F7\u3002</p></blockquote><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 <strong>Configs.isEnableHookModuleStatus</strong>\u3002</p></div><h2 id="configs-object" tabindex="-1"><a class="header-anchor" href="#configs-object" aria-hidden="true">#</a> Configs <span class="symbol">- object</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> Configs</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0</code> <code>\u6DFB\u52A0</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u5BF9 API \u76F8\u5173\u529F\u80FD\u7684\u914D\u7F6E\u7C7B\u3002</p></blockquote><h3 id="debuglog-method" tabindex="-1"><a class="header-anchor" href="#debuglog-method" aria-hidden="true">#</a> debugLog <span class="symbol">- method</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">debugLog</span><span style="color:#ADBAC7;">(initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.0</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u914D\u7F6E <code>YukiHookLogger.Configs</code> \u76F8\u5173\u53C2\u6570\u3002</p></blockquote><h3 class="deprecated">debugTag - field</h3><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0</code> <code>\u6DFB\u52A0</code></p><p><code>v1.1.0</code> <code>\u4F5C\u5E9F</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>YukiHookLogger.Configs.tag</code></p><h3 id="isdebug-field" tabindex="-1"><a class="header-anchor" href="#isdebug-field" aria-hidden="true">#</a> isDebug <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isDebug</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0</code> <code>\u6DFB\u52A0</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528 Debug \u6A21\u5F0F\u3002</p></blockquote><p>\u9ED8\u8BA4\u4E3A\u5F00\u542F\u72B6\u6001\uFF0C\u5F00\u542F\u540E\u6A21\u5757\u5C06\u4F1A\u5411 <code>Logcat</code> \u548C (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u7684\u65E5\u5FD7\u529F\u80FD\u6253\u5370\u8BE6\u7EC6\u7684 Hook \u65E5\u5FD7\uFF0C\u5173\u95ED\u540E\u4EC5\u4F1A\u6253\u5370 <code>E</code> \u7EA7\u522B\u7684\u65E5\u5FD7\u3002</p><h3 class="deprecated">isAllowPrintingLogs - field</h3><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.4</code> <code>\u65B0\u589E</code></p><p><code>v1.1.0</code> <code>\u4F5C\u5E9F</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>YukiHookLogger.Configs.isEnable</code></p><h3 class="deprecated">isEnableModulePrefsCache - field</h3><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.5</code> <code>\u65B0\u589E</code></p><p><code>v1.1.9</code> <code>\u4F5C\u5E9F</code></p><p>\u8BF7\u8F6C\u79FB\u5230 <code>isEnablePrefsBridgeCache</code></p><h3 id="isenableprefsbridgecache-field" tabindex="-1"><a class="header-anchor" href="#isenableprefsbridgecache-field" aria-hidden="true">#</a> isEnablePrefsBridgeCache <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnablePrefsBridgeCache</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.9</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528 <code>YukiHookPrefsBridge</code> \u7684\u952E\u503C\u7F13\u5B58\u529F\u80FD\u3002</p></blockquote><p>\u4E3A\u9632\u6B62\u5185\u5B58\u590D\u7528\u8FC7\u9AD8\u95EE\u9898\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002</p><p>\u4F60\u53EF\u4EE5\u624B\u52A8\u5728 <code>YukiHookPrefsBridge</code> \u4E2D\u81EA\u7531\u5F00\u542F\u548C\u5173\u95ED\u7F13\u5B58\u529F\u80FD\u4EE5\u53CA\u6E05\u9664\u7F13\u5B58\u3002</p><h3 id="isenablemoduleappresourcescache-field" tabindex="-1"><a class="header-anchor" href="#isenablemoduleappresourcescache-field" aria-hidden="true">#</a> isEnableModuleAppResourcesCache <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableModuleAppResourcesCache</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.87</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528\u5F53\u524D Xposed \u6A21\u5757\u81EA\u8EAB <code>Resources</code> \u7F13\u5B58\u529F\u80FD\u3002</p></blockquote><p>\u4E3A\u9632\u6B62\u5185\u5B58\u590D\u7528\u8FC7\u9AD8\u95EE\u9898\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002</p><p>\u4F60\u53EF\u4EE5\u624B\u52A8\u8C03\u7528 <code>PackageParam.refreshModuleAppResources</code> \u6765\u5237\u65B0\u7F13\u5B58\u3002</p><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5173\u95ED\u540E\u6BCF\u6B21\u4F7F\u7528 <strong>PackageParam.moduleAppResources</strong> \u90FD\u4F1A\u91CD\u65B0\u521B\u5EFA\uFF0C\u53EF\u80FD\u4F1A\u9020\u6210\u8FD0\u884C\u7F13\u6162\u3002</p></div><h3 id="isenablehookmodulestatus-field" tabindex="-1"><a class="header-anchor" href="#isenablehookmodulestatus-field" aria-hidden="true">#</a> isEnableHookModuleStatus <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableHookModuleStatus</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.88</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528 Hook Xposed \u6A21\u5757\u6FC0\u6D3B\u7B49\u72B6\u6001\u529F\u80FD.</p></blockquote><p>\u4E3A\u539F\u751F\u652F\u6301 Xposed \u6A21\u5757\u6FC0\u6D3B\u72B6\u6001\u68C0\u6D4B\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002</p><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u5173\u95ED\u540E\u4F60\u5C06\u4E0D\u80FD\u518D\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F7F\u7528 <strong>YukiHookAPI.Status</strong> \u4E2D\u7684\u6FC0\u6D3B\u72B6\u6001\u5224\u65AD\u529F\u80FD\u3002</p></div><h3 id="isenablehooksharedpreferences-field" tabindex="-1"><a class="header-anchor" href="#isenablehooksharedpreferences-field" aria-hidden="true">#</a> isEnableHookSharedPreferences <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableHookSharedPreferences</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.1.0</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528 Hook <code>SharedPreferences</code>\u3002</p></blockquote><p>\u542F\u7528\u540E\u5C06\u5728\u6A21\u5757\u542F\u52A8\u65F6\u5F3A\u5236\u5C06 <code>SharedPreferences</code> \u6587\u4EF6\u6743\u9650\u8C03\u6574\u4E3A <code>Context.MODE_WORLD_READABLE</code> (0664)\u3002</p><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u8FD9\u662F\u4E00\u4E2A\u53EF\u9009\u7684\u5B9E\u9A8C\u6027\u529F\u80FD\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u4E0D\u542F\u7528\u3002</p><p>\u4EC5\u7528\u4E8E\u4FEE\u590D\u67D0\u4E9B\u7CFB\u7EDF\u53EF\u80FD\u4F1A\u51FA\u73B0\u5728\u542F\u7528\u4E86 <strong>New XSharedPreferences</strong> \u540E\u4F9D\u7136\u51FA\u73B0\u6587\u4EF6\u6743\u9650\u9519\u8BEF\u95EE\u9898\uFF0C\u82E5\u4F60\u80FD\u6B63\u5E38\u4F7F\u7528 <strong>YYukiHookPrefsBridge</strong> \u5C31\u4E0D\u5EFA\u8BAE\u542F\u7528\u6B64\u529F\u80FD\u3002</p></div><h3 id="isenabledatachannel-field" tabindex="-1"><a class="header-anchor" href="#isenabledatachannel-field" aria-hidden="true">#</a> isEnableDataChannel <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableDataChannel</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.88</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528\u5F53\u524D Xposed \u6A21\u5757\u4E0E\u5BBF\u4E3B\u4EA4\u4E92\u7684 <code>YukiHookDataChannel</code> \u529F\u80FD\u3002</p></blockquote><p>\u8BF7\u786E\u4FDD Xposed \u6A21\u5757\u7684 <code>Application</code> \u7EE7\u627F\u4E8E <code>ModuleApplication</code> \u624D\u80FD\u6709\u6548\u3002</p><p>\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\uFF0C\u5173\u95ED\u540E\u5C06\u4E0D\u4F1A\u5728\u529F\u80FD\u521D\u59CB\u5316\u7684\u65F6\u5019\u88C5\u8F7D <code>YukiHookDataChannel</code>\u3002</p><h3 id="isenablemembercache-field" tabindex="-1"><a class="header-anchor" href="#isenablemembercache-field" aria-hidden="true">#</a> isEnableMemberCache <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableMemberCache</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0.68</code> <code>\u65B0\u589E</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u662F\u5426\u542F\u7528 <code>Member</code> \u7F13\u5B58\u529F\u80FD\u3002</p></blockquote><p>\u4E3A\u9632\u6B62 <code>Member</code> \u590D\u7528\u8FC7\u9AD8\u9020\u6210\u7684\u7CFB\u7EDF GC \u95EE\u9898\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002</p><p>\u542F\u7528\u540E\u4F1A\u7F13\u5B58\u5DF2\u7ECF\u627E\u5230\u7684 <code>Method</code>\u3001<code>Constructor</code>\u3001<code>Field</code>\u3002</p><p>\u7F13\u5B58\u7684 <code>Member</code> \u90FD\u5C06\u5904\u4E8E <code>ReflectsCacheStore</code> \u7684\u5168\u5C40\u9759\u6001\u5B9E\u4F8B\u4E2D\u3002</p><p>\u63A8\u8350\u4F7F\u7528 <code>MethodFinder</code>\u3001<code>ConstructorFinder</code>\u3001<code>FieldFinder</code> \u6765\u83B7\u53D6 <code>Member</code>\u3002</p><p>\u9664\u975E\u7F13\u5B58\u7684 <code>Member</code> \u53D1\u751F\u4E86\u6DF7\u6DC6\u7684\u95EE\u9898\uFF0C\u4F8B\u5982\u4F7F\u7528 R8 \u6DF7\u6DC6\u540E\u7684 APP \u7684\u76EE\u6807 <code>Member</code>\uFF0C\u5426\u5219\u5EFA\u8BAE\u542F\u7528\u3002</p><h2 id="configs-method" tabindex="-1"><a class="header-anchor" href="#configs-method" aria-hidden="true">#</a> configs <span class="symbol">- method</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">configs</span><span style="color:#ADBAC7;">(initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0</code> <code>\u6DFB\u52A0</code></p><p><code>v1.0.80</code> <code>\u4FEE\u6539</code></p><p>\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline</p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u5BF9 <code>Configs</code> \u7C7B\u5B9E\u73B0\u4E86\u4E00\u4E2A <code>lambda</code> \u65B9\u6CD5\u4F53\u3002</p></blockquote><p>\u4F60\u53EF\u4EE5\u8F7B\u677E\u5730\u8C03\u7528\u5B83\u8FDB\u884C\u914D\u7F6E\u3002</p><p><strong>\u529F\u80FD\u793A\u4F8B</strong></p><p>\u4F60\u53EF\u4EE5\u5728 Hook \u5165\u53E3\u7C7B\u7684 <code>onInit</code> \u65B9\u6CD5\u4E2D\u8C03\u7528 <code>configs</code> \u65B9\u6CD5\u548C <code>debugLog</code> \u65B9\u6CD5\u5B8C\u6210\u5BF9 API \u7684\u529F\u80FD\u914D\u7F6E\uFF0C\u5B9E\u65F6\u751F\u6548\u3002</p><blockquote><p>\u793A\u4F8B\u5982\u4E0B</p></blockquote><div class="language-kotlin ext-kt line-numbers-mode"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> HookEntry </span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">IYukiHookXposedInit</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onInit</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.configs {</span></span>
<span class="line"><span style="color:#ADBAC7;">            debugLog {</span></span>
<span class="line"><span style="color:#ADBAC7;">                tag </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;YukiHookAPI&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;">                isEnable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">                isRecord </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
<span class="line"><span style="color:#ADBAC7;">                elements(</span><span style="color:#F69D50;">TAG</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PRIORITY</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PACKAGE_NAME</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">USER_ID</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">            }</span></span>
<span class="line"><span style="color:#ADBAC7;">            isDebug </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">BuildConfig</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">DEBUG</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnablePrefsBridgeCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnableModuleAppResourcesCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnableHookModuleStatus </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnableHookSharedPreferences </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnableDataChannel </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnableMemberCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        }</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onHook</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u82E5\u89C9\u5F97\u4E0A\u9762\u7684\u5199\u6CD5\u4E0D\u7F8E\u89C2\uFF0C\u4F60\u8FD8\u53EF\u4EE5\u5199\u5F97\u66F4\u52A0\u7B80\u6D01\u3002</p><blockquote><p>\u793A\u4F8B\u5982\u4E0B</p></blockquote><div class="language-kotlin ext-kt line-numbers-mode"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> HookEntry </span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">IYukiHookXposedInit</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onInit</span><span style="color:#ADBAC7;">() </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> configs {</span></span>
<span class="line"><span style="color:#ADBAC7;">        debugLog {</span></span>
<span class="line"><span style="color:#ADBAC7;">            tag </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;YukiHookAPI&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;">            isEnable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">            isRecord </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
<span class="line"><span style="color:#ADBAC7;">            elements(</span><span style="color:#F69D50;">TAG</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PRIORITY</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PACKAGE_NAME</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">USER_ID</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">        }</span></span>
<span class="line"><span style="color:#ADBAC7;">        isDebug </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">BuildConfig</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">DEBUG</span></span>
<span class="line"><span style="color:#ADBAC7;">        isEnablePrefsBridgeCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        isEnableModuleAppResourcesCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        isEnableHookModuleStatus </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        isEnableHookSharedPreferences </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
<span class="line"><span style="color:#ADBAC7;">        isEnableDataChannel </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        isEnableMemberCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onHook</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u4F60\u4E5F\u53EF\u4EE5\u4E0D\u901A\u8FC7 <code>configs</code> \u548C <code>debugLog</code> \u65B9\u6CD5\uFF0C\u76F4\u63A5\u8FDB\u884C\u914D\u7F6E\u3002</p><blockquote><p>\u793A\u4F8B\u5982\u4E0B</p></blockquote><div class="language-kotlin ext-kt line-numbers-mode"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> HookEntry </span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">IYukiHookXposedInit</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onInit</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.tag </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;YukiHookAPI&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isRecord </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.elements(</span></span>
<span class="line"><span style="color:#ADBAC7;">            </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">TAG</span><span style="color:#ADBAC7;">,</span></span>
<span class="line"><span style="color:#ADBAC7;">            </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">PRIORITY</span><span style="color:#ADBAC7;">,</span></span>
<span class="line"><span style="color:#ADBAC7;">            </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">PACKAGE_NAME</span><span style="color:#ADBAC7;">,</span></span>
<span class="line"><span style="color:#ADBAC7;">            </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">USER_ID</span></span>
<span class="line"><span style="color:#ADBAC7;">        )</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isDebug </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">BuildConfig</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">DEBUG</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnablePrefsBridgeCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableModuleAppResourcesCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableHookModuleStatus </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableHookSharedPreferences </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableDataChannel </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableMemberCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onHook</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"><span style="color:#ADBAC7;">        </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="encase-method" tabindex="-1"><a class="header-anchor" href="#encase-method" aria-hidden="true">#</a> encase <span class="symbol">- method</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">PackageParam</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> hooker</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiBaseHooker</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(baseContext</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Context?</span><span style="color:#ADBAC7;">, initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">PackageParam</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(baseContext</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Context?</span><span style="color:#ADBAC7;">, </span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> hooker</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiBaseHooker</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>\u53D8\u66F4\u8BB0\u5F55</strong></p><p><code>v1.0</code> <code>\u6DFB\u52A0</code></p><p><strong>\u529F\u80FD\u63CF\u8FF0</strong></p><blockquote><p>\u88C5\u8F7D Hook \u5165\u53E3\u7684\u6838\u5FC3\u65B9\u6CD5\u3002</p></blockquote><p><strong>\u529F\u80FD\u793A\u4F8B</strong></p><p>\u8BE6\u60C5\u8BF7\u53C2\u8003</p><ul><li><p><a href="../../../../../config/api-example#%E9%80%9A%E8%BF%87-lambda-%E5%88%9B%E5%BB%BA">\u901A\u8FC7 lambda \u521B\u5EFA</a></p></li><li><p><a href="../../../../../config/api-example#%E9%80%9A%E8%BF%87%E8%87%AA%E5%AE%9A%E4%B9%89-hooker-%E5%88%9B%E5%BB%BA">\u901A\u8FC7\u81EA\u5B9A\u4E49 Hooker \u521B\u5EFA</a></p></li><li><p><a href="../../../../../config/api-example#%E4%BD%9C%E4%B8%BA-hook-api-%E4%BD%BF%E7%94%A8%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E5%9C%B0%E6%96%B9">\u4F5C\u4E3A Hook API \u4F7F\u7528\u9700\u8981\u6CE8\u610F\u7684\u5730\u65B9</a></p></li></ul>`,242),p=[l];function c(r,t){return n(),o("div",null,p)}const d=s(e,[["render",c],["__file","YukiHookAPI.html.vue"]]);export{d as default};
