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
相关产品推荐
相关产品推荐

