编译阿拉德

最近开始学习阿拉德的源代码。

刚开始折腾,就踩到一个大坑,几乎浪费了我一个礼拜时间。

这个坑就是Unity版本问题,网上的源码几乎都是Unity5.6.3的。先是编译PC版的代码,一下子就成功了,这让我信心大增,然后开始编译安卓版。老版的安卓sdk现在都不好找了,好不容易找到一个,配置好了,开始编译。没想到编译速度奇慢,要十几个小时才能完成。睡了一觉,早上起来发现居然还出错中断了。然后发现了代码里面好多报错信息,应该是原始版本小于5.x导致的兼容错误,因此不得不手工改了一堆代码,再编译,又该睡觉了。早上发现编译完全没错了,可是apk打包失败了,这就更糟了,都不告诉我错误怎么改?看到有人说可能是sdk版本原因会导致编译失败,于是又下载了几个sdk版本来试,结果全部失败。

换个思路,我考虑用排除法。从游戏中随便抽取了几个角色构建了个新场景,这次编译成功了,说明java和安卓sdk等编译程序没问题,估计是配置错误。目测排除法应该能行,但问题来了,每编译一次要十几个小时,换了台高配的电脑也要花5小时,估计等我排除完了,好几年都过去了。

不得不再换个思路,考虑升级版本了。202x版是最佳选择,不敢用最新的,就选了2020版。然后试破解版,发现破解版没安卓sdk,找了个有sdk的,又发现下载不了ndk,还是没法编译安卓。那就只好用正版的免费个人版了,免费版有什么限制还不太了解,反正能编译安卓就行了。直接去官网下载了Unity Hub,很顺利就装上了2020版和安卓sdk。开始编译,毫无悬念的又出现一大堆兼容错误。没办法,慢慢改吧,方便改的就直接改了,不方便的就直接注释掉,其实也没用多长时间。改完后,编译又失败,但这次另我惊喜的是编译只用了5分钟,而且看到了打包失败的报错信息,找到错误的配置文件改了一下,终于编译出了一个pak文件。

这次有点小激动,但也没报什么幻想,因为pak文件一打开就直接闪退了。怀疑还是配置文件有问题,就生成了一个默认的AndroidManifest.xml,只做了点小改动就编译。这次终于不闪退了,但Unity的logo闪过之后就直接黑屏了。不管怎么说,这是个好兆头,虽然黑屏但程序应该是正常运行了,只是场景没正确加载。决定验证一下,就加了个自己做的简单方块场景作为第一个加载的场景,再次编译打开,终于看到了我做的方块。

走到这一步,基本上可以宣告成功了,剩下的问题无非就是改改代码,调试输出一下,扫除那些小障碍就行了。

总结:时过境迁,旧版的东西实在用不起了。

猜你喜欢

转载自blog.csdn.net/icegray1/article/details/132695603