diff --git a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt index 55c2c17b..3d85e216 100644 --- a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt +++ b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt @@ -35,6 +35,8 @@ import com.google.devtools.ksp.symbol.FileLocation import com.google.devtools.ksp.symbol.KSAnnotated import com.google.devtools.ksp.symbol.KSClassDeclaration import com.highcapable.yukihookapi_ksp_xposed.bean.GenerateData +import com.highcapable.yukihookapi_ksp_xposed.factory.ClassName +import com.highcapable.yukihookapi_ksp_xposed.factory.PackageName import com.highcapable.yukihookapi_ksp_xposed.factory.sources import org.w3c.dom.Element import org.w3c.dom.Node @@ -233,15 +235,15 @@ class YukiHookXposedProcessor : SymbolProcessorProvider { ) /** 插入 ModuleApplication_Impl 代码 */ createCodeFile( - fileName = "ModuleApplication_Impl", - packageName = "com.highcapable.yukihookapi.hook.xposed.application", - content = data.sources()["ModuleApplication_Impl"] + fileName = ClassName.ModuleApplication_Impl, + packageName = PackageName.ModuleApplication_Impl, + content = data.sources()[ClassName.ModuleApplication_Impl] ) /** 插入 YukiHookBridge_Impl 代码 */ createCodeFile( - fileName = "YukiHookBridge_Impl", - packageName = "com.highcapable.yukihookapi.hook.xposed.bridge", - content = data.sources()["YukiHookBridge_Impl"] + fileName = ClassName.YukiHookBridge_Impl, + packageName = PackageName.YukiHookBridge_Impl, + content = data.sources()[ClassName.YukiHookBridge_Impl] ) /** 插入 xposed_init 代码 */ createCodeFile( diff --git a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt index 14b3f2b5..a9a9be1d 100644 --- a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt +++ b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt @@ -31,6 +31,22 @@ import com.highcapable.yukihookapi_ksp_xposed.bean.GenerateData import java.text.SimpleDateFormat import java.util.* +/** + * 包名常量定义类 + */ +object PackageName { + const val ModuleApplication_Impl = "com.highcapable.yukihookapi.hook.xposed.application" + const val YukiHookBridge_Impl = "com.highcapable.yukihookapi.hook.xposed.bridge" +} + +/** + * 类名常量定义类 + */ +object ClassName { + const val ModuleApplication_Impl = "ModuleApplication_Impl" + const val YukiHookBridge_Impl = "YukiHookBridge_Impl" +} + /** * 创建文件注释 * @param entryClassName 入口类名 - 空则不生成 @@ -39,7 +55,7 @@ import java.util.* */ private fun createCommentContent(entryClassName: String = "", currrentClassTag: String) = ("/**\n" + - " * $currrentClassTag Inject Class\n" + + " * $currrentClassTag Class\n" + " *\n" + " * Compiled from YukiHookXposedProcessor\n" + " *\n" + @@ -56,26 +72,26 @@ private fun createCommentContent(entryClassName: String = "", currrentClassTag: * @return [Map]<[String],[String]> */ fun GenerateData.sources() = mapOf( - "ModuleApplication_Impl" to ("@file:Suppress(\"ClassName\")\n" + + ClassName.ModuleApplication_Impl to ("@file:Suppress(\"ClassName\")\n" + "\n" + - "package com.highcapable.yukihookapi.hook.xposed.application\n" + + "package ${PackageName.ModuleApplication_Impl}\n" + "\n" + "import $entryPackageName.$entryClassName\n" + "\n" + - createCommentContent(entryClassName, currrentClassTag = "ModuleApplication") + - "object ModuleApplication_Impl {\n" + + createCommentContent(entryClassName, ClassName.ModuleApplication_Impl) + + "object ${ClassName.ModuleApplication_Impl} {\n" + "\n" + " fun callHookEntryInit() = try {\n" + " $entryClassName().onInit()\n" + " } catch (_: Throwable) {\n" + " }\n" + "}"), - "YukiHookBridge_Impl" to ("@file:Suppress(\"ClassName\")\n" + + ClassName.YukiHookBridge_Impl to ("@file:Suppress(\"ClassName\")\n" + "\n" + - "package com.highcapable.yukihookapi.hook.xposed.bridge\n" + + "package ${PackageName.YukiHookBridge_Impl}\n" + "\n" + - createCommentContent(currrentClassTag = "YukiHookBridge") + - "object YukiHookBridge_Impl {\n" + + createCommentContent(currrentClassTag = ClassName.YukiHookBridge_Impl) + + "object ${ClassName.YukiHookBridge_Impl} {\n" + "\n" + " val compiledTimestamp get() = ${System.currentTimeMillis()}\n" + "}"),