Added Module Generated Version

This commit is contained in:
2022-05-19 03:41:54 +08:00
parent 9c008ce998
commit 017ba82c3e
4 changed files with 40 additions and 8 deletions

View File

@@ -217,14 +217,25 @@ class YukiHookXposedProcessor : SymbolProcessorProvider {
packageName.split(".hook")[0]
else error("Cannot identify your Module App's package name, please manually configure the package name")
}
val injectPackageName = "com.highcapable.yukihookapi.hook.xposed.application.inject"
val mdAppInjectPackageName = "com.highcapable.yukihookapi.hook.xposed.application.inject"
val ykBridgeInjectPackageName = "com.highcapable.yukihookapi.hook.xposed.bridge.inject"
/** 插入 ModuleApplication_Injector 代码 */
codeGenerator.createNewFile(
dependencies = Dependencies.ALL_FILES,
packageName = injectPackageName,
packageName = mdAppInjectPackageName,
fileName = "ModuleApplication_Injector"
).apply {
write(CodeSourceFileTemplate.getModuleApplicationInjectorFileByteArray(injectPackageName, packageName, entryClassName))
write(CodeSourceFileTemplate.getModuleApplicationInjectorFileByteArray(mdAppInjectPackageName, packageName, entryClassName))
flush()
close()
}
/** 插入 YukiHookBridge_Injector 代码 */
codeGenerator.createNewFile(
dependencies = Dependencies.ALL_FILES,
packageName = ykBridgeInjectPackageName,
fileName = "YukiHookBridge_Injector"
).apply {
write(CodeSourceFileTemplate.getYukiHookBridgeInjectorFileByteArray(ykBridgeInjectPackageName, entryClassName))
flush()
close()
}

View File

@@ -80,6 +80,24 @@ object CodeSourceFileTemplate {
" }\n" +
"}").toByteArray()
/**
* 获得 YukiHookBridge_Injector 注入文件
* @param packageName 包名
* @param entryClassName 入口类名
* @return [ByteArray]
*/
fun getYukiHookBridgeInjectorFileByteArray(packageName: String, entryClassName: String) =
("@file:Suppress(\"ClassName\")\n" +
"\n" +
"package $packageName\n" +
"\n" +
getCommentContent(entryClassName, currrentClassTag = "YukiHookBridge") +
"object YukiHookBridge_Injector {\n" +
"\n" +
" @JvmStatic\n" +
" fun getModuleGeneratedVersion() = \"${System.currentTimeMillis()}\"\n" +
"}").toByteArray()
/**
* 获得 xposed_init 注入文件
* @param packageName 包名