diff --git a/Editor/GuruManager/Files/sdk_res.meta b/Editor/GuruManager/Files/sdk_res.meta new file mode 100644 index 0000000..7f5a668 --- /dev/null +++ b/Editor/GuruManager/Files/sdk_res.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11c5c61708cec45b3886f7c93951d083 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/AndroidManifest.xml b/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/AndroidManifest.xml rename to Editor/GuruManager/Files/sdk_res/AndroidManifest.xml diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/AndroidManifest.xml.meta b/Editor/GuruManager/Files/sdk_res/AndroidManifest.xml.meta similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/AndroidManifest.xml.meta rename to Editor/GuruManager/Files/sdk_res/AndroidManifest.xml.meta diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/project.properties b/Editor/GuruManager/Files/sdk_res/project.properties similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/project.properties rename to Editor/GuruManager/Files/sdk_res/project.properties diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/project.properties.meta b/Editor/GuruManager/Files/sdk_res/project.properties.meta similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/project.properties.meta rename to Editor/GuruManager/Files/sdk_res/project.properties.meta diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/res.meta b/Editor/GuruManager/Files/sdk_res/res.meta similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/res.meta rename to Editor/GuruManager/Files/sdk_res/res.meta diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/res/xml.meta b/Editor/GuruManager/Files/sdk_res/res/xml.meta similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/res/xml.meta rename to Editor/GuruManager/Files/sdk_res/res/xml.meta diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/res/xml/network_security_config.xml b/Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/res/xml/network_security_config.xml rename to Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml diff --git a/Runtime/Plugins/Android/GuruSDKRes.androidlib/res/xml/network_security_config.xml.meta b/Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml.meta similarity index 100% rename from Runtime/Plugins/Android/GuruSDKRes.androidlib/res/xml/network_security_config.xml.meta rename to Editor/GuruManager/Files/sdk_res/res/xml/network_security_config.xml.meta diff --git a/Editor/GuruManager/Helper/AndroidManifestMod.cs b/Editor/GuruManager/Helper/AndroidManifestMod.cs index 090fe98..b22f85e 100644 --- a/Editor/GuruManager/Helper/AndroidManifestMod.cs +++ b/Editor/GuruManager/Helper/AndroidManifestMod.cs @@ -25,7 +25,6 @@ namespace Guru.Editor if (!IsManifestExist()) { CopyManifest(); - return; } var doc = new XmlDocument(); @@ -84,11 +83,10 @@ namespace Guru.Editor { if (File.Exists(TargetFullPath)) return; - var path = GuruEditorHelper.GetFilePath($"{nameof(AndroidManifestMod)}.cs t:Script"); + var path = GuruEditorHelper.GetFilePath($"{nameof(AndroidManifestMod)} t:Script"); if (!string.IsNullOrEmpty(path)) { - var files = Path.GetFullPath($"{path}/../Files"); - var from = $"{files}/AndroidManifest.txt"; + var from = Path.GetFullPath($"{path}/../../Files/AndroidManifest.txt"); if (File.Exists(from)) { File.Copy(from, TargetFullPath); diff --git a/Editor/GuruManager/Helper/AndroidProjectMod.cs b/Editor/GuruManager/Helper/AndroidProjectMod.cs index 3301cb3..5c9f637 100644 --- a/Editor/GuruManager/Helper/AndroidProjectMod.cs +++ b/Editor/GuruManager/Helper/AndroidProjectMod.cs @@ -1,4 +1,4 @@ -using System.Linq; + namespace Guru.Editor { @@ -6,6 +6,8 @@ namespace Guru.Editor using UnityEngine; using System; using System.IO; + using System.Linq; + public class AndroidProjectMod { private static readonly int TargetSDKVersion = 33; @@ -93,8 +95,8 @@ namespace Guru.Editor private static string GetMoveFilePath(string fileName) { - var path = GuruEditorHelper.GetFilePath($"{nameof(AndroidProjectMod)}.cs t:Script"); - var files = Path.GetFullPath($"{path}/../Files"); + var path = GuruEditorHelper.GetFilePath($"{nameof(AndroidProjectMod)} t:Script"); + var files = Path.GetFullPath($"{path}/../../Files"); return $"{files}/{fileName}"; } private static void CopyFile(string fileName, string toPath) diff --git a/Editor/GuruManager/Helper/AndroidResMod.cs b/Editor/GuruManager/Helper/AndroidResMod.cs new file mode 100644 index 0000000..a9dbd72 --- /dev/null +++ b/Editor/GuruManager/Helper/AndroidResMod.cs @@ -0,0 +1,44 @@ +namespace Guru.Editor +{ + using System.IO; + using UnityEditor; + using UnityEngine; + + public class AndroidResMod + { + private static readonly string ResName = "GuruSDKRes"; + private static string ResFullPath = Path.Combine(Application.dataPath, $"Plugins/Android/{ResName}.androidlib"); + + /// + /// 应用补丁 + /// + public static void Apply() + { + DeployAndroidRes(); + } + + + private static void DeployAndroidRes() + { + 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); + } + } + + } + + + + } +} \ No newline at end of file diff --git a/Editor/GuruManager/Helper/AndroidResMod.cs.meta b/Editor/GuruManager/Helper/AndroidResMod.cs.meta new file mode 100644 index 0000000..7f141eb --- /dev/null +++ b/Editor/GuruManager/Helper/AndroidResMod.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c06b1730aac144929ca73fba2e481508 +timeCreated: 1706058636 \ No newline at end of file diff --git a/Editor/GuruManager/Manager/GuruSDKManager.cs b/Editor/GuruManager/Manager/GuruSDKManager.cs index 52cbcb9..0c9599c 100644 --- a/Editor/GuruManager/Manager/GuruSDKManager.cs +++ b/Editor/GuruManager/Manager/GuruSDKManager.cs @@ -461,17 +461,23 @@ namespace Guru.Editor private void CheckAllComponents() { + float progress = 0; string barTitle = "Setup All Components"; - EditorUtility.DisplayCancelableProgressBar(barTitle, "Start collect all components", 0); + EditorUtility.DisplayCancelableProgressBar(barTitle, "Start collect all components", progress); Debug.Log("--- Setup All Components ---"); - ImportGuruSettings(); - EditorUtility.DisplayCancelableProgressBar(barTitle, "GuruSettings is done", 0.2f); - ImportAppLovinSettings(); - EditorUtility.DisplayCancelableProgressBar(barTitle, "AppLovinSettings is done", 0.4f); - ImportFacebookSettings(); - EditorUtility.DisplayCancelableProgressBar(barTitle, "FacebookSettings is done", 0.6f); ApplyMods(); - EditorUtility.DisplayCancelableProgressBar(barTitle, "All Mods is done", 0.8f); + progress += 0.2f; + EditorUtility.DisplayCancelableProgressBar(barTitle, "Setup Mods is done", progress); + ImportGuruSettings(); + progress += 0.2f; + EditorUtility.DisplayCancelableProgressBar(barTitle, "GuruSettings is done", progress); + ImportAppLovinSettings(); + progress += 0.2f; + EditorUtility.DisplayCancelableProgressBar(barTitle, "AppLovinSettings is done", progress); + ImportFacebookSettings(); + progress += 0.2f; + EditorUtility.DisplayCancelableProgressBar(barTitle, "FacebookSettings is done", progress); + EditorGuruServiceIO.DeployLocalServiceFile(); // 部署文件 @@ -816,6 +822,8 @@ namespace Guru.Editor n.stringValue = ANDROID_KEYSTORE_PATH; DeployKeystore(); + Facebook.Unity.Editor.ManifestMod.GenerateManifest(); // 重新生成 Manifest + so.ApplyModifiedProperties(); EditorUtility.SetDirty(settings); AssetDatabase.SaveAssetIfDirty(settings); @@ -837,10 +845,14 @@ namespace Guru.Editor { PlayerSettings.applicationIdentifier = _servicesConfig.app_settings.bundle_id; // 设置包名 -#if UNITY_ANDROID +// #if UNITY_ANDROID + //-------- 部署 Android 相关的文件和资源 ---------- AndroidManifestMod.Apply(); AndroidProjectMod.Apply(); -#endif + AndroidResMod.Apply(); +// #endif + + AssetDatabase.Refresh(); } diff --git a/Runtime/Plugins.meta b/Runtime/Plugins.meta deleted file mode 100644 index 23a4970..0000000 --- a/Runtime/Plugins.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 564f0bbcf1fd419585ae00ce043208dc -timeCreated: 1706057741 \ No newline at end of file diff --git a/Runtime/Plugins/Android.meta b/Runtime/Plugins/Android.meta deleted file mode 100644 index 34057f7..0000000 --- a/Runtime/Plugins/Android.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: a2f4fcc4fbae4ce0b6d49d96ba953082 -timeCreated: 1706057780 \ No newline at end of file diff --git a/Runtime/Plugins/Android/GuruSDKRes.meta b/Runtime/Plugins/Android/GuruSDKRes.meta deleted file mode 100644 index 530352f..0000000 --- a/Runtime/Plugins/Android/GuruSDKRes.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 2b8b5d4f2c934dd98f968c0fe7918c2e -timeCreated: 1706057798 \ No newline at end of file