在网上找到三种python打包成android包的方式: 1、可以使用 python-for-android 为 android 创建一个包。 2、可以使用 Buildozer 工具自动完成整个过程。 3、可以使用 Kivy Launcher 打包,这样不用编译就能运行 Kivy 应用。 尝试了其中buildozer 的方式,第一次尝试的时间最长,把所有自己能解决的问题都弄了,但最后还是没有成功。还有一种是尝试下载docker镜像的方式。此方式成功了。现在把两种方式都贴出来,望诸君能通过第一种方式找到最终解决方法。同时第二种方式可以直接打成apk包
.
一、 自己搭建Buildozer环境
系统:uabntu18.04 Buildozer 是一个将整个构建过程自动化的工具。它会下载和设置 pythonfor-android 需要的所有依赖项目,包括 Android 的 SDK 和 NDK,然后会构建 APK ,这个 APK 可以自动推送到设备上
- 更换国内apt-get源 :地址: https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/.
将下面文件里的内容删除,贴入上面的数据
sudo vim /etc/apt/sources.list
- 安装lib
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install make git zip unzip dpkg libffi-dev zlib1g-dev
sudo apt-get install cython cython3 autoconf libtool libevent-dev
sudo apt-get install openjdk-8-jdk
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
- 安装python3 和pip3
sudo apt-get update
sudo apt-get install python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 200
sudo update-alternatives --config python
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
sudo pip3 install cpython
- 安装cmake
确认下载的版本:cmake-3.11.0.tar.Z 点击下载. 安装如下:
tar xf cmake-3.11.0.tar.Z
cd cmake-3.11.0.tar.Z
sudo ./configure
sudo make && sudo make install
- 安装buildozer 也可以到 https://github.com/kivy/buildozer 获取 buildozer:
sudo pip3 install --upgrade buildozer
上面的命令就会把 buildozer 安装到你的操作系统中。接下来就是到你的项目目录然后运行如下命令:
cd 项目路径
建立main.py文件
sudo buildozer init
修改buildozer.spec文件:log_level = 2
开启外网代理,执行:
sudo pip3 install --user --upgrade buildozer
sudo buildozer -v android debug
至此结束,最终还是报错,有可能是系统或者某些设置还是有问题,如有兴趣的童鞋可以再多做些尝试,至少方向是对的
二、 使用docker容器
简单暴力,直接在网上下载相关容器,再做配置,最终成功,步骤如下: 系统:uabntu18.04 其他系统应该也行,可自己尝试
- 安装 所需插件
sudo apt-get update
sudo apt-get install python3-distutils python3-pip
sudo apt-get install vim
- 安装pip
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
- 安装docker 并下载kivy镜像
sudo apt-get install docker.io
sudo docker pull kivy/buildozer
- 运行一个容器
sudo mkdir -p /home/jicm/android 创建和docker容器共享目录,可将项目复制到此文件夹下,进入docker容器后会在容器/home/user/src/目录下出现
sudo docker run -itd --name buildozer --privileged=true --volume "$PWD":/home/jicm/android -v /home/jicm/android:/home/user/src/ --entrypoint /bin/bash kivy/buildozer
- 进入容器
sudo docker exec -it buildozer /bin/bash
- 修改配置文件,(修改国内源)
sudo apt-get install vim
sudo vim /home/user/.local/lib/python3.8/site-packages/buildozer/targets/android.py
修改位置如下: 将kivy改为mirrors 将github.com改为gitee.com 加入环境变量
export PATH=$PATH:/usr/lib/python3.8
- 将需要打包的文件放入指定目录,开始打包
mkdir -p /home/user/src
cd /home/user/src
buildozer init
buildozer android debug
注意第一次打包很慢,有些需要安装环境,国外网速太慢,也有可能因为网速原因安装失败,需要多试几次(还不错一次成功)
感谢如下连接: kivi android打包. Kivy跨平台开源框架之Android打包. Buildozer构架安卓应用. 第一次尝试Kivy(windows+Android). 将使用Kivy的Python程序打包为安卓的apk文件(使用python-for-android). kivy菜鸟.
|