using System.IO; using UnityEditor; using UnityEngine; namespace Guru { public class AdjustSignatureHelper { private static readonly string AndroidLib = "adjust-android-signature-3.13.1.aar"; private static readonly string iOSLib = "AdjustSigSdk.a"; public static void DeployFiles() { var dir = GetParentDir(); var files = $"{dir}/Files"; if (Directory.Exists(files)) { string from, to; bool res; from = $"{files}/{AndroidLib}.f"; to = $"{Application.dataPath}/Plugins/Android/{AndroidLib}"; res = CopyFile(from, to); if (res) Debug.Log($"Copy {AndroidLib} to {to} success..."); from = $"{files}/{AndroidLib}.f.meta"; to = $"{Application.dataPath}/Plugins/Android/{AndroidLib}.meta"; CopyFile(from, to); from = $"{files}/{iOSLib}.f"; to = $"{Application.dataPath}/Plugins/iOS/{iOSLib}"; res = CopyFile(from, to); if (res) Debug.Log($"Copy {iOSLib} to {to} success..."); from = $"{files}/{iOSLib}.f.meta"; to = $"{Application.dataPath}/Plugins/iOS/{iOSLib}.meta"; CopyFile(from, to); AssetDatabase.Refresh(); } else { Debug.Log($"Files not found: {files}"); } } private static string GetParentDir() { var guids = AssetDatabase.FindAssets(nameof(AdjustSignatureHelper)); if (guids != null && guids.Length > 0) { var path = AssetDatabase.GUIDToAssetPath(guids[0]); var dir = Directory.GetParent(Path.GetFullPath(path)); return dir.FullName; } return Path.GetFullPath($"{Application.dataPath}/../Packages/com.guru.unity.sdk.core/Runtime/GuruAdjust/Editor/Signature"); } private static bool CopyFile(string source, string dest) { if (File.Exists(source)) { if (!File.Exists(dest)) { File.Delete(dest); } else { var destDir = Directory.GetParent(dest); if(!destDir.Exists) destDir.Create(); } File.Copy(source, dest, true); return true; } Debug.Log($"File not found: {source}..."); return false; } } }