使用终端上的命令构建统一的 APK

You*_*sef 5 android unity-game-engine apk

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

现在我在 Assets/Editor 中有一个 PerformBuild.cs 文件

我在里面调用:

BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
Run Code Online (Sandbox Code Playgroud)

然而,这只是为它生成 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
}
Run Code Online (Sandbox Code Playgroud)

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

/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -quit -executeMethod PerformBuild.androidBuild
Run Code Online (Sandbox Code Playgroud)

我已经安装并配置了 android sdk

d4R*_*4Rk 5

只需AcceptExternalModificationsToPlayerBuildOptions.

BuildOptions.AcceptExternalModificationsToPlayer

在 Android 上,此设置将创建一个新的 Eclipse 项目。现有的 Eclipse 项目设置更改将被丢弃。

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

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

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

BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
Run Code Online (Sandbox Code Playgroud)

BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.None);
Run Code Online (Sandbox Code Playgroud)

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

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