如何使用 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 崩溃