在终端上使用命令在 unity 上构建 APK

Build an APK on unity using a command on the terminal

我在 Unity3d 上有一个项目(在 mac 上工作),我正在尝试从命令行生成 android apk 文件。这可行吗?

现在我在 Assets/Editor

中有一个 PerformBuild.cs 文件

然后我在里面调用:

BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);

然而,这只是为它生成 Android 项目,而不是 apk。

我可以使用 cs 构建脚本直接生成 APK,还是必须生成项目,将其导入到 eclipse,然后构建 apk?

谢谢

附加信息:

这是我脚本中的完整方法

[UnityEditor.MenuItem("CUSTOM/Test Android Build Step")]
static void androidBuild ()
{
    Debug.Log("Command line build android version\n------------------\n------------------");

    string[] scenes = GetBuildScenes();
    string path = GetBuildPathAndroid();
    if(scenes == null || scenes.Length==0 || path == null)
        return;

    Debug.Log(string.Format("Path: \"{0}\"", path));
    for(int i=0; i<scenes.Length; ++i)
    {
        Debug.Log(string.Format("Scene[{0}]: \"{1}\"", i, scenes[i]));
    }

    Debug.Log("Starting Android Build!");
    BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
    BuildPipeline.buil
}

我使用以下命令从命令行调用它:

/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -quit -executeMethod PerformBuild.androidBuild

并且我有 android sdk 设置和配置

只需从 BuildOptions 中删除 AcceptExternalModificationsToPlayer

BuildOptions.AcceptExternalModificationsToPlayer

On Android, this setting will create a new Eclipse project. Existing Eclipse project setting changes will be discarded.

来源: http://docs.unity3d.com/ScriptReference/BuildOptions.AcceptExternalModificationsToPlayer.html

好吧,我必须承认,这不是 100% 清楚的,但这是改变的“开关”,直接构建一个 .apk 文件而不是创建一个 Android 项目。

所以在你的情况下,只需更改

BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);

BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.None);

您可能想看看所有不同的 BuildOptions,例如如果你想让你的构建可调试(以便能够将 MonoDevelop 调试器附加到它 => BuildOptions.Development | BuildOptions.AllowDebugging

来源: http://docs.unity3d.com/ScriptReference/BuildOptions.html

d4Rk 是对的,build doption 应该设置为 none,除非你知道你在做什么。
我最近遇到了同样的问题,搜索并演练了一天。
刚刚在我的构建工具脚本中发现了一个特殊的行:

EditorUserBuildSettings.exportAsGoogleAndroidProject = true;

我不记得我是什么时候写的..所以只是评论了它并且 buildpipeline build apk agian..