首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之Android使用ANT自动打包(七十九)
2014
12-28

Unity3D研究院之Android使用ANT自动打包(七十九)

好久没有写博客了,并不是我不想写,而真是没有时间写。感谢这段时间大家的留言,如果我没有回复的请见谅。最近做了一段时间Android渠道包的接入也算积累了点经验,希望可以帮助以后的朋友们,嘿嘿。

Unity打Android渠道包的传统步骤是,先把SDK放在plugins目录下,设置好证书后最后用unity直接生成.apk。 这是的确是正确的打包方式,但是这样做非常容易出错,SDK不能直接放在plugins目录下,必须要先编译。有些渠道的SDK TMD不是编译好的.jar 而是一个android工程,你必须要让你的unity工程去依赖它。。。所以这样做一不小心就会出错。。

为了彻底解决容易出错的问题,那么我们一定要使用Android的Ant来打包。结合到Unity的工作原理就是,先把unity工程导出成一个android工程,然后在把渠道的 assets lib 依赖 以及icon 拷贝进去,最后通过ant直接生成apk来。

1.先将unity导出成android工程,大家可以看我以前的文章。

http://www.xuanyusong.com/archives/3162

2.拷贝assets lib 依赖 以及icon

其实无非也就是shell脚本的 cp命令,多余的我也就不说了。这里我需要说一下splash启动图,unity不允许在android工程里面设置启动图,必须要在unity里设置。可以提前把一张启动图放在unity里面,然后在ProjectSetting里面关联上启动图,自动打包的时候根据不同的渠道将splash图片覆盖一下unity工程里面的图片,然后导出即可。

3.Android 与 ant 环境搭建

http://developer.android.com/sdk/index.html 建议你直接下载ADT ,这里不仅包含SDK也包含开发编辑器。如下图所示eclipse就是ADT开发编辑器,sdk就是android的sdk

Unity3D研究院之Android使用ANT自动打包(七十九) - 雨松MOMO程序研究院 - 1

 

如下图所示,记得要SDK都更新到最新,不然ant打包会报错。

Unity3D研究院之Android使用ANT自动打包(七十九) - 雨松MOMO程序研究院 - 2

 

打开ADT(Eclipse)在导航菜单栏中选择Help -> Install New Software

Work with中输入 http://download.eclipse.org/releases/juno

如下图所示,在下拉列表中选择General Purpose Tools 找到Eclipse Plug-in Development Environment (因为我已经装过了,所以这里不显示) 安装即可。

Unity3D研究院之Android使用ANT自动打包(七十九) - 雨松MOMO程序研究院 - 3

 

安装完毕后,打开终端直接输入 open -e .bash_profile

如下图所示,将ANT 和Android的环境变量都配置完毕。记得要关闭一下本文以及终端,方可生效。

Unity3D研究院之Android使用ANT自动打包(七十九) - 雨松MOMO程序研究院 - 4

到这一步ant的环境已经配置完毕。如下图所示,在ANT打包前我们要先把android工程生成出来。

AndroidManifest.xml 游戏名 包名 activity service都在这里,这里不做过多的解释了。。

assets:unity的.so放在这里。如果渠道包assets下面有文件也一并放在这里。

bin:就不用管了,他是android编译生成出来的。

build.xml:ant打包必备的资源文件,之前我们配置的环境变量就是为了它。下面我在贴出来内容。

gen:生成出来的,不用管了。

keystore.properties:证书的描述文件,证书的路径、密码啊啥的都在这里。

libs:将渠道libs文件夹下的拷贝机进来。

project.properties:如果渠道包是一个工程,那么就必须在这里进行依赖。这里写的就是依赖工程的路径。

res:资源

src:代码

Unity3D研究院之Android使用ANT自动打包(七十九) - 雨松MOMO程序研究院 - 5
build.xml

最后就是ant打包的指令了。

tempEclipsePath:是android 工程路径,先clean在release。

ant -buildfile ${tempEclipsePath}/build.xml clean
ant -buildfile ${tempEclipsePath}/build.xml release

这样包就打在了bin目录下面,可以mv把apk拷贝到你需要的目录下面就好了。

mv -f ${tempEclipsePath}/bin/Game-release.apk ${out}

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。