欢迎参与讨论,转载请注明出处。
前言
近日在搭建macOS下的LÖVE for Android遇到了不少问题,虽然有官方Wiki的帮助,但却发现了不少实操中才会遇到的问题,特此记录,以便后人。
JDK
由于安卓SDK只支持到了JDK8,所以只好装JDK8,新版将无法打开安卓SDK。可选择前往官网或者使用Homebrew下载。使用Homebrew如此输入便可:
SDK
由于谷歌的尿性,安卓SDK的官网上已无合适的安卓SDK提供下载了,只剩下Android Studio和Android SDK命令行工具。此命令行工具实际上缺少了不少东西,所以也不推荐。本人推荐前往AndroidDevTools进行下载,认准SDK Tools项便是。
下载完成后便需要安装各种工具了,使用命令行运行SDK/tools目录下的android即可打开SDK安装界面,然后按照官方Wiki所言般安装相关工具即可。
值得一提的是Android Support Library,在谷歌官方源似乎已经找不到了,可以考虑换源或者直接下载官方文件,下载完成后置于SDK/extras目录下即可。
NDK
这里官方Wiki便开始坑人了:Once you have the SDK tools you can get the NDK version r9d from here (Download acording to your system).
事实上r9d会因为某个部件版本过低而对接失败,必须是小于15大于9的版本。去AndroidDevTools下载即可。
Ant
这个没什么坑点,照常下载即可。不过ant将会作为一个常用命令去使用,所以推荐在Homebrew进行安装:$ brew install ant
即可。
环境变量
把love-android-sdl2下载后(当然我使用的是0.10.2版本,所以下载的是这个),仍需要配置环境变量,参考官方Wiki即可。大致上是在~/.bash_profile
文件添加SDK与NDK的路径:
然后是在/etc/paths.d/android-sdk
文件添加SDK的tools与platform-tools以及ant的bin目录:
编译
环境变量部署完毕后,便可以开始编译LÖVE for Android工程了(ndk-build是NDK文件夹下的一个工具):
若是一切平安无事的话,便接近大功告成了!
发布
首先需要在LÖVE for Android目录下新建assets文件夹,然后将游戏打包命名为game.love
并放置过去。然后在LÖVE for Android目录下执行$ ant debug
即可,稍等便会于bin目录下生成apk文件。
当然这样生成的apk文件与从官网直接下载的APK包外表无异,所以仍需要定制化,参考此篇即可,不再复述。
后续问题
- 由于在大多数硬盘格式上是不区分大小写的,而到了
.love
文件下则会区分。这点需要仔细检查。 - 由于LÖVE for Android使用的LuaJIT版本为2.1,而普世平台(Windows/macOS/Ubuntu)使用的版本还在2.0.4,而2.1与2.0的字节码无法兼容,所以需要使用2.1版本进行生成。
- 在手机上对于GLSL的格式要求更为严格,详情参考此篇,总体来说便是:不要写整数,小数点结尾也不要带f。
后记
其实当年也曾在Windows系统部署过,却未曾有现在这般多坑,可见流行系统也有流行系统的好处啊。这篇文章似乎都可以投稿到他们仓库了呢(笑)