mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-06 18:55:35 +08:00
134 lines
112 KiB
HTML
134 lines
112 KiB
HTML
<!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-beta.51">
|
||
<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>YukiHookAPI - object | Yuki Hook API</title><meta name="description" content="An efficient Hook API and Xposed Module solution built in Kotlin">
|
||
<link rel="modulepreload" href="/YukiHookAPI/assets/app.2bc5d8f3.js"><link rel="modulepreload" href="/YukiHookAPI/assets/YukiHookAPI.html.45b0b07e.js"><link rel="modulepreload" href="/YukiHookAPI/assets/YukiHookAPI.html.57a95a9b.js"><link rel="prefetch" href="/YukiHookAPI/assets/index.html.1ad46905.js"><link rel="prefetch" href="/YukiHookAPI/assets/index.html.58270dd2.js"><link rel="prefetch" href="/YukiHookAPI/assets/index.html.962e6741.js"><link rel="prefetch" href="/YukiHookAPI/assets/about.html.bac55135.js"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html.06fcff6b.js"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html.5dc8225c.js"><link rel="prefetch" href="/YukiHookAPI/assets/future.html.94bd226b.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.f6b9c2a4.js"><link rel="prefetch" href="/YukiHookAPI/assets/example.html.3cb1bbf7.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.ca5e9385.js"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html.13983a8b.js"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html.f91df01f.js"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html.9679e241.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html.c60371a6.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html.114387df.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html.c794f69e.js"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html.15e04e11.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html.fca5c15c.js"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html.ed4fa356.js"><link rel="prefetch" href="/YukiHookAPI/assets/about.html.4de66a22.js"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html.1fa81630.js"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html.3df7cacf.js"><link rel="prefetch" href="/YukiHookAPI/assets/future.html.2cf8d6de.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.cad3998c.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html.29a2e3ae.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html.e36f34e4.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html.0a59e2e0.js"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html.683a5429.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html.c9966283.js"><link rel="prefetch" href="/YukiHookAPI/assets/example.html.c868eee2.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.ced3162e.js"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html.830e8c66.js"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html.4bf89a9b.js"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html.8abc4bb2.js"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html.d499d226.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html.8e7a6aa7.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html.7e81cf29.js"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html.a59ab5f0.js"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html.2a870d09.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html.5975332b.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html.c35a7041.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html.77802245.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html.136055f0.js"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html.ed51ab5d.js"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html.0e88a14d.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html.325b6181.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html.5fd9a913.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookAPI.html.78e39167.js"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html.56391530.js"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html.16c29272.js"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html.f94281cf.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html.52e59cf0.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html.2486cf29.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html.153f4c39.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html.99eec744.js"><link rel="prefetch" href="/YukiHookAPI/assets/LoggerFactory.html.52af0d44.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html.74f919b4.js"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html.aaf5b5a4.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html.7e0c1b2e.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html.2fa2ff0f.js"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html.98ec6704.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html.bfbfbca6.js"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html.cf9b500d.js"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html.641fcd58.js"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html.5d4a2ffe.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html.486aa6ea.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html.4f07fd98.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html.a490557a.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html.e217488d.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html.1f540f56.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html.b68236f9.js"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html.a8284201.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html.09287903.js"><link rel="prefetch" href="/YukiHookAPI/assets/LoggerFactory.html.ae54c997.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html.a5a7a5a4.js"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html.510255b8.js"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html.5af05d7d.js"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html.a3936b7c.js"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html.7da3eef4.js"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html.8137c32c.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html.d4c9dbd1.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html.57573770.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html.02a8ef0d.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookModulePrefs.html.198e73d3.js"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html.b37a852b.js"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html.0026a7b8.js"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html.bfb4e259.js"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html.612b6202.js"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html.ba3bdd0b.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html.550d3346.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html.a386b8db.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html.b4bffecd.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookModulePrefs.html.6bedc781.js"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html.78a55860.js"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html.a5dbb7a7.js"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html.5d8e12f0.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html.f20afbf5.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html.ba29e9c4.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html.427f6cec.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html.560fa41c.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html.90f23dcd.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html.65998e9e.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html.cc9ce9fb.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html.1981f416.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html.7d2ec81d.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html.2ddf88b6.js"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html.3061ee5b.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html.764fecc3.js"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html.8f275c85.js"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html.78c5f805.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html.7d970fbe.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html.7f9e6371.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html.6be2b6ee.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html.a93ee4ef.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html.46222277.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html.70fb824b.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html.8714bbf2.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html.5ca343ea.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html.b460c4bc.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html.0388bffd.js"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html.40b2fabe.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html.0c7dadc7.js"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html.2d5ab94d.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html.c36dff17.js"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html.00ac96fb.js"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html.70d91cad.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html.c7161b83.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html.c8edc48c.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html.a071b3c6.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html.6c9a8df6.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html.90d3c4e6.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html.a20d9206.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html.0879426b.js"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html.2639d392.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html.f7582dc2.js"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html.47e512e4.js"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html.4b682129.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html.f8ba43ee.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html.a499e892.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html.b3e5d297.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html.afeaf85e.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html.09451ff7.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html.dd9e40e9.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html.229a46ac.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html.e79843c3.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html.58e81c94.js"><link rel="prefetch" href="/YukiHookAPI/assets/404.html.c038a05a.js"><link rel="prefetch" href="/YukiHookAPI/assets/index.html.69699e6b.js"><link rel="prefetch" href="/YukiHookAPI/assets/index.html.812a0472.js"><link rel="prefetch" href="/YukiHookAPI/assets/index.html.a8b2ff74.js"><link rel="prefetch" href="/YukiHookAPI/assets/about.html.08310c8b.js"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html.5a1e8ed3.js"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html.513cc4ab.js"><link rel="prefetch" href="/YukiHookAPI/assets/future.html.dce8f5dd.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.bcbc85a8.js"><link rel="prefetch" href="/YukiHookAPI/assets/example.html.906264d8.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.1a5ea523.js"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html.327dbcd4.js"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html.15a70e95.js"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html.4ecaa1d2.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html.703dac3e.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html.ec1d66cb.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html.e80b21f1.js"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html.9a31c8a8.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html.db24f894.js"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html.7bf2b952.js"><link rel="prefetch" href="/YukiHookAPI/assets/about.html.6fe1a94b.js"><link rel="prefetch" href="/YukiHookAPI/assets/changelog.html.f25a879d.js"><link rel="prefetch" href="/YukiHookAPI/assets/contacts.html.6c6acb04.js"><link rel="prefetch" href="/YukiHookAPI/assets/future.html.7bfe69da.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.d99be1b1.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-example.html.c63fa1bc.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-exception.html.1d6d3f63.js"><link rel="prefetch" href="/YukiHookAPI/assets/api-using.html.435ab3bc.js"><link rel="prefetch" href="/YukiHookAPI/assets/r8-proguard.html.a71a449a.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-using.html.fd3d165f.js"><link rel="prefetch" href="/YukiHookAPI/assets/example.html.d6055c02.js"><link rel="prefetch" href="/YukiHookAPI/assets/home.html.a2c9c928.js"><link rel="prefetch" href="/YukiHookAPI/assets/knowledge.html.6d3aedf3.js"><link rel="prefetch" href="/YukiHookAPI/assets/move-to-new-api.html.32688ce4.js"><link rel="prefetch" href="/YukiHookAPI/assets/quick-start.html.d97731c3.js"><link rel="prefetch" href="/YukiHookAPI/assets/yukihookapi-projectbuilder.html.870af468.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html.f40cf853.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html.4f5dc1ba.js"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html.5e9b0359.js"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html.64cc7992.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html.c2eab647.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html.c41def64.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-inject.html.9a179ae5.js"><link rel="prefetch" href="/YukiHookAPI/assets/host-lifecycle.html.1f3fa27f.js"><link rel="prefetch" href="/YukiHookAPI/assets/logger.html.ee8a0684.js"><link rel="prefetch" href="/YukiHookAPI/assets/reflection.html.a102dd89.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-channel.html.9dbfac90.js"><link rel="prefetch" href="/YukiHookAPI/assets/xposed-storage.html.baf94cb8.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookAPI.html.e04848a7.js"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html.29e4e02e.js"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html.4feebd58.js"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html.f91f2af7.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html.32798492.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html.dc50c8a1.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html.cad1a85c.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html.4d8ae614.js"><link rel="prefetch" href="/YukiHookAPI/assets/LoggerFactory.html.418c9971.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html.5ee4b669.js"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html.1c042abc.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html.97050a12.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html.24822774.js"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html.8d867f57.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html.38772f52.js"><link rel="prefetch" href="/YukiHookAPI/assets/InjectYukiHookWithXposed.html.88a6587a.js"><link rel="prefetch" href="/YukiHookAPI/assets/CurrentClass.html.fc02b099.js"><link rel="prefetch" href="/YukiHookAPI/assets/GenericClass.html.d170aabe.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookClass.html.eafc5336.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookResources.html.d614b772.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariousClass.html.f1bd2745.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiMemberHookCreator.html.1b4194a5.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResourcesHookCreator.html.26b7c236.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiBaseHooker.html.da0106a6.js"><link rel="prefetch" href="/YukiHookAPI/assets/ReflectionFactory.html.6c3686a2.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookFactory.html.ec297325.js"><link rel="prefetch" href="/YukiHookAPI/assets/LoggerFactory.html.0582c443.js"><link rel="prefetch" href="/YukiHookAPI/assets/HookParam.html.ce4dd26d.js"><link rel="prefetch" href="/YukiHookAPI/assets/PackageParam.html.43f71eb0.js"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html.d2ac1ebe.js"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html.e7bc3f71.js"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html.8d3d974b.js"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html.18122aff.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html.7765e062.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html.9b13ba2a.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html.3ba39a72.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookModulePrefs.html.6686d264.js"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html.1edb2ab0.js"><link rel="prefetch" href="/YukiHookAPI/assets/ComponentTypeFactory.html.0e696f3b.js"><link rel="prefetch" href="/YukiHookAPI/assets/GraphicsTypeFactory.html.3a8e0974.js"><link rel="prefetch" href="/YukiHookAPI/assets/ViewTypeFactory.html.6f1ad277.js"><link rel="prefetch" href="/YukiHookAPI/assets/DefinedTypeFactory.html.f501cdb3.js"><link rel="prefetch" href="/YukiHookAPI/assets/VariableTypeFactory.html.3fcff96b.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleApplication.html.a3116103.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookDataChannel.html.4dfa5cde.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiHookModulePrefs.html.fd9769b9.js"><link rel="prefetch" href="/YukiHookAPI/assets/IYukiHookXposedInit.html.f9c45ab7.js"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html.b35514a7.js"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html.eeff73ba.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html.992a648b.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html.1d409314.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html.c72ff241.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html.04b564bf.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html.0a43c689.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html.fb57132b.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html.cc7d79ef.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html.0cfc2a2d.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html.986fe0e7.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html.d2aca34b.js"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html.6dad6201.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html.80fe7649.js"><link rel="prefetch" href="/YukiHookAPI/assets/BaseFinder.html.78fe026a.js"><link rel="prefetch" href="/YukiHookAPI/assets/DexClassFinder.html.20b00e52.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorFinder.html.f9c8541f.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldFinder.html.907e1e03.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodFinder.html.312994ef.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiXposedEvent.html.650e86ef.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiModuleResources.html.1f1ce066.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResForwarder.html.1d498972.js"><link rel="prefetch" href="/YukiHookAPI/assets/YukiResources.html.6eec1ea3.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelData.html.938d0196.js"><link rel="prefetch" href="/YukiHookAPI/assets/ChannelPriority.html.98985126.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleClassLoader.html.bd0161de.js"><link rel="prefetch" href="/YukiHookAPI/assets/PrefsData.html.8780748d.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModulePreferenceFragment.html.d3dacf6a.js"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html.3c02ecf2.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html.da6cc7d4.js"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html.fcda0658.js"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html.5191cd07.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html.c9fab517.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html.b73735ea.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html.c7598764.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html.fc0b2ab3.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html.27e14f60.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html.93f4410f.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html.732168b1.js"><link rel="prefetch" href="/YukiHookAPI/assets/CountRules.html.d0cc8434.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModifierRules.html.2887f814.js"><link rel="prefetch" href="/YukiHookAPI/assets/NameRules.html.e6a7dfc2.js"><link rel="prefetch" href="/YukiHookAPI/assets/ObjectRules.html.438e617b.js"><link rel="prefetch" href="/YukiHookAPI/assets/ConstructorRules.html.4bf9cde4.js"><link rel="prefetch" href="/YukiHookAPI/assets/FieldRules.html.f98ab1a1.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRules.html.83da42b1.js"><link rel="prefetch" href="/YukiHookAPI/assets/MethodRules.html.917c7957.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppActivity.html.c911508b.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleAppCompatActivity.html.9b20eb11.js"><link rel="prefetch" href="/YukiHookAPI/assets/ModuleContextThemeWrapper.html.c1c75c5f.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html.b2aa86ec.js"><link rel="prefetch" href="/YukiHookAPI/assets/MemberRulesResult.html.9948f9b1.js"><link rel="prefetch" href="/YukiHookAPI/assets/404.html.dccdcb64.js">
|
||
<link rel="stylesheet" href="/YukiHookAPI/assets/style.e115708c.css">
|
||
</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/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 Xposed API"><!--[--><!--]--> Migrate from Xposed API <!--[--><!--]--></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/r8-proguard" class="" aria-label="R8 & Proguard Obfuscate"><!--[--><!--]--> R8 & 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/YukiHookAPI.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/YukiHookAPI.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/fankes/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/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 Xposed API"><!--[--><!--]--> Migrate from Xposed API <!--[--><!--]--></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/r8-proguard" class="" aria-label="R8 & Proguard Obfuscate"><!--[--><!--]--> R8 & 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/YukiHookAPI.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/YukiHookAPI.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/fankes/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="Introduce"><!--[--><!--]--> Introduce <!--[--><!--]--></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 Xposed API"><!--[--><!--]--> Migrate from Xposed API <!--[--><!--]--></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/r8-proguard.html" class="sidebar-item" aria-label="R8 & Proguard Obfuscate"><!--[--><!--]--> R8 & 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 aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="YukiHookAPI - object"><!--[--><!--]--> YukiHookAPI - object <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#api-version-name-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="API_VERSION_NAME - field"><!--[--><!--]--> API_VERSION_NAME - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#api-version-code-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="API_VERSION_CODE - field"><!--[--><!--]--> API_VERSION_CODE - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#status-object" class="router-link-active router-link-exact-active sidebar-item" aria-label="Status - object"><!--[--><!--]--> Status - object <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#compiledtimestamp-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="compiledTimestamp - field"><!--[--><!--]--> compiledTimestamp - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isxposedenvironment-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isXposedEnvironment - field"><!--[--><!--]--> isXposedEnvironment - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#ismoduleactive-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isModuleActive - field"><!--[--><!--]--> isModuleActive - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isxposedmoduleactive-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isXposedModuleActive - field"><!--[--><!--]--> isXposedModuleActive - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#istaichimoduleactive-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isTaiChiModuleActive - field"><!--[--><!--]--> isTaiChiModuleActive - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#issupportresourceshook-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isSupportResourcesHook - field"><!--[--><!--]--> isSupportResourcesHook - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#executor-object" class="router-link-active router-link-exact-active sidebar-item" aria-label="Executor - object"><!--[--><!--]--> Executor - object <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.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/YukiHookAPI.html#debuglog-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="debugLog - method"><!--[--><!--]--> debugLog - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isdebug-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isDebug - field"><!--[--><!--]--> isDebug - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isenablemoduleprefscache-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnableModulePrefsCache - field"><!--[--><!--]--> isEnableModulePrefsCache - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isenablemoduleappresourcescache-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnableModuleAppResourcesCache - field"><!--[--><!--]--> isEnableModuleAppResourcesCache - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isenablehookmodulestatus-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnableHookModuleStatus - field"><!--[--><!--]--> isEnableHookModuleStatus - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isenablehooksharedpreferences-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnableHookSharedPreferences - field"><!--[--><!--]--> isEnableHookSharedPreferences - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isenabledatachannel-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnableDataChannel - field"><!--[--><!--]--> isEnableDataChannel - field <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#isenablemembercache-field" class="router-link-active router-link-exact-active sidebar-item" aria-label="isEnableMemberCache - field"><!--[--><!--]--> isEnableMemberCache - field <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#configs-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="configs - method"><!--[--><!--]--> configs - method <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.html#encase-method" class="router-link-active router-link-exact-active sidebar-item" aria-label="encase - method"><!--[--><!--]--> encase - method <!--[--><!--]--></a><!----></li><!--]--></ul></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/YukiHookModulePrefs.html" class="sidebar-item" aria-label="YukiHookModulePrefs - class"><!--[--><!--]--> YukiHookModulePrefs - 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 href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.html" class="sidebar-item" aria-label="LoggerFactory - kt"><!--[--><!--]--> LoggerFactory - kt <!--[--><!--]--></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/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"><!--[--><!--]--> Reflection Extensions <!--[--><!--]--></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 for Future"><!--[--><!--]--> Looking for 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>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="yukihookapi-object" tabindex="-1"><a class="header-anchor" href="#yukihookapi-object" aria-hidden="true">#</a> YukiHookAPI <span class="symbol">- object</span></h1><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> YukiHookAPI</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>这是 <code>YukiHookAPI</code> 的 API 调用总类,Hook 相关功能的开始、Hook 相关功能的配置都在这里。</p></blockquote><h2 id="api-version-name-field" tabindex="-1"><a class="header-anchor" href="#api-version-name-field" aria-hidden="true">#</a> API_VERSION_NAME <span class="symbol">- field</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">API_VERSION_NAME</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">String</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.4</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前 <code>YukiHookAPI</code> 的版本。</p></blockquote><h2 id="api-version-code-field" tabindex="-1"><a class="header-anchor" href="#api-version-code-field" aria-hidden="true">#</a> API_VERSION_CODE <span class="symbol">- field</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">API_VERSION_CODE</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Int</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.4</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前 <code>YukiHookAPI</code> 的版本号。</p></blockquote><h2 class="deprecated">executorName - field</h2><p><strong>Change Records</strong></p><p><code>v1.0.5</code> <code>added</code></p><p><code>v1.0.91</code> <code>removed</code></p><p>请转移到 <code>Status.Executor.name</code></p><h2 class="deprecated">executorVersion - field</h2><p><strong>Change Records</strong></p><p><code>v1.0.5</code> <code>added</code></p><p><code>v1.0.91</code> <code>removed</code></p><p>请转移到 <code>Status.Executor.apiLevel</code>、<code>Status.Executor.versionName</code>、<code>Status.Executor.versionCode</code></p><h2 id="status-object" tabindex="-1"><a class="header-anchor" href="#status-object" aria-hidden="true">#</a> Status <span class="symbol">- object</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> Status</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>当前 <code>YukiHookAPI</code> 的状态。</p></blockquote><h3 id="compiledtimestamp-field" tabindex="-1"><a class="header-anchor" href="#compiledtimestamp-field" aria-hidden="true">#</a> compiledTimestamp <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> compiledTimestamp</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Long</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取项目编译完成的时间戳 (当前本地时间)。</p></blockquote><h3 id="isxposedenvironment-field" tabindex="-1"><a class="header-anchor" href="#isxposedenvironment-field" aria-hidden="true">#</a> isXposedEnvironment <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isXposedEnvironment</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前是否为 (Xposed) 宿主环境。</p></blockquote><h3 class="deprecated">executorName - field</h3><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><code>v1.1.5</code> <code>deprecated</code></p><p>请转移到 <code>Executor.name</code></p><h3 class="deprecated">executorVersion - field</h3><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><code>v1.1.5</code> <code>deprecated</code></p><p>请转移到 <code>Executor.apiLevel</code>、<code>Executor.versionName</code>、<code>Executor.versionCode</code></p><h3 id="ismoduleactive-field" tabindex="-1"><a class="header-anchor" href="#ismoduleactive-field" aria-hidden="true">#</a> isModuleActive <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isModuleActive</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>判断模块是否在 Xposed 或太极、无极中激活。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中你需要将 <strong>Application</strong> 继承于 <strong>ModuleApplication</strong>。</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p><p>在 (Xposed) 宿主环境中仅返回非 <strong>isTaiChiModuleActive</strong> 的激活状态。</p></div><h3 id="isxposedmoduleactive-field" tabindex="-1"><a class="header-anchor" href="#isxposedmoduleactive-field" aria-hidden="true">#</a> isXposedModuleActive <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isXposedModuleActive</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>仅判断模块是否在 Xposed 中激活。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p><p>在 (Xposed) 宿主环境中始终返回 true。</p></div><h3 id="istaichimoduleactive-field" tabindex="-1"><a class="header-anchor" href="#istaichimoduleactive-field" aria-hidden="true">#</a> isTaiChiModuleActive <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isTaiChiModuleActive</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>仅判断模块是否在太极、无极中激活。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中你需要将 <strong>Application</strong> 继承于 <strong>ModuleApplication</strong>。</p><p>在 (Xposed) 宿主环境中始终返回 false。</p></div><h3 id="issupportresourceshook-field" tabindex="-1"><a class="header-anchor" href="#issupportresourceshook-field" aria-hidden="true">#</a> isSupportResourcesHook <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isSupportResourcesHook</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.91</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>判断当前 Hook Framework 是否支持资源钩子(Resources Hook)。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p><p>在 (Xposed) 宿主环境中可能会延迟等待事件回调后才会返回 true。</p><p>请注意你需要确保 <strong>InjectYukiHookWithXposed.isUsingResourcesHook</strong> 已启用,否则始终返回 false。</p></div><h3 id="executor-object" tabindex="-1"><a class="header-anchor" href="#executor-object" aria-hidden="true">#</a> Executor <span class="symbol">- object</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> Executor</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.5</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>当前 <code>YukiHookAPI</code> 使用的 Hook Framework 相关信息。</p></blockquote><h4 id="name-field" tabindex="-1"><a class="header-anchor" href="#name-field" aria-hidden="true">#</a> name <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> name</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">String</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.5</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前 Hook Framework 名称。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p></div><h4 id="apilevel-field" tabindex="-1"><a class="header-anchor" href="#apilevel-field" aria-hidden="true">#</a> apiLevel <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> apiLevel</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Int</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.5</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前 Hook Framework 的 API 版本。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p></div><h4 id="versionname-field" tabindex="-1"><a class="header-anchor" href="#versionname-field" aria-hidden="true">#</a> versionName <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> versionName</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">String</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.5</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前 Hook Framework 版本名称。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p></div><h4 id="versioncode-field" tabindex="-1"><a class="header-anchor" href="#versioncode-field" aria-hidden="true">#</a> versionCode <span class="symbol">- field</span></h4><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> versionCode</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Int</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.5</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>获取当前 Hook Framework 版本号。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>在模块环境中需要启用 <strong>Configs.isEnableHookModuleStatus</strong>。</p></div><h2 id="configs-object" tabindex="-1"><a class="header-anchor" href="#configs-object" aria-hidden="true">#</a> Configs <span class="symbol">- object</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> Configs</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>对 API 相关功能的配置类。</p></blockquote><h3 id="debuglog-method" tabindex="-1"><a class="header-anchor" href="#debuglog-method" aria-hidden="true">#</a> debugLog <span class="symbol">- method</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">debugLog</span><span style="color:#ADBAC7;">(initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-></span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>配置 <code>YukiHookLogger.Configs</code> 相关参数。</p></blockquote><h3 class="deprecated">debugTag - field</h3><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><code>v1.1.0</code> <code>deprecated</code></p><p>请转移到 <code>YukiHookLogger.Configs.tag</code></p><h3 id="isdebug-field" tabindex="-1"><a class="header-anchor" href="#isdebug-field" aria-hidden="true">#</a> isDebug <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isDebug</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用 DEBUG 模式。</p></blockquote><p>默认为开启状态,开启后模块将会向 <code>Logcat</code> 和 (Xposed) 宿主环境中的日志功能打印详细的 Hook 日志,关闭后仅会打印 <code>E</code> 级别的日志。</p><h3 class="deprecated">isAllowPrintingLogs - field</h3><p><strong>Change Records</strong></p><p><code>v1.0.4</code> <code>added</code></p><p><code>v1.1.0</code> <code>deprecated</code></p><p>请转移到 <code>YukiHookLogger.Configs.isEnable</code></p><h3 id="isenablemoduleprefscache-field" tabindex="-1"><a class="header-anchor" href="#isenablemoduleprefscache-field" aria-hidden="true">#</a> isEnableModulePrefsCache <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableModulePrefsCache</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.5</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用 <code>YukiHookModulePrefs</code> 的键值缓存功能。</p></blockquote><p>为防止内存复用过高问题,此功能默认启用。</p><p>你可以手动在 <code>YukiHookModulePrefs</code> 中自由开启和关闭缓存功能以及清除缓存。</p><h3 id="isenablemoduleappresourcescache-field" tabindex="-1"><a class="header-anchor" href="#isenablemoduleappresourcescache-field" aria-hidden="true">#</a> isEnableModuleAppResourcesCache <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableModuleAppResourcesCache</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.87</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用当前 Xposed 模块自身 <code>Resources</code> 缓存功能。</p></blockquote><p>为防止内存复用过高问题,此功能默认启用。</p><p>你可以手动调用 <code>PackageParam.refreshModuleAppResources</code> 来刷新缓存。</p><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>关闭后每次使用 <strong>PackageParam.moduleAppResources</strong> 都会重新创建,可能会造成运行缓慢。</p></div><h3 id="isenablehookmodulestatus-field" tabindex="-1"><a class="header-anchor" href="#isenablehookmodulestatus-field" aria-hidden="true">#</a> isEnableHookModuleStatus <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableHookModuleStatus</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.88</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用 Hook Xposed 模块激活等状态功能.</p></blockquote><p>为原生支持 Xposed 模块激活状态检测,此功能默认启用。</p><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>关闭后你将不能再在模块环境中使用 <strong>YukiHookAPI.Status</strong> 中的激活状态判断功能。</p></div><h3 id="isenablehooksharedpreferences-field" tabindex="-1"><a class="header-anchor" href="#isenablehooksharedpreferences-field" aria-hidden="true">#</a> isEnableHookSharedPreferences <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableHookSharedPreferences</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.1.0</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用 Hook <code>SharedPreferences</code>。</p></blockquote><p>启用后将在模块启动时强制将 <code>SharedPreferences</code> 文件权限调整为 <code>Context.MODE_WORLD_READABLE</code> (0664)。</p><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>这是一个可选的实验性功能,此功能默认不启用。</p><p>仅用于修复某些系统可能会出现在启用了 <strong>New XSharedPreferences</strong> 后依然出现文件权限错误问题,若你能正常使用 <strong>YukiHookModulePrefs</strong> 就不建议启用此功能。</p></div><h3 id="isenabledatachannel-field" tabindex="-1"><a class="header-anchor" href="#isenabledatachannel-field" aria-hidden="true">#</a> isEnableDataChannel <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableDataChannel</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.88</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用当前 Xposed 模块与宿主交互的 <code>YukiHookDataChannel</code> 功能。</p></blockquote><p>请确保 Xposed 模块的 <code>Application</code> 继承于 <code>ModuleApplication</code> 才能有效。</p><p>此功能默认启用,关闭后将不会在功能初始化的时候装载 <code>YukiHookDataChannel</code>。</p><h3 id="isenablemembercache-field" tabindex="-1"><a class="header-anchor" href="#isenablemembercache-field" aria-hidden="true">#</a> isEnableMemberCache <span class="symbol">- field</span></h3><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> isEnableMemberCache</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Boolean</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0.68</code> <code>added</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>是否启用 <code>Member</code> 缓存功能。</p></blockquote><p>为防止 <code>Member</code> 复用过高造成的系统 GC 问题,此功能默认启用。</p><p>启用后会缓存已经找到的 <code>Method</code>、<code>Constructor</code>、<code>Field</code>。</p><p>缓存的 <code>Member</code> 都将处于 <code>MemberCacheStore</code> 的全局静态实例中。</p><p>推荐使用 <code>MethodFinder</code>、<code>ConstructorFinder</code>、<code>FieldFinder</code> 来获取 <code>Member</code>。</p><p>除非缓存的 <code>Member</code> 发生了混淆的问题,例如使用 R8 混淆后的 APP 的目标 <code>Member</code>,否则建议启用。</p><h2 id="configs-method" tabindex="-1"><a class="header-anchor" href="#configs-method" aria-hidden="true">#</a> configs <span class="symbol">- method</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">configs</span><span style="color:#ADBAC7;">(initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-></span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><code>v1.0.80</code> <code>modified</code></p><p>将方法体进行 inline</p><p><strong>Function Illustrate</strong></p><blockquote><p>对 <code>Configs</code> 类实现了一个 <code>lambda</code> 方法体。</p></blockquote><p>你可以轻松的调用它进行配置。</p><p><strong>Function Example</strong></p><p>你可以在 Hook 入口类的 <code>onInit</code> 方法中调用 <code>configs</code> 方法和 <code>debugLog</code> 方法完成对 API 的功能配置,实时生效。</p><blockquote><p>The following example</p></blockquote><div class="language-kotlin ext-kt line-numbers-mode"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> HookEntry </span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">IYukiHookXposedInit</span><span style="color:#ADBAC7;"> {</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onInit</span><span style="color:#ADBAC7;">() {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.configs {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> debugLog {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> tag </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">"YukiHookAPI"</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isRecord </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> elements(</span><span style="color:#F69D50;">TAG</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PRIORITY</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PACKAGE_NAME</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">USER_ID</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isDebug </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">BuildConfig</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">DEBUG</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableModulePrefsCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableModuleAppResourcesCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableHookModuleStatus </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableHookSharedPreferences </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableDataChannel </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableMemberCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onHook</span><span style="color:#ADBAC7;">() {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;">}</span></span>
|
||
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>若觉得上面的写法不美观,你还可以写得更加简洁。</p><blockquote><p>The following example</p></blockquote><div class="language-kotlin ext-kt line-numbers-mode"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> HookEntry </span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">IYukiHookXposedInit</span><span style="color:#ADBAC7;"> {</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onInit</span><span style="color:#ADBAC7;">() </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> configs {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> debugLog {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> tag </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">"YukiHookAPI"</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isRecord </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> elements(</span><span style="color:#F69D50;">TAG</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PRIORITY</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">PACKAGE_NAME</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">USER_ID</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isDebug </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">BuildConfig</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">DEBUG</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableModulePrefsCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableModuleAppResourcesCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableHookModuleStatus </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableHookSharedPreferences </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableDataChannel </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> isEnableMemberCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onHook</span><span style="color:#ADBAC7;">() {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;">}</span></span>
|
||
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>你也可以不通过 <code>configs</code> 和 <code>debugLog</code> 方法,直接进行配置。</p><blockquote><p>The following example</p></blockquote><div class="language-kotlin ext-kt line-numbers-mode"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">object</span><span style="color:#ADBAC7;"> HookEntry </span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">IYukiHookXposedInit</span><span style="color:#ADBAC7;"> {</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onInit</span><span style="color:#ADBAC7;">() {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.tag </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">"YukiHookAPI"</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isRecord </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.elements(</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">TAG</span><span style="color:#ADBAC7;">,</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">PRIORITY</span><span style="color:#ADBAC7;">,</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">PACKAGE_NAME</span><span style="color:#ADBAC7;">,</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookLogger</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">USER_ID</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> )</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isDebug </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">BuildConfig</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">DEBUG</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableModulePrefsCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableModuleAppResourcesCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableHookModuleStatus </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableHookSharedPreferences </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableDataChannel </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiHookAPI</span><span style="color:#ADBAC7;">.</span><span style="color:#F69D50;">Configs</span><span style="color:#ADBAC7;">.isEnableMemberCache </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onHook</span><span style="color:#ADBAC7;">() {</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="color:#ADBAC7;">}</span></span>
|
||
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="encase-method" tabindex="-1"><a class="header-anchor" href="#encase-method" aria-hidden="true">#</a> encase <span class="symbol">- method</span></h2><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">PackageParam</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-></span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"></span></code></pre></div><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> hooker</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiBaseHooker</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"></span></code></pre></div><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(baseContext</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Context?</span><span style="color:#ADBAC7;">, initiate</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">PackageParam</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-></span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">Unit</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"></span></code></pre></div><div class="language-kotlin ext-kt"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">encase</span><span style="color:#ADBAC7;">(baseContext</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Context?</span><span style="color:#ADBAC7;">, </span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> hooker</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">YukiBaseHooker</span><span style="color:#ADBAC7;">)</span></span>
|
||
<span class="line"></span></code></pre></div><p><strong>Change Records</strong></p><p><code>v1.0</code> <code>first</code></p><p><strong>Function Illustrate</strong></p><blockquote><p>装载 Hook 入口的核心方法。</p></blockquote><p><strong>Function Example</strong></p><p>详情请参考</p><ul><li><p><a href="../../../../../config/api-example#created-by-lambda">Created by lambda</a></p></li><li><p><a href="../../../../../config/api-example#created-by-custom-hooker">Created by Custom Hooker</a></p></li><li><p><a href="../../../../../config/api-example#precautions-when-using-as-hook-api">Precautions when using as Hook API</a></p></li></ul></div><!--[--><!--]--></div><footer class="page-meta"><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/fankes/YukiHookAPI/edit/master/docs-source/src/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.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="next"><a href="/YukiHookAPI/en/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.html" class="" aria-label="PackageParam - class"><!--[--><!--]--> PackageParam - class <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
||
<script type="module" src="/YukiHookAPI/assets/app.2bc5d8f3.js" defer></script>
|
||
</body>
|
||
</html>
|