如何使用 buildozer 和最新的 kivy 构建 kivy 应用程序?

Posted

技术标签:

【中文标题】如何使用 buildozer 和最新的 kivy 构建 kivy 应用程序?【英文标题】:How to build a kivy application using buildozer and the latest kivy? 【发布时间】:2013-11-19 00:03:45 【问题描述】:

使用 buildozer 我已经成功构建并运行了一个 android 应用程序。 Buildozer 使用 kivy-stable (1.7)

如何使用最新的 kivy 1.8 构建 kivy 应用程序?

我注意到 https://github.com/kivy/python-for-android/blob/master/recipes/kivy/recipe.sh线条

VERSION_kivy=$VERSION_kivy:-stable
URL_kivy=https://github.com/kivy/kivy/zipball/$VERSION_kivy/kivy-$VERSION_kivy.zip

这是否意味着只有 kivy-stable 版本可以与 buildozer 一起使用?

谢谢

【问题讨论】:

【参考方案1】:

我不记得 buildozer 是否有使用 kivy master 的开关(1.8 未发布),但你当然可以让它工作。这里有一些说明,假设你的 shell 类似于 bash。

首先,创建自己的本地 kivy 存储库:

git clone https://github.com/kivy/kivy.git

其次,导出环境变量P4A_kivy_DIR指向这个目录。如果此变量存在,python-for-android(包括 buildozer 下载和使用的那个)将使用该目录来构建 kivy。

export P4A_kivy_DIR="$PWD/kivy$
echo $P4A_kivy_DIR

第二行应该打印出你新克隆的 kivy 的目录。

然后您可以运行 buildozer。您可能需要先删除应用程序目录中的 .buildozer 文件,或者更具体地说,删除一些 python-for-android 组件 - 最简单的方法就是这样做

rm -rf /path/to/your/app/.buildozer/android/platform/python-for-android

之后,只需运行 buildozer,python-for-android 组件就会使用您的 kivy master 副本。

如果您希望此行为每次都自动生效,您可以将导出行放在您的 .bashrc 或其他合适的 shell 设置文件中。如果您不这样做,则每次创建或替换 .buildozer 目录时都需要运行导出行。

【讨论】:

谢谢它工作正常。它是否记录在 docs/wiki/faq 中的某处?【参考方案2】:

现在(如 2020 年 1 月)有一个更简单的选择:只需在 buildozer.spec 中指定版本,例如:

requirements = python3,kivy==2.0.0rc1

【讨论】:

【参考方案3】:

Google Colab!!!

去这个网站:https://colab.research.google.com/

第 1 步:创建一个新的笔记本

第二步:添加新代码

第 3 步:添加您的主要 python 文件和 kv 文件

注意:确保您的笔记本已连接到运行时

第 4 步:将这些代码复制并粘贴到多个代码单元格中

!pip install buildozer

.

!pip install cython==0.29.19

.

!sudo apt-get install -y \
python3-pip \
build-essential \
git \
python3 \
python3-dev \
ffmpeg \
libsdl2-dev \
libsdl2-image-dev \
libsdl2-mixer-dev \
libsdl2-ttf-dev \
libportmidi-dev \
libswscale-dev \
libavformat-dev \
libavcodec-dev \
zlib1g-dev

.

!sudo apt-get install -y \
libgstreamer1.0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good

.

!sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev libffi6

.

!sudo apt-get install libffi-dev

.

!buildozer init

.

确保将你的 python 文件重命名为 main.py 并上传程序中使用的所有图片(如果使用)

导航到 builder.spec 文件

取消注释并注释以下行

在 main.py 的顶部添加 __version__ = 0.1

然后

添加这些代码

!sudo apt install build-essential autoconf libtool

.

pip install --user -U colorama

.

pip install libtool

.

pip install testcase-automaker

.

pip install autoconf

终于

添加此代码... 这将构建 apk

!buildozer -v android debug

这对我有用 希望这对所有人都有效

【讨论】:

以上是关于如何使用 buildozer 和最新的 kivy 构建 kivy 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Kivy App 使用 Buildozer 构建。 APK 崩溃

如何在Buildozer中构建kivy和Twisted

如何使用 kivy buildozer 压缩 Apk?

如何使用 kivy-buildozer 为我的 android 应用程序添加图标?

kivy buildozer 虚拟机

在 Ubuntu 12.04 上使用 Kivy 和 Buildozer 制作 apk