Merge document file

This commit is contained in:
2022-04-20 04:29:04 +08:00
parent 68db0ec28f
commit 9bce0d4399
5 changed files with 48 additions and 7 deletions

View File

@@ -20,8 +20,16 @@
> 这里收录了 `YukiHookAPI` 可能会在后期添加的功能。
### 支持独立使用的 Lite 版本
**计划状态:待定**
目前 API 只支持通过自动处理程序绑定到 `xposed_init`,若您不喜欢自动处理程序,一定要自己实现模块装载入口,未来会按照需求人数推出仅有 API 功能的 Lite 版本。
### 支持资源 Hook 和注入系统框架
**计划状态:近期**
目前的 API 仅支持 APP 内的功能 Hook并不支持 `Resource` 的替换以及 Hook 系统框架。
API 还未实现对 `handleInitPackageResources``initZygote` 的调用。

View File

@@ -47,8 +47,8 @@ class MyApplication: ModuleApplication() {
```xml
<application
android:name="com.demo.MyApplication"
...>
android:name="com.demo.MyApplication"
...>
```
如果你不需要自定义 `Application` 可以直接将 `ModuleApplication` 设置到 `AndroidManifest.xml``application` 标签中。
@@ -57,8 +57,8 @@ class MyApplication: ModuleApplication() {
```xml
<application
android:name="com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication"
...>
android:name="com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication"
...>
```
### appContext [field]

View File

@@ -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
<meta-data
android:name="xposedsharedprefs"
android:value="true"/>
```
### isRunInNewXShareMode [field]
```kotlin
@@ -40,7 +54,7 @@ val isRunInNewXShareMode: Boolean
**功能描述**
> 获取 `YukiHookModulePrefs ` 是否正处于 EdXposed/LSPosed 的最高权限运行。
> 获取 `YukiHookModulePrefs` 是否正处于 EdXposed/LSPosed 的最高权限运行。
前提条件为当前 Xposed 模块已被激活。

View File

@@ -86,6 +86,11 @@ dependencies {
<meta-data
android:name="xposedminversion"
android:value="93" />
<!-- 可选:配置支持 New XSharePrefs 可无需调整 xposedminversion 为 93 -->
<meta-data
android:name="xposedsharedprefs"
android:value="true"/>
```
在你的项目中创建一个 Hook 入口类,继承于 `YukiHookXposedInitProxy` 并加入注解 `@InjectYukiHookWithXposed`

View File

@@ -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)。
更多用法可参考 [YukiHookModulePrefs](api/document?id=yukihookmoduleprefs-class)。
### 在 PreferenceFragment 中使用
> 这里描述了在 `PreferenceFragment` 中装载 `YukiHookModulePrefs` 的场景。
若你的模块使用了 `PreferenceFragmentCompat`,你现在可以将其继承类开始迁移到 `ModulePreferenceFragment`
!> 你必须继承 `ModulePreferenceFragment` 才能实现 `YukiHookModulePrefs` 的模块存储功能。
详情请参考 [ModulePreferenceFragment](api/document?id=modulepreferencefragment-class)。