unity 内写一个一键打包脚本,导出安卓工程包,在导出工程时使用gradle命令生成对应.so文件,帮我写一个一键打包脚本
时间: 2024-02-24 15:53:50 浏览: 158
好的,以下是一个简单的一键打包脚本,可以导出安卓工程包并使用gradle命令生成对应的.so文件:
```csharp
using UnityEngine;
using UnityEditor;
using System.IO;
public class AndroidBuilder : MonoBehaviour
{
[MenuItem("Build/Android")]
public static void BuildAndroid()
{
// 安卓工程的路径
string androidPath = Path.Combine(Application.dataPath, "../Builds/Android");
// 删除旧的安卓工程
if (Directory.Exists(androidPath))
{
Directory.Delete(androidPath, true);
}
// 创建新的安卓工程目录
Directory.CreateDirectory(androidPath);
// 导出安卓工程
BuildPipeline.BuildPlayer(GetScenes(), androidPath, BuildTarget.Android, BuildOptions.None);
// 使用gradle命令生成.so文件
string[] args = { androidPath };
var processInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe", "/c gradlew.bat build --project-dir " + args[0]);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;
var process = System.Diagnostics.Process.Start(processInfo);
process.WaitForExit();
Debug.Log("Build Android Finished!");
}
// 获取场景列表
private static string[] GetScenes()
{
string[] scenes = new string[EditorBuildSettings.scenes.Length];
for (int i = 0; i < scenes.Length; i++)
{
scenes[i] = EditorBuildSettings.scenes[i].path;
}
return scenes;
}
}
```
将上述代码保存到一个名为AndroidBuilder.cs的文件中,并放置到Unity项目的Assets/Editor目录下。然后在Unity编辑器中选择菜单栏中的Build -> Android,即可执行一键打包脚本,导出安卓工程包并生成对应的.so文件。
阅读全文