namespace Guru.Editor { using System; using System.IO; using UnityEngine; /// /// Create androidlib assets /// public class AndroidLibHelper { private static readonly string PluginsRoot = "Plugins/Android"; private static readonly string Extends = "androidlib"; private static readonly string ProjectPropertiesName = "project.properties"; private static readonly string ProjectPropertiesContent= "target=android-9\nandroid.library=true"; private static readonly string AndroidManifestName = "AndroidManifest.xml"; private static readonly string AndroidManifestContent = "\n\n"; public static bool IsEmbeddedAndroidLibExists(string fileName) { string dir = Path.GetFullPath($"{Application.dataPath}/{PluginsRoot}/{fileName}.{Extends}"); return Directory.Exists(dir); } public static string CreateLibRoot(string packageName, string fileName = "") { if (string.IsNullOrEmpty(packageName)) return ""; if(string.IsNullOrEmpty(fileName)) fileName = packageName; string dir = Path.GetFullPath($"{Application.dataPath}/{PluginsRoot}/{fileName}.{Extends}"); if (Directory.Exists(dir)) { return dir; } Directory.CreateDirectory(dir); string path = ""; string content = ""; //------ Create project.properties ------ content = ProjectPropertiesContent; path = $"{dir}/{ProjectPropertiesName}"; File.WriteAllText(path, content); // ------ Create AndroidManifest.xml ------ content = AndroidManifestContent.Replace("{0}", packageName); path = $"{dir}/{AndroidManifestName}"; File.WriteAllText(path, content); return dir; } } }