|
在正确下载安装Ren'Py,并导入选择所需打包项目后
Ren'py的安卓打包步骤如下:
1.环境部署
1.1 OpenJDK 8
https://adoptium.net/temurin/releases/?version=8
下载 JDK 最新的长期支持版本,选择适合自己平台的版本.
以 Windows 为例,下载 x64 zip版本,解压放置到指定工作路径更名为 jdk
1.1.1 环境变量配置
新建 cmd 文件,放置到与jdk同级目录中,复制粘贴运行批处理代码:
@echo off
chcp 65001
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set JAVA_HOME=%~dp0\jdk
set /P EN=请确认后按 回车键 开始设置!
setx "JAVA_HOME" "%JAVA_HOME%" -M
setx "CLASS_PATH" "%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar" -m
for /f "tokens=1,* delims=:" %%a in ('reg QUERY "%regpath%" /v "path"') do (
set "L=%%a"
set "P=%%b"
)
set "Y=%L:~-1%:%P%"
setx path "%%JAVA_HOME%%\bin;%Y%" -m
echo === 请按任意键退出!
pause>nul
随后 win+R 运行cmd,并执行 java -version,若正确输出 jdk 信息即为配置成功
1.2 Gradle
若 RenPy 自身部署 Gradle 进程失效,可尝试手动下载官方推荐版本并解压放置到以下目录中
https://downloads.gradle.org/distributions/gradle-6.1.1-bin.zip
X:\Users\你的用户名\.gradle\wrapper\dists\gradle-6.1.1-bin\4i3ntwqiazourd86epxcz427c
1.3 安装 Android SDK 与 Rapt-Renpy
进入操作-安卓 选项,保持良好网络连接与代理,点击 "安装 SDK",待进度完成重启即可
2.打包
依次执行 生成密钥,配置 Gradle,注意包名只包含 ASCII 字母与点,分配与项目容量匹配的内存,选择 Universal APK(Play Bundle 为 GooglePlay专用格式),构建即可
若无报错构建成功,但设备安装闪退且Renpy模拟成功,说明不太可能是项目代码问题,而是设备兼容问题,或是 Gradle 构建问题
1.可尝试修改 Renpy目录下 renpy-8.1.1-sdk\rapt\templates\app-build.gradle,找到
defaultConfig {
applicationId "{{ config.package }}"
minSdkVersion 19
targetSdkVersion 33
versionCode {{ config.numeric_version }}
versionName "{{ config.version }}"
}
将 targetSdkVersion 更改为 33 对应 Android 13,不过一般没必要 8.0.3 / 7.5.3 已加入支持
2.根据上游的Renpy Android Package Tool更新日志:"rapt: More changes required to build with the latest android plugin.",新版本提高了JDK版本至17,可以等等新版本
https://github.com/renpy/renpy-build/tree/master/rapt
3.Renpy Android Package Tool 的底层支持 pygame_sdl2 年久失修缺乏维护在面临复杂高版本的安卓,难免出现兼容性问题
https://github.com/renpy/pygame_sdl2
rapt 早期参考https://github.com/renpytom/rapt-pygame-example
解决方法
相关依赖:
python-for-android
pygame_sdl2
buildozer
1.搭建 buildozer 环境
该环境必须 Linux,因为我的设备不兼容LinuxMint,经过特殊处理的Windows Server也难以安装 WSL,故暂时没有条件测试.
更多信息可参考 buildozer 的官方文档https://buildozer.readthedocs.io/en/latest/
2.在 python-for-android recipes 里面增加 pygame_sdl2 (可将 recipes 的 pygame_sdl2 拷贝到 python-for-android 相应目录)
3.buildozer.spec requirments 中增加 cython,pygame_sdl2
4.buildozer 打包
|
|