57 lines
2.2 KiB
C#
57 lines
2.2 KiB
C#
namespace Guru.Editor
|
|
{
|
|
using System;
|
|
using System.IO;
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// Create androidlib assets
|
|
/// </summary>
|
|
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 = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"{0}\"\n android:versionCode=\"1\"\n android:versionName=\"1.0\">\n</manifest>";
|
|
|
|
|
|
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;
|
|
}
|
|
|
|
}
|
|
} |