我有一个关于unity3d(在mac上工作)的项目,我正在尝试从命令行生成android apk文件。这可行吗?
现在我在assets/editor中有一个performbild.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

最佳答案

只需从AcceptExternalModificationsToPlayer中删除BuildOptions
buildoptions.acceptexternalmodificationstoplayer
在android上,此设置将创建一个新的eclipse项目。现有的eclipse项目设置更改将被丢弃。
来源:
http://docs.unity3d.com/ScriptReference/BuildOptions.AcceptExternalModificationsToPlayer.html
好吧,我必须承认,这并不是百分之百的清楚,但这是要改变的“开关”,直接构建一个.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

10-04 19:54