查看Unity Command Line选项和Unity API参考手册的文档,我无法找到将Unity项目导出到Android Studio项目的方法。 http://docs.unity3d.com/Manual/CommandLineArguments.html
有一个用于构建android项目BuildTarget.Android
的API调用
但我希望将其导出为Google Android项目,可以从构建设置手动完成。
答案 0 :(得分:2)
您必须在Unity 3d中创建以下脚本文件,将其放在资产的编辑器子文件夹中。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class CIEditorScript
{
static string[] SCENES = FindEnabledEditorScenes ();
static string APP_NAME = "LuauUnity";
static string TARGET_DIR = "target";
[MenuItem ("Custom/CI/Build iOS")]
static void PerformIOSBuild ()
{
GenericBuild (SCENES, TARGET_DIR + "/ios/", BuildTarget.iOS, BuildOptions.None);
}
[MenuItem ("Custom/CI/Build Android")]
static void PerformAndroidBuild ()
{
GenericBuild (SCENES, TARGET_DIR + "/android/", BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
}
private static string[] FindEnabledEditorScenes ()
{
List<string> EditorScenes = new List<string> ();
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes) {
if (!scene.enabled)
continue;
EditorScenes.Add (scene.path);
}
return EditorScenes.ToArray ();
}
static void GenericBuild (string[] scenes, string target_dir, BuildTarget build_target, BuildOptions build_options)
{
EditorUserBuildSettings.SwitchActiveBuildTarget (build_target);
string res = BuildPipeline.BuildPlayer (scenes, target_dir, build_target, build_options);
if (res.Length > 0) {
throw new Exception ("BuildPlayer failure: " + res);
}
}
}
请点击此处:https://gist.github.com/alexsorokoletov/531738ce8e5681437f6d
之后,您可以运行以下命令行(适用于Android)
$UNITYCMD -batchmode -nographics -silent-crashes -projectpath $PROJECTPATH -logfile $U3DLOGFILE -executeMethod CIEditorScript.PerformAndroidBuild -quit
或iOS版
$UNITYCMD -batchmode -nographics -silent-crashes -projectpath $PROJECTPATH -logfile $U3DLOGFILE -executeMethod CIEditorScript.PerformIOSBuild -quit
其中:
$ UNITYCMD是Unity应用程序文件或可执行文件,
$ PROJECTPATH是Unity项目的路径
$ U3DLOGFILE是Unity构建日志文件的路径