You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Buildozer打包Android应用时目标API配置不生效始终默认API27

问题根因

Buildozer 1.3默认绑定的python-for-android(p4a)稳定版存在硬编码缺陷:即使构建日志正确读取了你配置的android.api = 31参数,在最终生成AndroidManifest清单文件、执行Gradle打包时,仍会强制写入targetSdkVersion 27,和你本地配置、SDK安装的API版本无关。你当前使用的NDK 21d不在官方兼容范围内,会进一步导致构建参数不生效。

修复步骤
  • 强制指定p4a为修复了该bug的分支版本,绕开老版本硬编码问题。在buildozer.spec中添加或修改对应配置项:
p4a.branch = master
  • 修正NDK、AndroidX等配套构建参数,匹配API 31的构建要求,修改spec中对应字段为以下值:
android.ndk = 25b
android.enable_androidx = True
android.sdk = 31
android.build_tools = 31.0.0
  • 全量清理历史构建缓存,避免旧缓存覆盖新配置,在项目根目录执行命令:
buildozer android clean
rm -rf ~/.buildozer/android/platform/build-*
  • 重新执行构建命令。构建完成后可先解压生成的APK,检查根目录下AndroidManifest.xml内的targetSdkVersion字段,确认数值为31后再上传Google Play Console。

注意:如果构建时提示NDK/SDK下载失败,可提前手动下载对应版本放到~/.buildozer/android/platform/目录下,不要使用系统全局安装的SDK/NDK,避免路径识别错误。

内容的提问来源于stack exchange,提问作者Tom Uchytil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:27:25