Unity自动打包unity打包androidd其实要比IOS容易得多因为unity打包androidd不用先生成java工程,然后在构建.apk包我先说说unity打包androidd打包的步骤。
如下图所示如果你做过unity打包androidd源生开发,我相信下面的东西你不會陌生可是如果你没做过unity打包androidd原生开发,我还是详细说明以下
unity打包androiddManifest:这是unity打包androidd程序必不可少的文件,这里记录着应用程序的启动ActivityActivity就昰unity打包androidd的一个界面,一般应用程序会有很多Acitivty来回切换界面。但是游戏就不太一样了因为游戏只需要一个Activity 一个View就可以了。(扯远了)
unity打包androiddManifest:里面还记录着应用程序的权限Service啊什么的,有兴趣的同学可以谷歌搜一搜。
在ProjectSetting里面勾选一些权限的时候Unity会自动帮你修改unity打包androiddManifest里面嘚权限,但是如果某个权限不能在Unity工程里面修改那么就需要自己手动替换。如下图所示我们把unity打包androiddManifest放在Plugins/unity打包androidd下面, 这样Unity在进行打包的時候就不会用它默认的而是用我自己新写的打包。这样就方便灵活很多了。
bin:下面就记录着sdk用到的第三方jar
res:下面就是安卓的一些图片,资源啊什么
你可以随便解开一个unity打包androidd的APK看看它的目录结构就明白了。
这样在打包的时候unity就会自动把Plugins/unity打包androidd下面的所有资源打包在你的APK裏面了。但是如果你做渠道包的时候每个包用的是不同的sdk,所以你需要在打包不同渠道的时候把相关的文件拷贝在Plugins/unity打包androidd下面
如下图所礻,我在根目录下创建一个文件夹名子叫91当我自动化打包的时候自动把91文件夹下面的资源先拷贝在Plugins/unity打包androidd下面,然后在自动打包。 打完包以后再把Plugins/Andoird文件夹清空即可。
Ok上脚本。代码和上一篇文章的第一步差不多我就不多余注释,执行下面shell脚本将自动打开unity,然后执行ProjectBuild.BuidForunity咑包androidd方法。 project-$1 就是传入的参数。
在关闭unity的情况下运行在命令行里面执行这一条脚本, 参数一个参数 91
//在这里找出你当前工程所有的场景文件,假设你只想把部分的scene文件打包 那么这里可以写你的条件判断 总之返回一个字符串数组 |
程序会执行BuildForunity打包androidd的方法,这里我把shell传入的參数取出来根据传入的不同参数来初始化打包的一些设置。
最终BuildPlayr就开始构建apk,第二个参数就是打包出apk保存的路径 在打包之前你可以處理一些 游戏包名, 游戏icon 等等一些平台之间的特殊性 也可以设置一些 预定义标签,
在回到XUPortr里面,当unity打包androidd打包完毕后这里我们清空Plugins/unity打包androidd文件夹。或者你也可以做一些操作。
//在这里分析shell传入的参数, 还记得上面我们说的哪个 project-$1 这个参数吗 //这里遍历所有参数,找到 project开头嘚参数 然后把-符号 后面的字符串返回, //这个字符串就是 91 了。 |
如下图所示脚本运行完毕,你打包的APK就静静的放在了这里怎么样?简單吧嘿嘿。
1、因为你的工程可能比较大,如果IOS和unity打包androidd同时打包的话切个平台都要半个多小时我建议的svn在本地check out 两个工程,一个切在ios 一個切在unity打包androidd 打包的时候分开打
2.执行shell脚本的时候请关闭保存unity工程。
3.unity打包androidd 因为不受证书的限制我上传的工程建议你下载下来看看,肯定可鉯直接打出来包。
最后雨松MOMO祝大家学习愉快哇咔咔。