Python程序打包成Android包

Posted jimme2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python程序打包成Android包相关的知识,希望对你有一定的参考价值。

在网上找到三种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 可以自动推送到设备上

  1. 更换国内apt-get源 :地址: https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/.

    将下面文件里的内容删除,贴入上面的数据
sudo vim /etc/apt/sources.list
  1. 安装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
  1. 安装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
  1. 安装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
  1. 安装buildozer 也可以到 https://github.com/kivy/buildozer 获取 buildozer:
sudo pip3 install --upgrade buildozer #升级安装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 其他系统应该也行,可自己尝试

  1. 安装 所需插件
sudo apt-get update
sudo apt-get install python3-distutils python3-pip
sudo apt-get install vim
  1. 安装pip
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
  1. 安装docker 并下载kivy镜像
sudo apt-get install docker.io
sudo docker pull kivy/buildozer 
  1. 运行一个容器
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
  1. 进入容器
sudo docker exec -it buildozer /bin/bash
  1. 修改配置文件,(修改国内源)
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

加入环境变量

#>sudo vim ~/.bashrc 
export PATH=$PATH:/usr/lib/python3.8
  1. 将需要打包的文件放入指定目录,开始打包
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菜鸟.

以上是关于Python程序打包成Android包的主要内容,如果未能解决你的问题,请参考以下文章

Python程序打包成.exe(史上最全面讲解)

如何把python脚本打包成rpm包

Android studio 将 Module 打包成 Jar 包

python selenium代码如何打包成.exe文件(Pyinstaller)

Android怎么把一个现有工程打包成sdk

Cordova打包android release正式包流程