1、流程
Unity打包 apk,會把Unity安裝目錄下的默認 AndroidManifest.Xml 文件覆蓋到apk中去,同時還會拷貝該文件所在目錄下的其它默認設置文件,如 res 和 assets 文件夾。
AndroidManifest.Xml 主要是用來設置一些權限,如 Unity打包時進行的 PlayerSettings 設置就會體現在這個文件中。
我們在打包的時候,Unity會先檢測工程目錄的 Assets/Plugins/Android 目錄下有沒有 AndroidManifest.Xml 這個文件,如果有則使用該文件,如果沒有則使用 Unity 安裝目錄下的 AndroidManifest.Xml 文件
Unity 命令行有多個參數,常用的有
-projectPath 指定項目目錄 -executeMethod 執行某個靜態方法,該類文件放於 Editor 文件夾下 -quit 執行完命令后,自動關閉 unity -batchmode 后台運行unity,不顯示界面。 -logFile 指定編輯器日志文件
如我們在 Editor文件夾下新建一個 AutoBuild.cs ,代碼如下:
using UnityEditor; public class AutoBuild { public static void BuildAndroid() { string[] levels = { "Assets/Scenes/GameScene.unity"}; BuildPipeline.BuildPlayer(levels, "monster.apk", BuildTarget.Android, BuildOptions.None); } }
這樣就可以通過下面的命令自動編譯了:
"C:\Program Files\Unity\Editor\Unity.exe" -projectPath D:\src\MonsterBook\Trunk\Client\MonsterBook -executeMethod AutoBuild.BuildAndroid project-$1
-quit -batchmode -logFile uerror.log
更新ADT時,會提示 dl-ssl.google.com 這個地址無法訪問,通過站長工具超級PING檢測,國內全部被封,所以修改 hosts 文件這條路走不通了。最后在網上找了一個 proxy 代理,mirrors.neusoft.edu.cn:80 ,然后把設置強制將 https 改為 http 模式即可。