如何配置让Buildozer打包的Python应用预开屏适配设备屏幕宽高比
Buildozer 打包安卓应用预开屏(闪屏)屏幕尺寸适配配置方法
buildozer.spec 核心适配配置步骤
- 调整闪屏布局规则,取消固定尺寸锁定
找到配置文件中对应参数,修改为以下值:# 取消闪屏在屏幕中央的固定定位,让显示区域铺满整个屏幕 android.splash_is_centered = False # 允许闪屏素材随屏幕尺寸自动拉伸,无变形保留完整显示 android.splash_stretchable = True # 关闭闪屏阶段的权限弹窗占位逻辑,避免预留多余固定尺寸的黑色区域 android.splash_show_permissions = False - 解锁全面屏显示比例限制
Buildozer 默认打包的应用会被系统锁定为 16:9 屏幕比例,在20:9及以上比例的全面屏设备上会出现闪屏上下黑边,修改对应配置:
如果 buildozer.spec 中已存在# 解除应用最大屏幕比例限制,支持全屏显示 android.meta_data = android.max_aspect_ratio=2.4android.meta_data的原有配置,无需重复新增配置行,直接在原有配置值的末尾用逗号分隔添加上android.max_aspect_ratio=2.4即可,避免多配置行冲突。 - 替换内置固定尺寸闪屏素材
Buildozer 内置的闪屏为低分辨率固定尺寸素材,是导致屏幕不匹配的核心原因,需要替换为多密度适配的自定义素材:- 在项目根目录下创建自定义资源目录结构
./src/main/res - 在对应密度子目录下放好对应分辨率的闪屏图,文件统一命名为
splash.png:- drawable-mdpi(160dpi):480*800px
- drawable-hdpi(240dpi):720*1280px
- drawable-xhdpi(320dpi):960*1600px
- drawable-xxhdpi(480dpi):1440*2560px
- drawable-xxxhdpi(640dpi):2160*3840px
- 在 buildozer.spec 中指定自定义资源的路径,覆盖内置默认素材:
android.add_resources = ./src/main/res
- 在项目根目录下创建自定义资源目录结构
打包生效验证说明
所有配置修改完成后,必须先执行
buildozer android clean清除历史打包缓存,再重新执行buildozer android debug生成安装包。如果直接在旧缓存基础上打包,内置的固定尺寸闪屏配置会残留在安装包内,导致适配效果失效。
内容的提问来源于stack exchange,提问作者VaclavJirka
相关产品推荐
相关产品推荐

