Fix a bug when TaiChi try hook module failed and add some class type in java

This commit is contained in:
2022-03-24 22:20:45 +08:00
parent 2979471a28
commit 74acc13332
4 changed files with 41 additions and 11 deletions

View File

@@ -106,6 +106,10 @@ val Any?.isXposedModuleActive get() = YukiHookModuleStatus.isActive()
/** /**
* 仅判断模块是否在太极、无极中激活 * 仅判断模块是否在太极、无极中激活
*
* 下方的代码来自太极官方文档封装和改进
*
* 详情请参考太极开发指南中的 [如何判断模块是否激活了?](https://taichi.cool/zh/doc/for-xposed-dev.html#%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E6%A8%A1%E5%9D%97%E6%98%AF%E5%90%A6%E6%BF%80%E6%B4%BB%E4%BA%86%EF%BC%9F)
* @return [Boolean] 是否激活 * @return [Boolean] 是否激活
*/ */
val Context.isTaiChiModuleActive: Boolean val Context.isTaiChiModuleActive: Boolean

View File

@@ -38,9 +38,10 @@ import de.robv.android.xposed.XposedBridge
* *
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法 * - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容 * @param msg 日志打印的内容
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/ */
internal fun yLoggerD(msg: String) { internal fun yLoggerD(msg: String, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerD(msg = msg) if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerD(msg = msg)
} }
/** /**
@@ -48,9 +49,10 @@ internal fun yLoggerD(msg: String) {
* *
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法 * - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容 * @param msg 日志打印的内容
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/ */
internal fun yLoggerI(msg: String) { internal fun yLoggerI(msg: String, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerI(msg = msg) if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerI(msg = msg)
} }
/** /**
@@ -58,9 +60,10 @@ internal fun yLoggerI(msg: String) {
* *
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法 * - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容 * @param msg 日志打印的内容
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/ */
internal fun yLoggerW(msg: String) { internal fun yLoggerW(msg: String, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerW(msg = msg) if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerW(msg = msg)
} }
/** /**
@@ -69,9 +72,10 @@ internal fun yLoggerW(msg: String) {
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法 * - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容 * @param msg 日志打印的内容
* @param e 可填入异常堆栈信息 - 将自动完整打印到控制台 * @param e 可填入异常堆栈信息 - 将自动完整打印到控制台
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/ */
internal fun yLoggerE(msg: String, e: Throwable? = null) { internal fun yLoggerE(msg: String, e: Throwable? = null, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerE(msg = msg, e = e) if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerE(msg = msg, e = e)
} }
/** /**

View File

@@ -467,6 +467,18 @@ val JavaMemberClass get() = Member::class.java
*/ */
val JavaAnnotationClass get() = Annotation::class.java val JavaAnnotationClass get() = Annotation::class.java
/**
* 获得 [java.util.function.Function] 类型
* @return [Class]
*/
val FunctionClass get() = java.util.function.Function::class.java
/**
* 获得 [Objects] 类型
* @return [Class]
*/
val ObjectsClass get() = Objects::class.java
/** /**
* 获得 [Runtime] 类型 * 获得 [Runtime] 类型
* @return [Class] * @return [Class]

View File

@@ -33,6 +33,7 @@ import com.highcapable.yukihookapi.annotation.DoNotUseMethod
import com.highcapable.yukihookapi.hook.factory.isModuleActive import com.highcapable.yukihookapi.hook.factory.isModuleActive
import com.highcapable.yukihookapi.hook.factory.isTaiChiModuleActive import com.highcapable.yukihookapi.hook.factory.isTaiChiModuleActive
import com.highcapable.yukihookapi.hook.factory.isXposedModuleActive import com.highcapable.yukihookapi.hook.factory.isXposedModuleActive
import com.highcapable.yukihookapi.hook.log.yLoggerD
import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus.executorName import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus.executorName
import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus.executorVersion import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus.executorVersion
import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.XposedBridge
@@ -93,7 +94,10 @@ object YukiHookModuleStatus {
@Keep @Keep
@DoNotUseMethod @DoNotUseMethod
@JvmName(IS_ACTIVE_METHOD_NAME) @JvmName(IS_ACTIVE_METHOD_NAME)
internal fun isActive() = false internal fun isActive(): Boolean {
yLoggerD(msg = IS_ACTIVE_METHOD_NAME, isDisableLog = true)
return false
}
/** /**
* 此方法经过 Hook 后返回 [XposedBridge.getXposedVersion] * 此方法经过 Hook 后返回 [XposedBridge.getXposedVersion]
@@ -101,7 +105,10 @@ object YukiHookModuleStatus {
*/ */
@Keep @Keep
@JvmName(GET_XPOSED_VERSION_METHOD_NAME) @JvmName(GET_XPOSED_VERSION_METHOD_NAME)
private fun getXposedVersion() = -1 private fun getXposedVersion(): Int {
yLoggerD(msg = GET_XPOSED_VERSION_METHOD_NAME, isDisableLog = true)
return -1
}
/** /**
* 此方法经过 Hook 后返回 [XposedBridge] 的 TAG * 此方法经过 Hook 后返回 [XposedBridge] 的 TAG
@@ -109,5 +116,8 @@ object YukiHookModuleStatus {
*/ */
@Keep @Keep
@JvmName(GET_XPOSED_TAG_METHOD_NAME) @JvmName(GET_XPOSED_TAG_METHOD_NAME)
private fun getXposedBridgeTag() = "unknown" private fun getXposedBridgeTag(): String {
yLoggerD(msg = GET_XPOSED_TAG_METHOD_NAME, isDisableLog = true)
return "unknown"
}
} }