我在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设置和配置
答案 0 :(得分:4)
只需从AcceptExternalModificationsToPlayer
移除BuildOptions
。
<强> BuildOptions.AcceptExternalModificationsToPlayer 强>
在Android上,此设置将创建一个新的Eclipse项目。现有的Eclipse项目设置更改将被丢弃。
来源: http://docs.unity3d.com/ScriptReference/BuildOptions.AcceptExternalModificationsToPlayer.html
好的,我必须承认,它并非100%清楚,但这是&#34;开关&#34;更改,直接构建.apk
文件,而不是创建Android项目。
所以在你的情况下,只需改变
BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
到
BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.None);
您可能需要查看所有不同的BuildOptions
,例如如果你想让你的构建可调试(能够将MonoDevelop调试器附加到它=&gt; BuildOptions.Development | BuildOptions.AllowDebugging
)
来源: http://docs.unity3d.com/ScriptReference/BuildOptions.html
答案 1 :(得分:-1)
d4Rk是正确的,除非您知道自己在做什么,否则buil doption应该设置为none。
我最近遇到了同样的问题,经过一天的搜索和深入研究。
刚刚在我的构建工具脚本中找到了一行:
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
我不记得我写它的时候..所以只是评论了一下,然后buildpipeline构建了apk agian ..