【问题标题】:How to build a kivy application using buildozer and the latest kivy?如何使用 buildozer 和最新的 kivy 构建 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 一起使用?

谢谢

【问题讨论】:

    标签: kivy


    【解决方案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
      

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

      【讨论】:

        猜你喜欢
        • 2022-09-23
        • 1970-01-01
        • 1970-01-01
        • 2019-12-12
        • 1970-01-01
        • 2015-12-01
        • 2017-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多