1. 准备一台能访问Internet的主机(debian),并且配置文件服务器,然后上传代码

2. 安装docker(顺序执行以下命令)

apt-get update

apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

apt-get update

apt-cache policy docker-ce        #列出匹配版本的docker-ce

apt-get install docker-ce

systemctl status docker        #检查docker是否运行

3. 搜索docker镜像

docker search buildozer

NAME                            DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
kivy/buildozer                  Generic Python packager for Android and iOS …   12
jedie/buildozer                 Create Andorid .apk for kivy apps with build…   2
boringbox/buildozer             Kivy buildozer                                  1                                       [OK]
rubygem/buildozer               Auto-Generated Image for Ruby Gem buildozer     0                                       [OK]
buildozer/cache-control-proxy                                                   0
buildozer/geminabox             Dockerized Gem in a Box server                  0                                       [OK]
tshirtman/buildozer             a docker image to build android apps from ki…   0                                       [OK]
buildozer/squid                                                                 0
brvier/buildozer                Buildozer batteries included image for build…   0
buildozer/webdav                Simple WebDAV container for development purp…   0
lordjabez/buildozer             Image for using buildozer to create Android …   0
homdx/buildozer                 buildozer                                       0                                       [OK]
buildozer/mailhog                                                               0
unsuitable001/buildozer3         A docker container for using Buildozer with…   0
datalife/buildozer-tryvy        Tryvy buildozer docker image                    0
buildozer/redis                 Redis Server                                    0
olymk2/buildozer                                                                0
adin234/buildozer-gfortran      Buildozer with gfortran for arm64 devices       0
tom333/buildozer_actions                                                        0
wwstory/buildozer               Build kivy android app out of the box           0
kmocypress/buildozer            Fixed up buildozer dockerfile based on https…   0
tuna42/buildozer_test                                                           0
gutentag917/buildozer                                                           0
fragaliano/buildozer                                                            0
baykier/buildozer                                                               0

这里选择kivy/buildozer镜像

4. 下载镜像

docker pull kivy/buildozer

docker images                        #列出本地镜像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kivy/buildozer      latest              1d7a68c5b814        19 months ago       1.14GB

5. 运行容器

docker run -itd --name buildozer --privileged=true --volume "$PWD":/home/user/hostcwd --entrypoint /bin/bash kivy/buildozer

docker ps                                #列出当前运行的容器

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
88cd479473e7        kivy/buildozer      "/bin/bash"         49 seconds ago      Up 48 seconds                           buildozer

docker exec -it buildozer /bin/bash                #运行容器

python3 -m pip install --upgrade pip

6. 打包

pip install buildozer

pip install -i https://mirrors.aliyun.com/pypi/simple/ buildozer        #国内

sudo apt-get install git

pip install cython

pip install -i https://mirrors.aliyun.com/pypi/simple/ cython        #国内

sudo apt-get install openjdk-11-jdk

修改 python的安装目录/site-packages/buildozer/targets/android.py

#62行:
#p4a_fork = 'kivy'        #国外
p4a_fork = 'mirrors'      #国内#730行:
#'app', 'p4a.url', f'https://github.com/{p4a_fork}/python-for-android.git'
'app', 'p4a.url', f'https://gitee.com/{p4a_fork}/python-for-android.git'

sudo apt-get install autoconf automake libtool

sudo apt-get install libffi-dev

进入python源代码文件夹

buildozer init

#102行:
#android.api = 27
android.api = 33

buildozer android debug

如果在打包过程中发现下载失败,可以进入虚拟环境中自行安装,例如下面的虚拟环境:

~/kivy-proj/ex1/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build$ source venv/bin/activate

打包成功会在bin文件夹中生成一个apk文件

kivy/buildozer打包相关推荐

  1. Python、Kivy、Buildozer打包成功的apk在安卓平台安装打开后闪退(崩溃)?

    这是一篇写给自己的笔记. 发现app闪退后,去手机设置里"开发者选项",导出错误日志.我的三星手机叫"漏洞报告" 等待几分钟完成后,获得一个压缩包,可以通过QQ ...

  2. 《Buildozer打包实战指南》实战打包beautifulsoup (bs4)

    实战打包beautifulsoup (bs4) 在本节,笔者会编写一个用kivy+bs4开发的简单应用,并演示如何将其打包成apk文件. apk文件下载地址: 请看文章末尾 版本信息: buildoz ...

  3. 《Buildozer打包实战指南》第五节 在安卓模拟器和真机上运行apk文件并查看日志

    目录 5.1 在安卓模拟器上运行apk文件并查看日志 5.2 在真机上运行并查看日志 5.3 查看apk包内日志 成功打包出apk文件并不代表真正成功,只

  4. kivy android wifi,Kivy / Buildozer VM Ubuntu不能连接到网络的问题解决

    centos7.0 下安装git(http方式) 之前弄了个ssh方式访问的git服务器,但是那种方式不太方便,而且网页也访问不了,所以这里又弄个http方式访问的git服务器. 安装过程还和之前一样 ...

  5. kivy配置Buildozer

    前言:   使用kivy开发一个小项目的时候,需要将代码打包成apk.有三个具体的方式可以实现打包apk的功能,具体详见kivy官方手册.在此仅针对使用Buildozer打包过程中出现的问题进行整理. ...

  6. kivy打包问题汇总

    1.git clone https://-报错延时 查看git配置 git config --global -l 如果你没有任何与https代理相关的内容,例如https_proxy = -问题不在这 ...

  7. python-22-使用Kivy开发手机app

    1 安装测试 (1)安装 CMD>conda activate python36 CMD>pip install docutils pygments pypiwin32 kivy.deps ...

  8. Buildozer生成的APP闪退+PermissionError故障排除记录

    0 情况介绍 最近有一个项目需要一个简单的手机客户端应用,由于项目是Python写的,所以希望手机客户端同样使用Python语言,查询后发现Python可以通过多种途径生成APK文件,经过多次安装尝试 ...

  9. Python开发App实战(一)-Kivy入门

    写在最前: 开发App的主流语言中应该是Java,但是苦于没有学过Java但目前又没那么多时间重新学,因此就想着用已经入门的Python开发两个App练手,学习的过程中看过很多资料,也踩过很多坑,于是 ...

最新文章

  1. java二级下拉菜单_航菜单栏中的二级下拉菜单
  2. linux 命令行选项
  3. Linux系统基础优化
  4. 大学期间承接软件项目的一些个人观点
  5. prototype.js 和jquery-1.6.2.js冲突问题解决方法
  6. js 匿名函数_编写高质量箭头函数的5个最佳做法
  7. 专访福建移动林志云: 5G使能,运营商全面进入数字化转型之路
  8. Go语言练习:网络编程实例——简易图片上传网站
  9. hdoj_1166_敌兵布阵_树状数组
  10. python中、既可以将数据通过print_整理了8个Python中既冷门又实用的技巧
  11. 终于在MAC上把OpenJDK8-u272编译通过了
  12. 最大似然估计和最大后验估计
  13. 介词for和with 和of的用法_to for of with的用法区别
  14. 信号与系统18(拉普拉斯变换性质)
  15. 产品周报第27期|会员新增拉黑用户权益;CSDN APP V5.1.0版本发布……
  16. [WebRTC导读] VideoRender 视频渲染类
  17. 小白深度学习起步中——读取人像图像
  18. echarts折线图背景线_echarts-设置折线图中折线线条颜色和折线点颜色
  19. 路由器显示有信号连接不到服务器,路由器搜索到信号但是连接不上怎么解决【解决方法】...
  20. [转]词根词缀记单词3-主讲victor老师

热门文章

  1. 工程总承包系列之工程总承包合同中的优先受偿权
  2. 双系统安装(windows和linux)
  3. 新单词 part 5
  4. 新码农和老码农(爆笑)
  5. Java 实现 捕鱼达人 小游戏【附源码】
  6. 程序设计java银行自动取款机_模拟自动取款机系统(JAVA)
  7. 基于C++的ATM自动取款机设计
  8. cocos creator shader实现汽车氮气加速特效
  9. 阿里云部署serverless SAE实例
  10. 2020.2Kali_Linux(超详细❤亲测❤)下载(附下载好的网盘资源)及安装教程