From b7f537e511d31a7f9b6ef8a65b4629e0ea53f69d Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Wed, 1 Feb 2023 02:15:20 +0800 Subject: [PATCH] Modify change YukiHookAPI entry class file generated path from assets to resources/META-INF in YukiHookXposedProcessor --- .../YukiHookXposedProcessor.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 530eba33..2c27c435 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 @@ -229,17 +229,21 @@ class YukiHookXposedProcessor : SymbolProcessorProvider { } val gradleFile = File("$rootPath${separator}build.gradle") val gradleKtsFile = File("$rootPath${separator}build.gradle.kts") - val assetsFile = File("$projectPath${separator}assets") val manifestFile = File("$projectPath${separator}AndroidManifest.xml") + val assetsFolder = File("$projectPath${separator}assets") + val metaInfFolder = File("$projectPath${separator}resources${separator}META-INF") if (manifestFile.exists()) { - if (assetsFile.exists().not() || assetsFile.isDirectory.not()) assetsFile.apply { delete(); mkdirs() } + if (assetsFolder.exists().not() || assetsFolder.isDirectory.not()) assetsFolder.apply { delete(); mkdirs() } + if (metaInfFolder.exists().not() || metaInfFolder.isDirectory.not()) metaInfFolder.apply { delete(); mkdirs() } data.modulePackageName = parseModulePackageName(manifestFile, gradleFile, gradleKtsFile) if (data.modulePackageName.isBlank() && data.customMPackageName.isBlank()) problem(msg = "Cannot identify your Module App's package name, tried AndroidManifest.xml, build.gradle and build.gradle.kts") - File("${assetsFile.absolutePath}${separator}xposed_init") + File("${assetsFolder.absolutePath}${separator}xposed_init") .writeText(text = "${data.entryPackageName}.${data.xInitClassName}") - File("${assetsFile.absolutePath}${separator}yukihookapi_init") + File("${metaInfFolder.absolutePath}${separator}yukihookapi_init") .writeText(text = "${data.entryPackageName}.${data.entryClassName}") + /** 移除旧版本 API 创建的入口类名称文件 */ + File("${assetsFolder.absolutePath}${separator}yukihookapi_init").apply { if (exists()) delete() } generateClassFile(data) } else problem(msg = "Project Source Path \"$sourcePath\" verify failed! Is this an Android Project?") }