mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Modify remove stub-jar and add stub-project and change the compiled class
This commit is contained in:
@@ -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(
|
||||
|
@@ -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 = "",
|
||||
|
@@ -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" +
|
||||
|
Reference in New Issue
Block a user