Files
github-actions[bot] aac9e42e84 Deploy to GitHub pages
2025-08-02 18:17:09 +00:00

63 lines
97 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-rc.0">
<style>
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
</script>
<link rel="icon" href="/YukiHookAPI/images/logo.png"><title>YLog - object | Yuki Hook API</title><meta name="description" content="An efficient Hook API and Xposed Module solution built in Kotlin">
<link rel="preload" href="/YukiHookAPI/assets/style-DJZs_E_O.css" as="style"><link rel="stylesheet" href="/YukiHookAPI/assets/style-DJZs_E_O.css">
<link rel="modulepreload" href="/YukiHookAPI/assets/app-BpUB8-Q8.js"><link rel="modulepreload" href="/YukiHookAPI/assets/YLog.html-DvNg4c8I.js"><link rel="modulepreload" href="/YukiHookAPI/assets/YLog.html-COO68ekD.js">
<link rel="prefetch" href="/YukiHookAPI/assets/index.html-D6YZKtoe.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/index.html-CHgP8geU.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/index.html-Bo0olcew.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/about.html-DDk-q1tu.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html-Bti1NzlA.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html-BSRuPKMe.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/future.html-L0gip76T.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-BWNdBIZw.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html-pCpzRhE2.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html-Dw1mqBwg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html-zXrI7_0R.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-2-x.html-CCb8Xv2u.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-3-x.html-f3TZzPCU.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html-Y47fgLwe.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html-CgLVQrdV.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/example.html-CnT6OQuI.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-Bhz1Th03.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html-BJFcZiJH.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html-Bd10LyS9.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html-teZCSUoB.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/supportive.html-bOj3zBC_.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html-xbo0Krpt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/about.html-D2yzzIyM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html-B8UfyBpi.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html-BfIGgEZ9.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/future.html-BJR2WZUb.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-DAJQxBy-.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html-CKw7e9Ka.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html-Pu6YF45s.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html-CsMd954C.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-2-x.html-D8SebGDZ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-3-x.html-CPnNzAVm.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html-DnD4WWCL.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html-sNzVArkO.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/example.html-DBLcpd3T.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-Cg57uIpM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html-CFMQgPep.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html-kyRByfpu.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html-Dq2QHQuy.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/supportive.html-DFnCbU7r.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html-DnghHaiT.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html-BRZka0o7.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html-BgnOErBM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html-Dfs7bQRS.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html-BohdUWGg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html-DWoHNeKf.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html-ByKfNh6r.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html-COD96F06.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html-C7PzYAZN.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html-BW4Gjfc-.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html-DXPuhLBz.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html-B7eDf6ix.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html-CZy1SL3y.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookAPI.html-CtkZ6zEO.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookAPI.html-DqgBnIkU.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html-BGS_DJ2i.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html-BT6y6bjW.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html-CsB6lKmB.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html-CW_9kHEG.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html-B9Np_jgF.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html-3D_jbtJ_.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html-C1zPXD2D.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html-RF6ZJecD.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html-CWm_43km.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html-BTXWRqP4.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html-BKpat8zr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html-CQJSudBe.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html-356ELE7K.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html-C_GfVAhD.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html-Drrw8tv5.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html-DO13T8ug.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html-CszRm9Er.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html-DA2dINvc.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html-CKljcU2t.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html-C0fIOtqI.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html-DW5yilOs.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html-E78OJRmm.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html-BiQJ-KKx.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html-CoBstbjt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YLog.html-KE-5aK_7.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html-SbRyLaGf.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html-B3y0YF_m.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YLogData.html-XHmF_gos.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html-DptIpBn2.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html-CnqF4An8.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html-CIPHyInd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html-DI2zOcK2.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html-DDYYL3th.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html-BkkBbb-2.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html-DgdZw6CE.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPrefsBridge.html-XzXYFQ1s.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html-DEGewXhq.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YLogData.html-Bjac08gN.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html-VD1JaHTz.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html-Dq_zQQPa.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html-DPcuUPhN.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html-C97GePUm.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html-BUNfn5Dn.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html-C4NqW1gZ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html-Citru5C3.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPrefsBridge.html-BG7-Nq7V.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html-Dr7_YjoO.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPriority.html-smxFpy5Q.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html-C6lfjJ7s.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html-BAaqClmM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html-DuJIkaTM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html-CoQdzzYH.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html-DxYxJsjj.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html-BFs-WRvy.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html-jRWj4Ooi.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html-DMGGwbMr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html-DzFxHHne.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html-BX_rAvQg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html-BGoRh-pu.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html-BFtfl5mt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html-B72hWN1s.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html-CXpIHn7Z.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPriority.html-AgDP0CYh.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html-CAvlkbqd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html-CGIuabI3.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html-CmDHOksx.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html-C9KHPG3N.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html-BepwXG9K.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html-C9AS9omI.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html-DZnAa6JN.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html-CtCGVu9N.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html--5kriWCV.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html-C7ktasrE.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html-BHp-ErCM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html-BwGRnYn5.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html-BbIfbfIq.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html-DSUkMTGs.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ExecutorType.html-Crao5k7G.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html-lW3FW-Bi.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html-DZnBFn8R.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html-BWk6zL2M.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html-Dxosvxi0.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html-BuW8PcLh.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html-DnAEAxmC.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html-CzY4xHkS.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html-BCtTTlLz.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html-CrhmOsh-.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html-JFvN5vF4.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html-DNoARGj7.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ExecutorType.html-tZrR-ZDE.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html-BiTeupWL.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html-B9KoNMo6.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html-DopiK4pt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html-DjhVlNAH.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html-phFNNXJ8.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html-DePoZYvp.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html-r3ZOm1rb.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html-DETSSGJ6.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html-BwDznH0J.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html-BCax3oQU.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html-D3JVFalR.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html-DVBlYWR7.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html-4uRTQRQi.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/404.html-5sy5zeZP.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/index.html-5uusgM1u.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/index.html-NYRlXN7n.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/index.html-CB7-jiwu.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/about.html-C7A_QXrx.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html-BQ5AB5_x.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html-CGQemCaU.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/future.html-aS7aVBMr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-CSP-y2Sx.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html-DtfHDuEM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html-vCoW3MFk.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html-DtbSeeEs.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-2-x.html-etgyp2HF.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-3-x.html-C6uNfo-e.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html-BruKL-ec.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html-7rTJRpMs.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/example.html-Cp22GGCP.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-Hj1hpUN3.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html-BvjZCte4.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html-CtQJCJWD.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html-CnOHbn2J.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/supportive.html-Cd4sY_Jm.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html-0qjforhM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/about.html-B_eiWEVD.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html-D0nYCScY.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html-Co35EHVH.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/future.html-BS9bLph2.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-DwzlpDun.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html-t4M0wmt4.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html-9Je71x4B.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html-P_EkKVX5.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-2-x.html-IonwGaOH.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-api-1-3-x.html-DBMmjUYq.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html-C9EyjikD.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html-B9LNrU2W.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/example.html-l_t2vpgR.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/home.html-DVG1oAZg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html-CabyS3rt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html-DwX5LqED.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html-pUciT6Ob.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/supportive.html-CTTW-ar9.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html-Bq3KEpgx.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html-DyCVxqXv.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html-BqYisHbJ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html-C9kwF_yM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html-D65pVYER.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html-DZ4m7tlI.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html-DYzzLHun.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html-BNOoOrx_.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html-BsjcaKw0.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html-B-OHJyal.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html-BZdJSVZS.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html-BeC6v_Qb.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html-CFhC-RoM.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookAPI.html-BRFLeDZT.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookAPI.html-DwLoSNWF.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html-B4v_FVid.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html-CF1c04UQ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html-8gR9C4nD.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html-CIc4FkOC.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html-_3fh2QXJ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html-DXVXaoSY.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html-De9-pEl1.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html-CuPFBHZF.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html-Dg91Mdnk.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html-BVjwrqby.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html-B7vz7jla.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html-BjAineUd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html-vqkHjjmt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html-4oxD2_xz.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html-Dwxk2yiw.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html-DQHoN7CN.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html-CJV3GEVs.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html-zBrjRa5p.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html-BdAcgrdg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html-WvIyCwTr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html-CKh6FwjE.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html-D01KVdut.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html-Z7mH28Qd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html-Dp3ev0qR.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YLog.html-g2dfXKDH.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html-ArPvy40F.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html-Bti7eWUt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YLogData.html-4aWpXHE7.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html-B-t1GVQa.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html-B1x8cclg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html-2ZSLUHiw.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html-DyzA4S0r.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html-DqSR6Ejd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html-DYtHym0q.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html-0wHuRMGr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPrefsBridge.html-DVZoJTsa.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html-DTEi8nM4.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YLogData.html-DIaUDgTt.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html-357LuQ82.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html-pywoj7PR.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html-pGgKQdI9.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html-B0M9p-6D.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html-Cel7GBhi.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html--_5n76BL.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html-iKhC7MJd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPrefsBridge.html-Dprm2-90.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html-CjNI4nFN.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPriority.html-CUgcejgE.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html-DvwHVrKn.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html-DDicCU5w.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html-CVpWcXzr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html-Cj74NK2V.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html-CtgDtD9U.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html-BIvOGBiv.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html-CAc6ozP1.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html-DHpOwzIq.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html-CwrMMidY.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html-CFQv84Ul.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html-DFUm-PWb.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html-BbehDNqJ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html-BbtXNnuS.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html-XrU_e4rC.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookPriority.html-BzBXrjfk.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html-CAOGJdjR.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html-BbI_zWlb.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html-DrSYr7fy.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html-Di6mgVKf.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html-DLZMTsEY.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html-DtehWaX2.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html-DyrSatFK.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html-PPhoLmXZ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html-DZg6eRc4.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html-Bp3A6ogd.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html-CEzIYSdp.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html-a6gisn52.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html-BInEpoWz.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html-BozNh-bQ.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ExecutorType.html-lxG6aiIx.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html-CAljrhzL.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html-B1V1DMvv.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html-DOue2ksg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html-1b_D9aS8.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html-Bxffddpr.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html-DzJvDeKO.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html-DBoFuxYs.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html-B2dSoNBv.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html-BffipQvV.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html-C5B-6ZTc.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html-BylfEIpg.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ExecutorType.html-DyWI3DE3.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html-cCBf7VmB.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html-DD38DB4t.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html-zuU55Nke.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html-DA4rLBnV.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html-CjPJ9499.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html-D50kuywF.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html-WT4l8b-Y.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html-CW03U_a6.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html-e7GuQiJo.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html-Csob9Ceu.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html-UouAIg96.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html-CPcOEYiz.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html-C2cLl89Y.js" as="script"><link rel="prefetch" href="/YukiHookAPI/assets/404.html-BkgNjMhp.js" as="script">
</head>
<body>
<div id="app"><!--[--><div class="theme-container code-page"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/YukiHookAPI/en/" class=""><img class="logo" src="/YukiHookAPI/images/logo.png" alt="Yuki Hook API"><span class="site-name can-hide">Yuki Hook API</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Navigation"><span class="title">Navigation</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Navigation"><span class="title">Navigation</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Get Started</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/home" class="" aria-label="Introduce"><!--[--><!--]--> Introduce <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/supportive" class="" aria-label="Supportive"><!--[--><!--]--> Supportive <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/knowledge" class="" aria-label="Basic Knowledge"><!--[--><!--]--> Basic Knowledge <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/quick-start" class="" aria-label="Quick Start"><!--[--><!--]--> Quick Start <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/example" class="" aria-label="Usage Example"><!--[--><!--]--> Usage Example <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/move-to-new-api" class="" aria-label="Migrate from Other Hook APIs"><!--[--><!--]--> Migrate from Other Hook APIs <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Configs</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/api-example" class="" aria-label="API Basic Configs"><!--[--><!--]--> API Basic Configs <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/api-exception" class="" aria-label="API Exception Handling"><!--[--><!--]--> API Exception Handling <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/xposed-using" class="" aria-label="Use as Xposed Module Configs"><!--[--><!--]--> Use as Xposed Module Configs <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/api-using" class="" aria-label="Use as Hook API Configs"><!--[--><!--]--> Use as Hook API Configs <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/move-to-api-1-2-x" class="" aria-label="Migrate to YukiHookAPI 1.2.x"><!--[--><!--]--> Migrate to YukiHookAPI 1.2.x <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/move-to-api-1-3-x" class="" aria-label="Migrate to YukiHookAPI 1.3.x"><!--[--><!--]--> Migrate to YukiHookAPI 1.3.x <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/r8-proguard" class="" aria-label="R8 &amp; Proguard Obfuscate"><!--[--><!--]--> R8 &amp; Proguard Obfuscate <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Tools</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/tools/yukihookapi-projectbuilder" class="" aria-label="YukiHookAPI Project Builder"><!--[--><!--]--> YukiHookAPI Project Builder <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>API Document</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/api/home" class="" aria-label="Document Introduction"><!--[--><!--]--> Document Introduction <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI" class="router-link-active" aria-label="Public API"><!--[--><!--]--> Public API <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/api/special-features/reflection" class="" aria-label="Special Features"><!--[--><!--]--> Special Features <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>About</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/changelog" class="" aria-label="Changelog"><!--[--><!--]--> Changelog <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/future" class="" aria-label="Looking for Future"><!--[--><!--]--> Looking for Future <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/contacts" class="" aria-label="Contact Us"><!--[--><!--]--> Contact Us <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/about" class="" aria-label="About this Document"><!--[--><!--]--> About this Document <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><a href="/YukiHookAPI/en/about/contacts" class="" aria-label="Contact Us"><!--[--><!--]--> Contact Us <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><span class="title">English (US)</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><span class="title">English (US)</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/YukiHookAPI/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/YLog.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/HighCapable/YukiHookAPI" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="toggle color mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><form class="search-box" role="search"><input type="search" placeholder="Search" autocomplete="off" spellcheck="false" value><!----></form></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Navigation"><span class="title">Navigation</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Navigation"><span class="title">Navigation</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Get Started</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/home" class="" aria-label="Introduce"><!--[--><!--]--> Introduce <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/supportive" class="" aria-label="Supportive"><!--[--><!--]--> Supportive <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/knowledge" class="" aria-label="Basic Knowledge"><!--[--><!--]--> Basic Knowledge <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/quick-start" class="" aria-label="Quick Start"><!--[--><!--]--> Quick Start <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/example" class="" aria-label="Usage Example"><!--[--><!--]--> Usage Example <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/guide/move-to-new-api" class="" aria-label="Migrate from Other Hook APIs"><!--[--><!--]--> Migrate from Other Hook APIs <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Configs</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/api-example" class="" aria-label="API Basic Configs"><!--[--><!--]--> API Basic Configs <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/api-exception" class="" aria-label="API Exception Handling"><!--[--><!--]--> API Exception Handling <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/xposed-using" class="" aria-label="Use as Xposed Module Configs"><!--[--><!--]--> Use as Xposed Module Configs <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/api-using" class="" aria-label="Use as Hook API Configs"><!--[--><!--]--> Use as Hook API Configs <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/move-to-api-1-2-x" class="" aria-label="Migrate to YukiHookAPI 1.2.x"><!--[--><!--]--> Migrate to YukiHookAPI 1.2.x <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/move-to-api-1-3-x" class="" aria-label="Migrate to YukiHookAPI 1.3.x"><!--[--><!--]--> Migrate to YukiHookAPI 1.3.x <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/config/r8-proguard" class="" aria-label="R8 &amp; Proguard Obfuscate"><!--[--><!--]--> R8 &amp; Proguard Obfuscate <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Tools</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/tools/yukihookapi-projectbuilder" class="" aria-label="YukiHookAPI Project Builder"><!--[--><!--]--> YukiHookAPI Project Builder <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>API Document</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/api/home" class="" aria-label="Document Introduction"><!--[--><!--]--> Document Introduction <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI" class="router-link-active" aria-label="Public API"><!--[--><!--]--> Public API <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/api/special-features/reflection" class="" aria-label="Special Features"><!--[--><!--]--> Special Features <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>About</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/changelog" class="" aria-label="Changelog"><!--[--><!--]--> Changelog <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/future" class="" aria-label="Looking for Future"><!--[--><!--]--> Looking for Future <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/contacts" class="" aria-label="Contact Us"><!--[--><!--]--> Contact Us <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/YukiHookAPI/en/about/about" class="" aria-label="About this Document"><!--[--><!--]--> About this Document <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><a href="/YukiHookAPI/en/about/contacts" class="" aria-label="Contact Us"><!--[--><!--]--> Contact Us <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><span class="title">English (US)</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><span class="title">English (US)</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/YukiHookAPI/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/YLog.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/HighCapable/YukiHookAPI" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">Get Started <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/guide/home.html" class="sidebar-item" aria-label="Introduction"><!--[--><!--]--> Introduction <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/guide/supportive.html" class="sidebar-item" aria-label="Supportive"><!--[--><!--]--> Supportive <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/guide/knowledge.html" class="sidebar-item" aria-label="Basic Knowledge"><!--[--><!--]--> Basic Knowledge <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/guide/quick-start.html" class="sidebar-item" aria-label="Quick Start"><!--[--><!--]--> Quick Start <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/guide/example.html" class="sidebar-item" aria-label="Usage Example"><!--[--><!--]--> Usage Example <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/guide/move-to-new-api.html" class="sidebar-item" aria-label="Migrate from Other Hook APIs"><!--[--><!--]--> Migrate from Other Hook APIs <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">Configs <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/config/api-example.html" class="sidebar-item" aria-label="API Basic Configs"><!--[--><!--]--> API Basic Configs <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/config/api-exception.html" class="sidebar-item" aria-label="API Exception Handling"><!--[--><!--]--> API Exception Handling <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/config/xposed-using.html" class="sidebar-item" aria-label="Use as Xposed Module Configs"><!--[--><!--]--> Use as Xposed Module Configs <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/config/api-using.html" class="sidebar-item" aria-label="Use as Hook API Configs"><!--[--><!--]--> Use as Hook API Configs <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/config/move-to-api-1-2-x.html" class="sidebar-item" aria-label="Migrate to YukiHookAPI 1.2.x"><!--[--><!--]--> Migrate to YukiHookAPI 1.2.x <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/config/move-to-api-1-3-x.html" class="sidebar-item" aria-label="Migrate to YukiHookAPI 1.3.x"><!--[--><!--]--> Migrate to YukiHookAPI 1.3.x <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/config/r8-proguard.html" class="sidebar-item" aria-label="R8 &amp; Proguard Obfuscate"><!--[--><!--]--> R8 &amp; Proguard Obfuscate <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">Tools <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/tools/yukihookapi-projectbuilder.html" class="sidebar-item" aria-label="YukiHookAPI Project Builder"><!--[--><!--]--> YukiHookAPI Project Builder <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading active collapsible">API Document <span class="down arrow"></span></p><ul style="" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/api/home.html" class="sidebar-item" aria-label="Document Introduce"><!--[--><!--]--> Document Introduce <!--[--><!--]--></a><!----></li><li><p tabindex="0" class="sidebar-item active collapsible">Public API  <span class="down arrow"></span></p><ul style="" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html" class="sidebar-item" aria-label="YukiHookAPI - object"><!--[--><!--]--> YukiHookAPI - object <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.html" class="sidebar-item" aria-label="PackageParam - class"><!--[--><!--]--> PackageParam - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/param/HookParam.html" class="sidebar-item" aria-label="HookParam - class"><!--[--><!--]--> HookParam - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/annotation/xposed/InjectYukiHookWithXposed.html" class="sidebar-item" aria-label="InjectYukiHookWithXposed - annotation"><!--[--><!--]--> InjectYukiHookWithXposed - annotation <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/proxy/IYukiHookXposedInit.html" class="sidebar-item" aria-label="IYukiHookXposedInit - interface"><!--[--><!--]--> IYukiHookXposedInit - interface <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/prefs/YukiHookPrefsBridge.html" class="sidebar-item" aria-label="YukiHookPrefsBridge - class"><!--[--><!--]--> YukiHookPrefsBridge - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/prefs/ui/ModulePreferenceFragment.html" class="sidebar-item" aria-label="ModulePreferenceFragment - class"><!--[--><!--]--> ModulePreferenceFragment - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/prefs/data/PrefsData.html" class="sidebar-item" aria-label="PrefsData - class"><!--[--><!--]--> PrefsData - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.html" class="sidebar-item" aria-label="YukiHookDataChannel - class"><!--[--><!--]--> YukiHookDataChannel - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/data/ChannelData.html" class="sidebar-item" aria-label="ChannelData - class"><!--[--><!--]--> ChannelData - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/priority/ChannelPriority.html" class="sidebar-item" aria-label="ChannelPriority - class"><!--[--><!--]--> ChannelPriority - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/application/ModuleApplication.html" class="sidebar-item" aria-label="ModuleApplication - class"><!--[--><!--]--> ModuleApplication - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/base/ModuleAppActivity.html" class="sidebar-item" aria-label="ModuleAppActivity - class"><!--[--><!--]--> ModuleAppActivity - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/base/ModuleAppCompatActivity.html" class="sidebar-item" aria-label="ModuleAppCompatActivity - class"><!--[--><!--]--> ModuleAppCompatActivity - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/parasitic/context/wrapper/ModuleContextThemeWrapper.html" class="sidebar-item" aria-label="ModuleContextThemeWrapper - class"><!--[--><!--]--> ModuleContextThemeWrapper - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/parasitic/reference/ModuleClassLoader.html" class="sidebar-item" aria-label="ModuleClassLoader - class"><!--[--><!--]--> ModuleClassLoader - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiModuleResources.html" class="sidebar-item" aria-label="YukiModuleResources - class"><!--[--><!--]--> YukiModuleResources - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.html" class="sidebar-item" aria-label="YukiResources - class"><!--[--><!--]--> YukiResources - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResForwarder.html" class="sidebar-item" aria-label="YukiResForwarder - class"><!--[--><!--]--> YukiResForwarder - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/event/YukiXposedEvent.html" class="sidebar-item" aria-label="YukiXposedEvent - object"><!--[--><!--]--> YukiXposedEvent - object <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/type/android/ComponentTypeFactory.html" class="sidebar-item" aria-label="ComponentTypeFactory - kt"><!--[--><!--]--> ComponentTypeFactory - kt <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/type/android/GraphicsTypeFactory.html" class="sidebar-item" aria-label="GraphicsTypeFactory - kt"><!--[--><!--]--> GraphicsTypeFactory - kt <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/type/android/ViewTypeFactory.html" class="sidebar-item" aria-label="ViewTypeFactory - kt"><!--[--><!--]--> ViewTypeFactory - kt <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/type/java/VariableTypeFactory.html" class="sidebar-item" aria-label="VariableTypeFactory - kt"><!--[--><!--]--> VariableTypeFactory - kt <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/type/defined/DefinedTypeFactory.html" class="sidebar-item" aria-label="DefinedTypeFactory - kt"><!--[--><!--]--> DefinedTypeFactory - kt <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="YLog - object"><!--[--><!--]--> YLog - object <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#inmemorydata-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="inMemoryData - field"><!--[--><!--]--> inMemoryData - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#contents-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="contents - field"><!--[--><!--]--> contents - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#contents-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="contents - method"><!--[--><!--]--> contents - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#clear-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="clear - method"><!--[--><!--]--> clear - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#savetofile-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="saveToFile - method"><!--[--><!--]--> saveToFile - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#configs-object" class="router-link-active router-link-exact-active sidebar-item" aria-label="Configs - object"><!--[--><!--]--> Configs - object <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#tag-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="TAG - field"><!--[--><!--]--> TAG - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#priority-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="PRIORITY - field"><!--[--><!--]--> PRIORITY - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#package-name-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="PACKAGE_NAME - field"><!--[--><!--]--> PACKAGE_NAME - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#user-id-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="USER_ID - field"><!--[--><!--]--> USER_ID - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#tag-field-1" class="router-link-active router-link-exact-active sidebar-item" aria-label="tag - field"><!--[--><!--]--> tag - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#isenable-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnable - field"><!--[--><!--]--> isEnable - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#isrecord-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isRecord - field"><!--[--><!--]--> isRecord - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#elements-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="elements - method"><!--[--><!--]--> elements - method <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#debug-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="debug - method"><!--[--><!--]--> debug - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#info-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="info - method"><!--[--><!--]--> info - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#warn-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="warn - method"><!--[--><!--]--> warn - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#error-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="error - method"><!--[--><!--]--> error - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#envtype-class" class="router-link-active router-link-exact-active sidebar-item" aria-label="EnvType - class"><!--[--><!--]--> EnvType - class <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#logd-enum" class="router-link-active router-link-exact-active sidebar-item" aria-label="LOGD - enum"><!--[--><!--]--> LOGD - enum <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#xposed-environment-enum" class="router-link-active router-link-exact-active sidebar-item" aria-label="XPOSED_ENVIRONMENT - enum"><!--[--><!--]--> XPOSED_ENVIRONMENT - enum <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#scope-enum" class="router-link-active router-link-exact-active sidebar-item" aria-label="SCOPE - enum"><!--[--><!--]--> SCOPE - enum <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.html#both-enum" class="router-link-active router-link-exact-active sidebar-item" aria-label="BOTH - enum"><!--[--><!--]--> BOTH - enum <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.html" class="sidebar-item" aria-label="YLogData - class"><!--[--><!--]--> YLogData - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.html" class="sidebar-item" aria-label="ReflectionFactory - kt"><!--[--><!--]--> ReflectionFactory - kt <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/factory/YukiHookFactory.html" class="sidebar-item" aria-label="YukiHookFactory - kt"><!--[--><!--]--> YukiHookFactory - kt <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/entity/YukiBaseHooker.html" class="sidebar-item" aria-label="YukiBaseHooker - class"><!--[--><!--]--> YukiBaseHooker - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/api/compat/type/ExecutorType.html" class="sidebar-item" aria-label="ExecutorType - class"><!--[--><!--]--> ExecutorType - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/api/priority/YukiHookPriority.html" class="sidebar-item" aria-label="YukiHookPriority - class"><!--[--><!--]--> YukiHookPriority - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.html" class="sidebar-item" aria-label="YukiMemberHookCreator - class"><!--[--><!--]--> YukiMemberHookCreator - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/YukiResourcesHookCreator.html" class="sidebar-item" aria-label="YukiResourcesHookCreator - class"><!--[--><!--]--> YukiResourcesHookCreator - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.html" class="sidebar-item" aria-label="MethodFinder - class"><!--[--><!--]--> MethodFinder - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.html" class="sidebar-item" aria-label="ConstructorFinder - class"><!--[--><!--]--> ConstructorFinder - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.html" class="sidebar-item" aria-label="FieldFinder - class"><!--[--><!--]--> FieldFinder - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/DexClassFinder.html" class="sidebar-item" aria-label="DexClassFinder - class"><!--[--><!--]--> DexClassFinder - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/result/MemberRulesResult.html" class="sidebar-item" aria-label="MemberRulesResult - class"><!--[--><!--]--> MemberRulesResult - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.html" class="sidebar-item" aria-label="MemberRules - class"><!--[--><!--]--> MemberRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.html" class="sidebar-item" aria-label="FieldRules - class"><!--[--><!--]--> FieldRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.html" class="sidebar-item" aria-label="MethodRules - class"><!--[--><!--]--> MethodRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.html" class="sidebar-item" aria-label="ConstructorRules - class"><!--[--><!--]--> ConstructorRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/base/BaseFinder.html" class="sidebar-item" aria-label="BaseFinder - class"><!--[--><!--]--> BaseFinder - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/base/rules/CountRules.html" class="sidebar-item" aria-label="CountRules - class"><!--[--><!--]--> CountRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/base/rules/ModifierRules.html" class="sidebar-item" aria-label="ModifierRules - class"><!--[--><!--]--> ModifierRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/base/rules/NameRules.html" class="sidebar-item" aria-label="NameRules - class"><!--[--><!--]--> NameRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/core/finder/base/rules/ObjectRules.html" class="sidebar-item" aria-label="ObjectRules - class"><!--[--><!--]--> ObjectRules - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/bean/HookClass.html" class="sidebar-item" aria-label="HookClass - class"><!--[--><!--]--> HookClass - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/bean/VariousClass.html" class="sidebar-item" aria-label="VariousClass - class"><!--[--><!--]--> VariousClass - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.html" class="sidebar-item" aria-label="CurrentClass - class"><!--[--><!--]--> CurrentClass - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/bean/GenericClass.html" class="sidebar-item" aria-label="GenericClass - class"><!--[--><!--]--> GenericClass - class <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/bean/HookResources.html" class="sidebar-item" aria-label="HookResources - class"><!--[--><!--]--> HookResources - class <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item collapsible">Special Features  <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/api/special-features/reflection.html" class="sidebar-item" aria-label="Reflection Extensions (Migrated)"><!--[--><!--]--> Reflection Extensions (Migrated) <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/special-features/logger.html" class="sidebar-item" aria-label="Debug Logs"><!--[--><!--]--> Debug Logs <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/special-features/xposed-storage.html" class="sidebar-item" aria-label="Xposed Module Data Storage"><!--[--><!--]--> Xposed Module Data Storage <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/special-features/xposed-channel.html" class="sidebar-item" aria-label="Xposed Module and Host Channel"><!--[--><!--]--> Xposed Module and Host Channel <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/special-features/host-lifecycle.html" class="sidebar-item" aria-label="Host Lifecycle Extension"><!--[--><!--]--> Host Lifecycle Extension <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/api/special-features/host-inject.html" class="sidebar-item" aria-label="Host Resource Injection Extension"><!--[--><!--]--> Host Resource Injection Extension <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">About <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/YukiHookAPI/en/about/changelog.html" class="sidebar-item" aria-label="Changelog"><!--[--><!--]--> Changelog <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/about/future.html" class="sidebar-item" aria-label="Looking Toward the Future"><!--[--><!--]--> Looking Toward the Future <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/about/contacts.html" class="sidebar-item" aria-label="Contact Us"><!--[--><!--]--> Contact Us <!--[--><!--]--></a><!----></li><li><a href="/YukiHookAPI/en/about/about.html" class="sidebar-item" aria-label="About This Document"><!--[--><!--]--> About This Document <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><!--]--><div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>Due to maintenance costs, the <code>YukiHookAPI</code> will no longer update this document from version <code>1.3.0</code> and switch to the API document automatically generated by the Dokka plugin in version <code>2.0.0</code>.</p></div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>The English translation of this page has not been completed, you are welcome to contribute translations to us.</p><p>You can use the <strong>Chrome Translation Plugin</strong> to translate entire pages for reference.</p></div><h1 id="ylog-object" tabindex="-1"><a class="header-anchor" href="#ylog-object" aria-hidden="true">#</a> YLog <span class="symbol">- object</span></h1><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YLog</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>全局 Log 管理类。</p></blockquote><h2 id="inmemorydata-field" tabindex="-1"><a class="header-anchor" href="#inmemorydata-field" aria-hidden="true">#</a> inMemoryData <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> inMemoryData: </span><span style="color:#F69D50;">MutableList</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">YLogData</span><span style="color:#ADBAC7;">&gt;</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>当前全部已记录的日志数据。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。</p></div><h2 id="contents-field" tabindex="-1"><a class="header-anchor" href="#contents-field" aria-hidden="true">#</a> contents <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> contents: </span><span style="color:#F69D50;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前日志文件内容。</p></blockquote><p>如果当前没有已记录的日志会返回空字符串。</p><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。</p></div><h2 id="contents-method" tabindex="-1"><a class="header-anchor" href="#contents-method" aria-hidden="true">#</a> contents <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">contents</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">data</span><span style="color:#ADBAC7;">: </span><span style="color:#F69D50;">List</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">YLogData</span><span style="color:#ADBAC7;">&gt;): </span><span style="color:#F69D50;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取、格式化当前日志文件内容。</p></blockquote><p>如果当前没有已记录的日志 (<code>data</code> 为空) 会返回空字符串。</p><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。</p></div><h2 id="clear-method" tabindex="-1"><a class="header-anchor" href="#clear-method" aria-hidden="true">#</a> clear <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">clear</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>清除全部已记录的日志。</p></blockquote><p>你也可以直接获取 <a href="#inmemorydata-field">inMemoryData</a> 来清除。</p><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。</p></div><h2 id="savetofile-method" tabindex="-1"><a class="header-anchor" href="#savetofile-method" aria-hidden="true">#</a> saveToFile <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">saveToFile</span><span style="color:#ADBAC7;">(fileName: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, </span><span style="color:#F47067;">data</span><span style="color:#ADBAC7;">: </span><span style="color:#F69D50;">List</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">YLogData</span><span style="color:#ADBAC7;">&gt;)</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>保存当前日志到文件。</p></blockquote><p>若当前未开启 <code>Configs.isRecord</code> 或记录为空则不会进行任何操作。</p><p>日志文件会追加到 <code>fileName</code> 的文件结尾,若文件不存在会自动创建。</p><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>文件读写权限取决于当前宿主、模块已获取的权限。</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" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Configs</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>配置 <code>YLog</code></p></blockquote><h3 id="tag-field" tabindex="-1"><a class="header-anchor" href="#tag-field" aria-hidden="true">#</a> TAG <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><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;"> TAG: </span><span style="color:#F69D50;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>标签。</p></blockquote><h3 id="priority-field" tabindex="-1"><a class="header-anchor" href="#priority-field" aria-hidden="true">#</a> PRIORITY <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><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;"> PRIORITY: </span><span style="color:#F69D50;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>优先级。</p></blockquote><h3 id="package-name-field" tabindex="-1"><a class="header-anchor" href="#package-name-field" aria-hidden="true">#</a> PACKAGE_NAME <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><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;"> PACKAGE_NAME: </span><span style="color:#F69D50;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>当前宿主的包名。</p></blockquote><h3 id="user-id-field" tabindex="-1"><a class="header-anchor" href="#user-id-field" aria-hidden="true">#</a> USER_ID <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><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;"> USER_ID: </span><span style="color:#F69D50;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>当前宿主的用户 ID (主用户不显示)。</p></blockquote><h3 id="tag-field-1" tabindex="-1"><a class="header-anchor" href="#tag-field-1" aria-hidden="true">#</a> tag <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> tag: </span><span style="color:#F69D50;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>这是一个调试日志的全局标识。</p></blockquote><p>默认文案为 <code>YukiHookAPI</code></p><p>你可以修改为你自己的文案。</p><h3 id="isenable-field" tabindex="-1"><a class="header-anchor" href="#isenable-field" aria-hidden="true">#</a> isEnable <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnable: </span><span style="color:#F69D50;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用调试日志的输出功能。</p></blockquote><p>关闭后将会停用 <code>YukiHookAPI</code> 对全部日志的输出。</p><p>但是不影响当你手动调用下面这些方法输出日志。</p><p><code>debug</code><code>info</code><code>warn</code><code>error</code></p><p><code>isEnable</code> 关闭后 <code>YukiHookAPI.Configs.isDebug</code> 也将同时关闭。</p><h3 id="isrecord-field" tabindex="-1"><a class="header-anchor" href="#isrecord-field" aria-hidden="true">#</a> isRecord <span class="symbol">- field</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isRecord: </span><span style="color:#F69D50;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用调试日志的记录功能。</p></blockquote><p>开启后将会在内存中记录全部可用的日志和异常堆栈。</p><p>需要同时启用 <a href="#isenable-field">isEnable</a> 才能有效。</p><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>过量的日志可能会导致宿主运行缓慢或造成频繁 GC。</p></div><p>开启后你可以调用 <a href="#savetofile-method">YLog.saveToFile</a> 实时保存日志到文件或使用 <a href="#contents-field">YLog.contents</a> 获取实时日志文件。</p><h3 id="elements-method" tabindex="-1"><a class="header-anchor" href="#elements-method" aria-hidden="true">#</a> elements <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">elements</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> item: </span><span style="color:#F69D50;">Int</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>自定义调试日志对外显示的元素。</p></blockquote><p>只对日志记录和 (Xposed) 宿主环境的日志生效。</p><p>日志元素的排列将按照你在 <code>item</code> 中设置的顺序进行显示。</p><p>你还可以留空 <code>item</code> 以不显示除日志内容外的全部元素。</p><p>可用的元素有:<code>TAG</code><code>PRIORITY</code><code>PACKAGE_NAME</code><code>USER_ID</code></p><p><strong>功能示例</strong></p><p>打印的日志样式将按照你设置的排列顺序和元素内容进行。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">elements</span><span style="color:#ADBAC7;">(TAG, PRIORITY, PACKAGE_NAME, USER_ID)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>以上内容定义的日志将显示为如下样式。</p><blockquote><p>示例如下</p></blockquote><div class="language-text" data-ext="text"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#adbac7;">[YukiHookAPI][D][com.demo.test][999]--&gt; This is a log</span></span>
<span class="line"><span style="color:#adbac7;"></span></span></code></pre></div><p>如果我们调整元素顺序以及减少个数,那么结果又会不一样。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">elements</span><span style="color:#ADBAC7;">(PACKAGE_NAME, USER_ID, PRIORITY)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>以上内容定义的日志将显示为如下样式。</p><blockquote><p>示例如下</p></blockquote><div class="language-text" data-ext="text"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#adbac7;">[com.demo.test][999][D]--&gt; This is a log</span></span>
<span class="line"><span style="color:#adbac7;"></span></span></code></pre></div><h2 id="debug-method" tabindex="-1"><a class="header-anchor" href="#debug-method" aria-hidden="true">#</a> debug <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">debug</span><span style="color:#ADBAC7;">(msg: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, e: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?, tag: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, env: </span><span style="color:#F69D50;">EnvType</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>打印 Debug 级别 Log。</p></blockquote><h2 id="info-method" tabindex="-1"><a class="header-anchor" href="#info-method" aria-hidden="true">#</a> info <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">info</span><span style="color:#ADBAC7;">(msg: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, e: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?, tag: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, env: </span><span style="color:#F69D50;">EnvType</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>打印 Info 级别 Log。</p></blockquote><h2 id="warn-method" tabindex="-1"><a class="header-anchor" href="#warn-method" aria-hidden="true">#</a> warn <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">warn</span><span style="color:#ADBAC7;">(msg: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, e: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?, tag: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, env: </span><span style="color:#F69D50;">EnvType</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>打印 Warn 级别 Log。</p></blockquote><h2 id="error-method" tabindex="-1"><a class="header-anchor" href="#error-method" aria-hidden="true">#</a> error <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">error</span><span style="color:#ADBAC7;">(msg: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, e: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?, tag: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">, env: </span><span style="color:#F69D50;">EnvType</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>打印 Error 级别 Log。</p></blockquote><h2 id="envtype-class" tabindex="-1"><a class="header-anchor" href="#envtype-class" aria-hidden="true">#</a> EnvType <span class="symbol">- class</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">enum</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">EnvType</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>需要打印的日志环境类型。</p></blockquote><p>决定于模块与 (Xposed) 宿主环境使用的打印方式。</p><h3 id="logd-enum" tabindex="-1"><a class="header-anchor" href="#logd-enum" aria-hidden="true">#</a> LOGD <span class="symbol">- enum</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">LOGD</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>仅使用 <code>android.util.Log</code></p></blockquote><h3 id="xposed-environment-enum" tabindex="-1"><a class="header-anchor" href="#xposed-environment-enum" aria-hidden="true">#</a> XPOSED_ENVIRONMENT <span class="symbol">- enum</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">XPOSED_ENVIRONMENT</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>仅在 (Xposed) 宿主环境使用。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>只能在 (Xposed) 宿主环境中使用,模块环境将不生效。</p></div><h3 id="scope-enum" tabindex="-1"><a class="header-anchor" href="#scope-enum" aria-hidden="true">#</a> SCOPE <span class="symbol">- enum</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">SCOPE</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>分区使用。</p></blockquote><p>(Xposed) 宿主环境仅使用 <code>XPOSED_ENVIRONMENT</code></p><p>模块环境仅使用 <code>LOGD</code></p><h3 id="both-enum" tabindex="-1"><a class="header-anchor" href="#both-enum" aria-hidden="true">#</a> BOTH <span class="symbol">- enum</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">BOTH</span></span>
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.2.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>同时使用。</p></blockquote><p>(Xposed) 宿主环境使用 <code>LOGD</code><code>XPOSED_ENVIRONMENT</code></p><p>模块环境仅使用 <code>LOGD</code></p><h1 class="deprecated">LoggerFactory - kt</h1><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><code>v1.2.0</code> <code>deprecated</code></p><p>请迁移到 <code>YLog</code></p></div><!--[--><!--]--></div><footer class="page-meta"><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/HighCapable/YukiHookAPI/edit/master/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.md" rel="noopener noreferrer" target="_blank" aria-label="Edit this page on GitHub"><!--[--><!--]--> Edit this page on GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><!----></div><div class="meta-item contributors"><span class="meta-item-label">Contributors: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: qzmmcn@163.com">fankesyooni</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav"><p class="inner"><span class="prev"><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/type/defined/DefinedTypeFactory.html" class="" aria-label="DefinedTypeFactory - kt"><!--[--><!--]--> DefinedTypeFactory - kt <!--[--><!--]--></a></span><span class="next"><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.html" class="" aria-label="YLogData - class"><!--[--><!--]--> YLogData - class <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/YukiHookAPI/assets/app-BpUB8-Q8.js" defer></script>
</body>
</html>