Modify remove stub-jar and add stub-project and change the compiled class

This commit is contained in:
2022-09-27 00:34:24 +08:00
parent 3a932dc8b4
commit 1d22f634e1
14 changed files with 127 additions and 30 deletions

View File

@@ -231,19 +231,17 @@ class YukiHookXposedProcessor : SymbolProcessorProvider {
msg = "You set the customize module package name to \"${data.customMPackageName}\", " +
"please check for yourself if it is correct"
)
val mdAppInjectPackageName = "com.highcapable.yukihookapi.hook.xposed.application.inject"
val ykBridgeInjectPackageName = "com.highcapable.yukihookapi.hook.xposed.bridge.inject"
/** 插入 ModuleApplication_Injector 代码 */
/** 插入 ModuleApplication_Impl 代码 */
createCodeFile(
fileName = "ModuleApplication_Injector",
packageName = mdAppInjectPackageName,
content = data.apply { injectPackageName = mdAppInjectPackageName }.sources()["ModuleApplication_Injector"]
fileName = "ModuleApplication_Impl",
packageName = "com.highcapable.yukihookapi.hook.xposed.application",
content = data.sources()["ModuleApplication_Impl"]
)
/** 插入 YukiHookBridge_Injector 代码 */
/** 插入 YukiHookBridge_Impl 代码 */
createCodeFile(
fileName = "YukiHookBridge_Injector",
packageName = ykBridgeInjectPackageName,
content = data.apply { injectPackageName = ykBridgeInjectPackageName }.sources()["YukiHookBridge_Injector"]
fileName = "YukiHookBridge_Impl",
packageName = "com.highcapable.yukihookapi.hook.xposed.bridge",
content = data.sources()["YukiHookBridge_Impl"]
)
/** 插入 xposed_init 代码 */
createCodeFile(

View File

@@ -30,7 +30,6 @@ package com.highcapable.yukihookapi_ksp_xposed.bean
/**
* 生成的模板数据实例
* @param entryPackageName 入口类包名
* @param injectPackageName 注入类包名
* @param modulePackageName 模块包名 (命名空间)
* @param customMPackageName 自定义模块包名
* @param entryClassName 入口类名
@@ -39,7 +38,6 @@ package com.highcapable.yukihookapi_ksp_xposed.bean
*/
data class GenerateData(
var entryPackageName: String = "",
var injectPackageName: String = "",
var modulePackageName: String = "",
var customMPackageName: String = "",
var entryClassName: String = "",

View File

@@ -56,30 +56,28 @@ private fun createCommentContent(entryClassName: String = "", currrentClassTag:
* @return [Map]<[String],[String]>
*/
fun GenerateData.sources() = mapOf(
"ModuleApplication_Injector" to ("@file:Suppress(\"ClassName\")\n" +
"ModuleApplication_Impl" to ("@file:Suppress(\"ClassName\")\n" +
"\n" +
"package $injectPackageName\n" +
"package com.highcapable.yukihookapi.hook.xposed.application\n" +
"\n" +
"import $entryPackageName.$entryClassName\n" +
"\n" +
createCommentContent(entryClassName, currrentClassTag = "ModuleApplication") +
"object ModuleApplication_Injector {\n" +
"object ModuleApplication_Impl {\n" +
"\n" +
" @JvmStatic\n" +
" fun callApiInit() = try {\n" +
" fun callHookEntryInit() = try {\n" +
" $entryClassName().onInit()\n" +
" } catch (_: Throwable) {\n" +
" }\n" +
"}"),
"YukiHookBridge_Injector" to ("@file:Suppress(\"ClassName\")\n" +
"YukiHookBridge_Impl" to ("@file:Suppress(\"ClassName\")\n" +
"\n" +
"package $injectPackageName\n" +
"package com.highcapable.yukihookapi.hook.xposed.bridge\n" +
"\n" +
createCommentContent(currrentClassTag = "YukiHookBridge") +
"object YukiHookBridge_Injector {\n" +
"object YukiHookBridge_Impl {\n" +
"\n" +
" @JvmStatic\n" +
" fun getModuleGeneratedVersion() = \"${System.currentTimeMillis()}\"\n" +
" val compiledTimestamp get() = ${System.currentTimeMillis()}\n" +
"}"),
"xposed_init" to ("@file:Suppress(\"ClassName\")\n" +
"\n" +