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

Buildozer打包Kivy+SQLite3 Android APK遇权限拒绝错误求解决

解决Buildozer打包时sqlite-amalgamation移动权限拒绝问题
  • 检查并修复目录权限
    打包失败大概率是项目目录或Buildozer缓存目录的权限归属异常,执行以下命令把权限转回当前用户:

    sudo chown -R $USER:$USER 你的项目完整路径
    sudo chown -R $USER:$USER ~/.buildozer
    

    注意不要用root用户直接运行Buildozer,这是权限问题的常见诱因。

  • 清理缓存后重新打包
    缓存的sqlite-amalgamation文件可能损坏或权限异常,先清理缓存再重新拉取依赖:

    buildozer android clean
    rm -rf ~/.buildozer/android/platform/python-for-android/builds/你的项目名/sqlite3
    buildozer android debug
    
  • 指定sqlite3版本或禁用自动下载
    在buildozer.spec中添加配置,强制指定稳定版本的sqlite3,避免自动下载的包出现权限问题:

    requirements = kivy,sqlite3==3.35.4
    android.add_aars = sqlite-android-3.35.4.aar
    

    如果你的项目已经自带sqlite3本地库,可直接禁用Buildozer的自动更新:

    android.skip_update = True
    
  • 临时用sudo应急打包(不推荐长期使用)
    紧急情况下可以用root权限执行打包,但之后要修复生成文件的权限:

    sudo buildozer android debug
    sudo chown -R $USER:$USER bin/
    

    长期用sudo会导致后续更多权限连锁问题,仅作为临时解决方案。

补充:sqlite-amalgamation是python-for-android为Buildozer自动下载的合并版sqlite源码,权限拒绝通常是缓存目录所有者不是当前用户,或下载的文件被系统安全工具锁定。

内容的提问来源于stack exchange,提问作者이지응

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:05:22