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 FilesUnityEditorUnity.exe" -projectPath D:srcMonsterBookTrunkClientMonsterBook -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 模式即可。