From 9bce0d4399b802c1d77432969f6b4fb475795170 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Wed, 20 Apr 2022 04:29:04 +0800 Subject: [PATCH] Merge document file --- docs/about/future.md | 8 ++++++++ docs/api/public/ModuleApplication.md | 8 ++++---- docs/api/public/YukiHookModulePrefs.md | 16 +++++++++++++++- docs/guide/quick-start.md | 5 +++++ docs/guide/special-feature.md | 18 ++++++++++++++++-- 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/docs/about/future.md b/docs/about/future.md index 6ea1113c..a3b8d3b0 100644 --- a/docs/about/future.md +++ b/docs/about/future.md @@ -20,8 +20,16 @@ > 这里收录了 `YukiHookAPI` 可能会在后期添加的功能。 +### 支持独立使用的 Lite 版本 + +**计划状态:待定** + +目前 API 只支持通过自动处理程序绑定到 `xposed_init`,若您不喜欢自动处理程序,一定要自己实现模块装载入口,未来会按照需求人数推出仅有 API 功能的 Lite 版本。 + ### 支持资源 Hook 和注入系统框架 +**计划状态:近期** + 目前的 API 仅支持 APP 内的功能 Hook,并不支持 `Resource` 的替换以及 Hook 系统框架。 API 还未实现对 `handleInitPackageResources` 和 `initZygote` 的调用。 diff --git a/docs/api/public/ModuleApplication.md b/docs/api/public/ModuleApplication.md index 97a3fdd7..fdd844bd 100644 --- a/docs/api/public/ModuleApplication.md +++ b/docs/api/public/ModuleApplication.md @@ -47,8 +47,8 @@ class MyApplication: ModuleApplication() { ```xml + android:name="com.demo.MyApplication" + ...> ``` 如果你不需要自定义 `Application` 可以直接将 `ModuleApplication` 设置到 `AndroidManifest.xml` 的 `application` 标签中。 @@ -57,8 +57,8 @@ class MyApplication: ModuleApplication() { ```xml + android:name="com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication" + ...> ``` ### appContext [field] diff --git a/docs/api/public/YukiHookModulePrefs.md b/docs/api/public/YukiHookModulePrefs.md index b6a66edf..693d6b41 100644 --- a/docs/api/public/YukiHookModulePrefs.md +++ b/docs/api/public/YukiHookModulePrefs.md @@ -28,6 +28,20 @@ class YukiHookModulePrefs(private val context: Context?) 若你正在使用 `PreferenceFragmentCompat`,请迁移到 `ModulePreferenceFragment` 以适配上述功能特性。 +**可选配置** + +若你不想将你的模块的 `xposedminversion` 最低设置为 `93`,你可以在 `AndroidManifest.xml` 中添加 `xposedsharedprefs` 来实现支持。 + +详见 [New XSharedPreferences](https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences#for-the-module)。 + +> 示例如下 + +```xml + +``` + ### isRunInNewXShareMode [field] ```kotlin @@ -40,7 +54,7 @@ val isRunInNewXShareMode: Boolean **功能描述** -> 获取 `YukiHookModulePrefs ` 是否正处于 EdXposed/LSPosed 的最高权限运行。 +> 获取 `YukiHookModulePrefs` 是否正处于 EdXposed/LSPosed 的最高权限运行。 前提条件为当前 Xposed 模块已被激活。 diff --git a/docs/guide/quick-start.md b/docs/guide/quick-start.md index b9da73d5..7102bc3d 100644 --- a/docs/guide/quick-start.md +++ b/docs/guide/quick-start.md @@ -86,6 +86,11 @@ dependencies { + + + ``` 在你的项目中创建一个 Hook 入口类,继承于 `YukiHookXposedInitProxy` 并加入注解 `@InjectYukiHookWithXposed`。 diff --git a/docs/guide/special-feature.md b/docs/guide/special-feature.md index 6cffb793..32859e15 100644 --- a/docs/guide/special-feature.md +++ b/docs/guide/special-feature.md @@ -770,7 +770,7 @@ loggerE(msg = "This is an error") // 假设这就是被抛出的异常 val e = Throwable(...) // 打印日志 -loggerE(msg = "This is an error", throwable = e) +loggerE(msg = "This is an error", e = e) ``` 打印的结果为如下所示。 @@ -805,6 +805,10 @@ java.lang.Throwable 原生的 `Xposed` 给我们提供了一个 `XSharedPreferences` 用于读取模块的 `Sp` 数据。 +### 在 Activity 中使用 + +> 这里描述了在 `Activity` 中装载 `YukiHookModulePrefs` 的场景。 + 通常情况下我们可以这样在 Hook 内对其进行初始化。 > 示例如下 @@ -859,4 +863,14 @@ val testName = prefs.name("specify_file_name").getString("test_name", "default_v 若你的项目中有大量的固定数据需要存储和读取,推荐使用 `PrefsData` 来创建模板,详细用法可参考 [PrefsData](api/document?id=prefsdata-class)。 -更多用法可参考 [YukiHookModulePrefs](api/document?id=yukihookmoduleprefs-class)。 \ No newline at end of file +更多用法可参考 [YukiHookModulePrefs](api/document?id=yukihookmoduleprefs-class)。 + +### 在 PreferenceFragment 中使用 + +> 这里描述了在 `PreferenceFragment` 中装载 `YukiHookModulePrefs` 的场景。 + +若你的模块使用了 `PreferenceFragmentCompat`,你现在可以将其继承类开始迁移到 `ModulePreferenceFragment`。 + +!> 你必须继承 `ModulePreferenceFragment` 才能实现 `YukiHookModulePrefs` 的模块存储功能。 + +详情请参考 [ModulePreferenceFragment](api/document?id=modulepreferencefragment-class)。 \ No newline at end of file