Ren’Py支持运行安卓操作系统的设备,比如智能手机和平板电脑。由于这些设备并不100%支持Ren’Py的所有函数,在那些设备运行的包会做最小化修改。
与Ren’Py引擎分开下载的RAPT程序——Ren’Py安卓打包工具,可以创建安卓的测试版和正式版打包文件。
部分Ren’Py在安卓平台使用的库需要通过GNU Lesser/Library General Public License的认证。创作者会需要遵守Ren’Py生成版的认证规则。我们相信下列包含在app描述里的语言能够满足需求,不过最好能找个律师确认一遍。(译者注:建议把中英文都写上。)
This program contains free software licensed under a number of licenses, including the GNU Lesser General Public License. A complete list of software is available at https://www.renpy.org/l/license/.
这个程序包括一些证书下的自由软件认证,包括GNU Lesser General Public License。完整的软件列表参见 https://www.renpy.org/l/license/.
在安卓上启动一个Ren’Py游戏时,会执行下列按键绑定:
在Ren’Py支持的,基于触屏的安卓平台和基于鼠标的平台之间还是有很多重要的差异。几个重要的安卓软硬件差别在于:
renpy.input() )将受到输入法的限制,不能完全正常工作(西方语言应该可以,其他语言可能存在问题)。除此之外,还有一些由于人为因素导致的差异。
为了帮助创作者适应这些差异,Ren’Py会给予设备屏幕尺寸和性能,针对安卓自动选择界面变化。详见 界面变种 。
处于测试需求,Ren’Py支持三种安卓模拟模式。这些都通过启动器的安卓界面接入。
这个模式模拟一台基于电视的安卓设备,比如OUYA主机。按键映射为远程或控制器输入,方向键提供了导航功能。select键是回车,Esc键是菜单,PageUp键是back。
这个模式会在“电视机盲区”区域显示一个轮廓。所有“电视机盲区”区域的画面在所有电视上都不能显示。
这些模拟器可以用于快速测试项目,当然最好能在真实的硬件上做测试。模拟器不处理那些人为因素导致的事件,比如用户的“胖手指”。
Ren’Py包含一些工具能帮助创作者以包(package)为中心进行安卓游戏开发。在这个过程中,创作者会使用一台电脑生成一个安卓的包(package)并上传到创作者自己的设备上。创作者可以像其他安卓应用程序一样运行这个游戏。如果运行无误,就可以把这个包上传到Google Play等app商店了。
生成一个安卓应用程序包含4个步骤:
一旦你完成了这些步骤,就能得到一个可以运行的安卓包。当你修改了某个游戏的配置或者完整配置一个新游戏时,只需要执行步骤3;如果你要重新生成一个包,通常只需要执行步骤4。
在你生成包(package)之前,总共有3种东西需要手工下载和安装
Java Development Kit. Java开发工具包(Java Development Kit (JDK)) 包含一些RAPT需要的工具。 RAPT需要使用这些工具,包括用于生成密钥(key)和签名包的工具。JDK的下载地址为:
需要下载的是版本为8的JDK。
请注意,关注开发者的JDK与关注用户的JRE是不同的。而创作者需要JDK创建安卓包。
安卓设备 创作者在开发时需要对设备进行配置。首先需要启用设备的开发者模式,并且为电脑配置安卓开发环境。如何设置电脑的说明可以查看下面的连接:
也可以使用app的x86_64版本镜像,在安卓模拟器上运行程序(注意,模拟器不支持x86版本的镜像)。关于配置模拟器的内容超出了此文档的范围。
下一步是配置安卓SDK和你开发环境的部分。这步包括:
这步需要接入互联网。
执行这个步骤时,选择Ren’Py启动器中安卓界面的“安装SDK并创建密钥”。
RAPT会实时报告它正在做的工作。它还会将各类许可的警告信息,并询问你是否需要生成一个密钥。
Warning
RAPT生成的密钥使用一个标准密码创建。你应该使用密钥工具生成自己的签名密钥。
至少,你应该将android.keystore文件保存在一个安全的地方。你还应该将保存这个密钥的备份,因为没有这个密钥的话,你就不能上传生成的应用程序。
如果你不想每次都下载SDK,可以创建一个名为“sdk.txt”的文本文件,文件里写上已安装SDK的所在路径。
生成一个包(package)之前,你必须向Ren’Py提供一些关于游戏安卓版本的信息。在Ren’Py启动器的安卓界面,选择“配置”。
如果你需要修改这些信息——例如,你做了一个游戏的新版本——你可以重新运行配置命令。之前你配置的选项已经被记住了。
最后,你可以生成应用包并安装了。将你的安卓设备连接到你的电脑,然后在Ren’Py启动器的安卓界面选择“生成应用包并安装”。(首次安装时,你的安卓设备可能会询问你是否允许你的电脑向安卓设备安装应用。)
如果你需要将游戏的apk文件手工移植到安卓设备上的话,在Ren’Py启动器的安卓界面选择“生成应用包”。然后进入RAPT目录下的bin目录,将选取合适的文件复制到安卓设备上。之后找到安卓的文件管理应用找到对应的apk文件,打开文件执行安装。
Ren’Py中有两种模式供创作者选用,debug模式和release模式。Debug模式对测试很有用,并且可以很方便地使用Android Studio工具查看设备的日志和文件。Release模式用于生成最终上传到各应用商店的app版本。
如果要在debug模式和release模式之间切换,需要卸载app。
Ren’Py使用游戏基目录中的两个文件生成app图标。
安卓的自适应图标机制是这样工作的,将两个图标放在至少132×132像素的区域中并中央对齐,然后将前景层盖在背景层上。 有可能在这个区域之外的图像也会显示,但也可能会被遮挡住。最好在安全区域之外还预留一些出血位(bleeding)。 当拖拽图标时,两个图层可能会保持相对位置有一点移动。
关于自适应图标的更多信息,请查看:
注意那里的1dp实际上对应屏幕上4个实际像素。
当生成应用程序时,Ren’Py会将这些文件转换为不同设备的适用尺寸,并为那些支持自适应图标的设备生成静态图标。
预启动画面(presplash)是在Ren’Py完全加载之前显示的画面,比主启动界面(splashscreen)更早显示。 在安卓设备上,预启动画面特别重要,尤其是Ren’Py首次运行时需要较长时间解包运行使用的支持文件。
当设备支持Google Play时,Ren’Py可选择支持扩展APK的使用。扩展APK允许Google Play突破游戏不能大于50MB的限制。详见:
关于扩展APK工作机制的信息。 迄今为止,只支持主扩展APK,文件限制为2GB。创建扩展APK时,所有的游戏文件都会放在这个APK包中。Ren’Py会显式使用这些文件。
要将游戏配置为使用扩展APK,你需要设置两个变量:
build.google_play_key = “…” link这是与你的应用关联的Google Play证书,这个证书在Google Play开发者终端上与你应用关联的“”Monetization Setup”标签内可以找到。(确保在密钥中删除了所有的空格和换行。)
一个常见的key长这样:
define build.google_play_key = "MIIBIjANBgkqhkiG9w0BAQEFA…HGTQIDAQAB"
三个点的占位符“…”可能表示一长串字母和数字。
build.google_play_salt = ( … ) link这是一个20byte的元组,每个byte都是一个介于-128和127之间的整数。这个元组用于加密来自Google Play的信息。
一个合法(但不安全)的元组值如下:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
当在设备上安装了APK包之后,RAPT会在设备上放置扩展APK。扩展APK会是在RAPT目录的bin子目录下的一个.obb文件。
在通常操作中,用户安装应用程序时,Google Play会在设备上自动放置扩展APK。