diff --git a/sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt b/sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt index 41ec718..d29d28e 100644 --- a/sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt +++ b/sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt @@ -90,15 +90,14 @@ class XuqmBugCollectPlugin : Plugin { ?: return androidComponents.onVariants { variant -> + // Always inject buildId — the AAR manifest placeholder must be resolved for every variant. + val buildId = SimpleDateFormat("yyyyMMddHHmmss", Locale.US).format(Date()) + variant.manifestPlaceholders.put("xuqmBuildId", buildId) + + // Mapping upload only makes sense for minified (release) builds. val buildType = androidDsl.buildTypes.findByName(variant.buildType ?: "") ?: return@onVariants if (!buildType.isMinifyEnabled) return@onVariants - // Generate a per-build identifier stamped at configuration time. - val buildId = SimpleDateFormat("yyyyMMddHHmmss", Locale.US).format(Date()) - // Inject via manifestPlaceholders — SDK reads it from ApplicationInfo.metaData. - // This avoids the namespace vs applicationId mismatch of BuildConfig reflection. - variant.manifestPlaceholders.put("xuqmBuildId", buildId) - val configFile = findVariantConfigFile(target.projectDir, variant.flavorName, variant.buildType) val (fileAppKey, filePlatformUrl) = when { configFile != null -> readEncryptedConfigFile(configFile)