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

Buildozer构建Android应用报错:根目录有main.py却提示未找到

解决Buildozer打包时提示"No main.py(c) found"的问题

针对你遇到的问题,给你几个排查和解决方向:

  • 检查buildozer.spec的路径配置
    打开你的buildozer.spec文件,找到source.dir这一行,确认它的值是.(代表当前根目录),而不是某个子目录。如果之前修改过这个配置,很可能导致Buildozer找不到根目录下的main.py。

  • 确认执行Buildozer命令的路径
    必须在项目根目录下执行Buildozer构建命令,也就是和main.py、buildozer.spec同一层级的目录里运行buildozer android debug。如果是在子目录里执行,Buildozer会默认在当前子目录找main.py,自然找不到。

  • 验证文件名的正确性
    Linux系统区分大小写,确认你的入口文件确实是main.py,而不是Main.py或者main.PY这类大小写错误的文件名。

  • 彻底清理构建缓存后重试
    执行以下命令清理旧的构建缓存,然后重新构建:

    buildozer android clean
    buildozer android debug
    

    有时候旧缓存会导致路径识别异常,清理后能解决这类问题。

  • 检查spec文件的包含规则
    在buildozer.spec里找到source.include_exts,确认它包含py后缀(默认配置是包含的,但如果手动修改过可能误删),比如这行应该类似:

    source.include_exts = py,png,jpg,kv,atlas
    

另外补充一点:如果你的Flask应用是纯Web服务,打包到Android可能需要额外的适配,比如集成WebView来加载本地服务,但这是后续的问题,先解决当前找不到main.py的核心问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:29:49