很久以前我尝试过用buildozer打包python程序,但是中间总是出各种错误,最后难倒我的竟然是网络问题,这次我利用了我先前patch的v皮n以及一些网络技巧,克服了大概20多个错误,最终成功打包了
步骤
- 在win10应用商店安装ubuntu
- 在tuna镜像下载并在ubuntu bash上安装anaconda
- 换源,加环境变量,如果遇到sudo环境下找不到pip命令,就再加一条环境变量alias sudo='sudo env "PATH=$PATH"'(google到的都没加双引号,会出错)
- 用pip安装buildozer
- buildozer init创建buildozer.spec
- 更改buildozer.spec里被注释掉的ndk_version,把值改成19b,取消注释(不然后面会出错),把调试级别debug level字段值改成2(这样可以显示更多的信息)
- buildozer android debug开始编译(中间会有很多错误)
- 中间遇到错误一般为两种:网络环境问题或缺少依赖的程序,需要使用sudo apt-get install命令安装一些缺失的包再重新运行,很多还需要google,不过我没有进行记录
- 有两个特殊的错误,错误提示都是No such files:一个是project.properties,需要使用mkdir建立这个错误提示文件所在的目录;另一个是最后复制没找到apk文件,到这里其实是已经编译完成了,直接在项目下搜索apk找到就行