diff --git a/Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml b/Editor/GuruManager/Files/network_security_config.xml
similarity index 100%
rename from Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml
rename to Editor/GuruManager/Files/network_security_config.xml
diff --git a/Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml.meta b/Editor/GuruManager/Files/network_security_config.xml.meta
similarity index 100%
rename from Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml.meta
rename to Editor/GuruManager/Files/network_security_config.xml.meta
diff --git a/Editor/GuruManager/Files/sdk_res.meta b/Editor/GuruManager/Files/sdk_res.meta
deleted file mode 100644
index 7f5a668..0000000
--- a/Editor/GuruManager/Files/sdk_res.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 11c5c61708cec45b3886f7c93951d083
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml b/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml
deleted file mode 100644
index 1bb579a..0000000
--- a/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml.meta b/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml.meta
deleted file mode 100644
index c7da392..0000000
--- a/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 038b314e2834b4b3f80537a3c7832481
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Editor/GuruManager/Files/sdk_res/project.properties b/Editor/GuruManager/Files/sdk_res/project.properties
deleted file mode 100644
index 3e9d5b2..0000000
--- a/Editor/GuruManager/Files/sdk_res/project.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-target=android-9
-android.library=`true`
\ No newline at end of file
diff --git a/Editor/GuruManager/Files/sdk_res/project.properties.meta b/Editor/GuruManager/Files/sdk_res/project.properties.meta
deleted file mode 100644
index 9834058..0000000
--- a/Editor/GuruManager/Files/sdk_res/project.properties.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 3a35ac1e970714224ba4adaae5756f10
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Editor/GuruManager/Files/sdk_res/res.meta b/Editor/GuruManager/Files/sdk_res/res.meta
deleted file mode 100644
index 4b3d88d..0000000
--- a/Editor/GuruManager/Files/sdk_res/res.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: c6c2e979b6e21424a8c8807754828741
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Editor/GuruManager/Files/sdk_res/res/xml.meta b/Editor/GuruManager/Files/sdk_res/res/xml.meta
deleted file mode 100644
index 81e2ff0..0000000
--- a/Editor/GuruManager/Files/sdk_res/res/xml.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 29db8462008d4d8d9220c83bf5dcd6e0
-timeCreated: 1706057866
\ No newline at end of file
diff --git a/Editor/GuruManager/Helper/AndroidManifestMod.cs b/Editor/GuruManager/Helper/AndroidManifestMod.cs
index d4e0c19..1f5bb7c 100644
--- a/Editor/GuruManager/Helper/AndroidManifestMod.cs
+++ b/Editor/GuruManager/Helper/AndroidManifestMod.cs
@@ -65,7 +65,7 @@ namespace Guru.Editor
{
if (File.Exists(TargetFullPath)) return;
- var path = GuruEditorHelper.GetFilePath($"{nameof(AndroidManifestMod)} t:Script");
+ var path = GuruEditorHelper.GetAssetPath(nameof(AndroidManifestMod), "Script", true);
if (!string.IsNullOrEmpty(path))
{
var from = Path.GetFullPath($"{path}/../../Files/AndroidManifest.txt");
diff --git a/Editor/GuruManager/Helper/AndroidProjectMod.cs b/Editor/GuruManager/Helper/AndroidProjectMod.cs
index 5c9f637..1a945bd 100644
--- a/Editor/GuruManager/Helper/AndroidProjectMod.cs
+++ b/Editor/GuruManager/Helper/AndroidProjectMod.cs
@@ -95,7 +95,7 @@ namespace Guru.Editor
private static string GetMoveFilePath(string fileName)
{
- var path = GuruEditorHelper.GetFilePath($"{nameof(AndroidProjectMod)} t:Script");
+ var path = GuruEditorHelper.GetAssetPath(nameof(AndroidProjectMod), "Script", true);
var files = Path.GetFullPath($"{path}/../../Files");
return $"{files}/{fileName}";
}
diff --git a/Editor/GuruManager/Helper/AndroidPushIconHelper.cs b/Editor/GuruManager/Helper/AndroidPushIconHelper.cs
index bf4126e..97cb1f0 100644
--- a/Editor/GuruManager/Helper/AndroidPushIconHelper.cs
+++ b/Editor/GuruManager/Helper/AndroidPushIconHelper.cs
@@ -96,7 +96,7 @@ namespace Guru.Editor
}
- private static bool DeployAllIcons(Texture2D source, Color color)
+ private static bool DeployAllIcons(Texture2D source, Color color)
{
var dir = AndroidLibHelper.CreateLibRoot(PackageName, LibName);
string path = "";
@@ -145,6 +145,8 @@ namespace Guru.Editor
doc.SetMetadata("com.google.firebase.messaging.default_notification_channel_id", "@string/default_notification_channel_id");
doc.Save();
Debug.Log(" --- Push Icon Build Success --- ");
+
+ AssetDatabase.Refresh();
return true;
}
diff --git a/Editor/GuruManager/Helper/AndroidResMod.cs b/Editor/GuruManager/Helper/AndroidResMod.cs
index 82cdcfb..cc3494f 100644
--- a/Editor/GuruManager/Helper/AndroidResMod.cs
+++ b/Editor/GuruManager/Helper/AndroidResMod.cs
@@ -6,38 +6,43 @@ namespace Guru.Editor
public class AndroidResMod
{
- private static readonly string ResName = "GuruNetworkSecurity";
- private static string ResFullPath = Path.Combine(Application.dataPath, $"Plugins/Android/{ResName}.androidlib");
- private static string OldSecurityXml = Path.Combine(Application.dataPath, "Plugins/Android/res/xml/network_security_config.xml");
+ private static readonly string NetworkSecurityXmlName = "network_security_config.xml";
+ private static readonly string LibNetworkSecurity = "GuruNetworkSecurity";
+ private static readonly string LibNetworkSecurityPackageName = "com.guru.unity.sdk.android.res.network.security";
+ private static string OldSecurityXml = Path.Combine(Application.dataPath, $"Plugins/Android/res/xml/{NetworkSecurityXmlName}");
///
/// 应用补丁
///
public static void Apply()
{
- DeployAndroidRes();
+ DeployNetworkSecurity();
}
-
- private static void DeployAndroidRes()
+ ///
+ /// 部署网络安全配置
+ ///
+ private static void DeployNetworkSecurity()
{
- if(File.Exists(OldSecurityXml)) File.Delete(OldSecurityXml);
-
- var spath = GuruEditorHelper.GetFilePath($"{nameof(AndroidResMod)} t:Script");
- if (!string.IsNullOrEmpty(spath))
- {
- var from = Path.GetFullPath($"{spath}/../../Files/sdk_res");
- if (Directory.Exists(from))
- {
- var to = ResFullPath;
- if (Directory.Exists(to))
- {
- FileUtil.DeleteFileOrDirectory(ResFullPath);
- }
- FileUtil.CopyFileOrDirectory(from, to);
- }
- }
+ if(File.Exists(OldSecurityXml)) File.Delete(OldSecurityXml); // 清理旧文件
+ if (!AndroidLibHelper.IsEmbeddedAndroidLibExists(LibNetworkSecurity))
+ {
+ string dir = AndroidLibHelper.CreateLibRoot(LibNetworkSecurityPackageName, LibNetworkSecurity);
+ var d = GuruEditorHelper.GetAssetPath(nameof(AndroidResMod), "Script", true);
+ if (!string.IsNullOrEmpty(d))
+ {
+ var from = $"{Directory.GetParent(d)?.FullName ?? ""}/Files/{NetworkSecurityXmlName}";
+ if (File.Exists(from))
+ {
+ string toDir = $"{dir}/res/xml";
+ if(!Directory.Exists(toDir))Directory.CreateDirectory(toDir);
+ string to = $"{toDir}/{NetworkSecurityXmlName}";
+ FileUtil.CopyFileOrDirectory(from, to);
+ }
+ }
+
+ }
}
diff --git a/Editor/GuruManager/Helper/GuruEditorHelper.cs b/Editor/GuruManager/Helper/GuruEditorHelper.cs
index 4cf80e0..a441de8 100644
--- a/Editor/GuruManager/Helper/GuruEditorHelper.cs
+++ b/Editor/GuruManager/Helper/GuruEditorHelper.cs
@@ -2,19 +2,34 @@ namespace Guru.Editor
{
using UnityEditor;
using UnityEngine;
+ using System;
+ using System.IO;
public class GuruEditorHelper
{
- public static string GetFilePath(string filter)
+ public static string GetAssetPath(string filter, bool useFullPath = false)
{
var guids = AssetDatabase.FindAssets(filter);
+ string path = "";
+ string fullPath = "";
if (guids != null && guids.Length > 0)
{
- var path = AssetDatabase.GUIDToAssetPath(guids[0]);
- return path;
+ path = AssetDatabase.GUIDToAssetPath(guids[0]);
+ fullPath = path.Replace("Assets", Application.dataPath);
+ if (File.Exists(fullPath))
+ {
+ return useFullPath? fullPath : path;
+ }
}
return "";
}
+
+ public static string GetAssetPath(string fileName, string typeName = "", bool useFullPath = false)
+ {
+ var filter = fileName;
+ if(!string.IsNullOrEmpty(typeName)) filter = $"{fileName} t:{typeName}";
+ return GetAssetPath(filter, useFullPath);
+ }
public static void OpenPath(string path)
{