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] 是否激活
*/
val Context.isTaiChiModuleActive: Boolean

View File

@@ -38,9 +38,10 @@ import de.robv.android.xposed.XposedBridge
*
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/
internal fun yLoggerD(msg: String) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerD(msg = msg)
internal fun yLoggerD(msg: String, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerD(msg = msg)
}
/**
@@ -48,9 +49,10 @@ internal fun yLoggerD(msg: String) {
*
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/
internal fun yLoggerI(msg: String) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerI(msg = msg)
internal fun yLoggerI(msg: String, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerI(msg = msg)
}
/**
@@ -58,9 +60,10 @@ internal fun yLoggerI(msg: String) {
*
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/
internal fun yLoggerW(msg: String) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerW(msg = msg)
internal fun yLoggerW(msg: String, isDisableLog: Boolean = false) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) if (!isDisableLog) loggerW(msg = msg)
}
/**
@@ -69,9 +72,10 @@ internal fun yLoggerW(msg: String) {
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法
* @param msg 日志打印的内容
* @param e 可填入异常堆栈信息 - 将自动完整打印到控制台
* @param isDisableLog 禁止打印日志 - 标识后将什么也不做 - 默认为 false
*/
internal fun yLoggerE(msg: String, e: Throwable? = null) {
if (YukiHookAPI.Configs.isAllowPrintingLogs) loggerE(msg = msg, e = e)
internal fun yLoggerE(msg: String, e: Throwable? = null, isDisableLog: Boolean = false) {
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
/**
* 获得 [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] 类型
* @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.isTaiChiModuleActive
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.executorVersion
import de.robv.android.xposed.XposedBridge
@@ -93,7 +94,10 @@ object YukiHookModuleStatus {
@Keep
@DoNotUseMethod
@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]
@@ -101,7 +105,10 @@ object YukiHookModuleStatus {
*/
@Keep
@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
@@ -109,5 +116,8 @@ object YukiHookModuleStatus {
*/
@Keep
@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"
}
}