2015-07-05 62 views
3

我有一個項目在Unity3d(工作在Mac上),我試圖從命令行生成android apk文件。這是可行的嗎?使用終端上的命令建立一個APK上的統一使用命令

現在我有資產/編輯

內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設置和配置

回答

5

只需從BuildOptions中刪除AcceptExternalModificationsToPlayer即可。

BuildOptions.AcceptExternalModificationsToPlayer

在Android上,此設置將創建一個新的Eclipse項目。現有的Eclipse項目設置更改將被丟棄。

來源: 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

+0

我將如何創建發佈版本?我怎麼能指定版本代碼版本名稱和簽名密鑰等 –

+0

我不記得確切,但我認爲你只是不設置'BuildOptions.Development'。對於版本代碼等檢查了這一點:https://docs.unity3d.com/ScriptReference/PlayerSettings.Android.html – d4Rk