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;
 | |
|         }
 | |
| 
 | |
|     }
 | |
| } |