2 Commits

Author SHA1 Message Date
19615385ec release: 1.4.12 2026-05-16 13:16:59 +08:00
212fec1d1d fix: merge android manifest replace entries 2026-05-16 13:05:06 +08:00
3 changed files with 49 additions and 2 deletions

View File

@@ -1,3 +1,15 @@
# [1.4.12]
### 修复
* Android 构建后处理在 launcher `application` 已存在 `android:appComponentFactory` 时,同步合并 `tools:replace="android:appComponentFactory"`,避免 TapTap AndroidX manifest merger 冲突。
# [1.4.11]
### 修复
* Android 构建后处理合并 `tools:replace` 声明,避免覆盖宿主项目已有的 `android:appComponentFactory` 冲突处理。
# [1.4.10]
### 更新

View File

@@ -121,7 +121,7 @@ namespace Topon_Adapter.Editor
elementlauncherApplication.Add (CreateCSJGromore ());
SetOrAddAttribute (elementlauncherApplication, AndroidNamespace + "allowBackup", "false");
SetOrAddAttribute (elementlauncherApplication, ToolsNamespace + "replace", "android:allowBackup");
MergeToolsReplaceAttribute (elementlauncherApplication, GetLauncherApplicationReplaceValues (elementlauncherApplication));
var elementMainManifest = manifest.Element ("manifest");
var elementMainApplication = elementMainManifest.Element ("application");
@@ -263,6 +263,41 @@ namespace Topon_Adapter.Editor
attribute.SetValue (value);
}
private static string[] GetLauncherApplicationReplaceValues (XElement element)
{
List<string> replaceValues = new List<string> { "android:allowBackup" };
if (element.Attribute (AndroidNamespace + "appComponentFactory") != null)
{
replaceValues.Add ("android:appComponentFactory");
}
return replaceValues.ToArray ();
}
private static void MergeToolsReplaceAttribute (XElement element, params string[] replaceValues)
{
XName replaceAttributeName = ToolsNamespace + "replace";
List<string> mergedValues = new List<string> ();
var currentValue = element.Attribute (replaceAttributeName)?.Value;
if (string.IsNullOrWhiteSpace (currentValue) == false)
{
mergedValues.AddRange (currentValue.Split (',')
.Select (value => value.Trim ())
.Where (value => string.IsNullOrWhiteSpace (value) == false));
}
foreach (var replaceValue in replaceValues)
{
if (mergedValues.Contains (replaceValue) == false)
{
mergedValues.Add (replaceValue);
}
}
element.SetAttributeValue (replaceAttributeName, string.Join (",", mergedValues));
}
public int callbackOrder { get; }
}
}

View File

@@ -2,7 +2,7 @@
"name": "com.commercialization.topon",
"displayName": "Commercialization.topon",
"description": "基于topon的广告sdk封装依赖基础商业化模块",
"version": "1.4.10",
"version": "1.4.12",
"unity": "2021.1",
"license": "MIT",
"repository": {