【问题标题】:How do I install Buildozer on Ubuntu to create an Android APK of a Kivy App?如何在 Ubuntu 上安装 Buildozer 以创建 Kivy 应用的 Android APK?
【发布时间】:2014-05-26 07:07:48
【问题描述】:

在 Ubuntu 13.10 上安装 buildozer 并不容易。我多次重新安装了 Ubuntu,现在我想分享一下我是如何安装 buildozer 的。

我从 buildozer 收到以下错误:

  1. ./distribute.sh not found --> no fix found(这就是我重新安装Ubuntu两次的原因,可能是python安装的问题,但我不确定)
  2. _add_java_src() 失败 --> 添加正确的 Java JDK 路径修复了它

【问题讨论】:

    标签: android python ubuntu kivy


    【解决方案1】:

    下面描述的过程对我来说非常有效:

    我已在 Windows 7(64 位)主机系统的虚拟机(VMware 播放器)中全新安装 Ubuntu 13.10(32 位)。

    我决定使用 32 位,因为 VM 使用的 RAM 不多,并且不需要 64 位系统。但 64 位 Ubuntu 可能也可以工作(未经测试)。我将 VMWare 文件的 zip 存档上传到谷歌驱动器(root 用户亚历山大在 ubuntu 中的密码是 UbuntuBuildozer)

    你可以在这里找到压缩文件:https://drive.google.com/file/d/0B5m9_RVHCpL-YmxPVnVaYWZyZ2s/edit?usp=sharing

    1. 安装 Python-Kivy (http://kivy.org/docs/installation/installation-linux.html#ubuntu-11-10-or-newer) 与

      $ sudo add-apt-repository ppa:kivy-team/kivy

      $ sudo apt-get 更新

      $ sudo apt-get install python-kivy

    2. 安装 pip,如果你还没有:

      $ sudo apt-get install python-pip python-dev build-essential

    3. 构建器的先决条件: 需要 zlib、Git、Cython 和 JDK

      $ sudo apt-get install zlib1g-dev git-core cython openjdk-7-jdk

      安装 Java JDK 指南 (http://tecadmin.net/install-java-jdk-ubuntu/#)

    4. 安装 buildozer (https://github.com/kivy/buildozer)

      $ sudo pip install buildozer

    5. 初始化 buildozer 并开始调试(只是为了安装 Andriod SDK、NDK 和 ANT - 还不需要 main.py,这需要几分钟):

      $ buildozer 初始化

      $ buildozer android 调试

    6. 如果 buildozer 在 _add_java_src() 处失败:在 /home/yourusername/.bashrc 中添加 JDK 路径 - 在末尾添加这些行(重要的是使用 1.x JDK 而不是 java-7 路径):

      导出 PATH=$PATH:/usr/lib/jvm/java-1.6.0-openjdk-i386/bin

      导出 JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-i386

    7. 现在转到您的应用程序 main.py 并执行以下命令:

      $ buildozer 初始化

      (编辑 buildozer.spec 并更改您的应用名称并检查第 28/29 行或第 32 行的版本控制 --> 取决于您的 main.py 代码
      请参阅Buildozer compiles simple android kivy application, but fails while packaging的SO回答)

      $ buildozer android debug deploy 运行

    【讨论】:

    • kivy.org/docs/installation/installation.html 中所述,最好使用:sudo pip install --upgrade cython 安装 cython,以便确保获得最新更新。
    • @EhsanAbd 它可能已经改变了,因为我不得不将 cython 从 0.22 降级到 0.20,所以我建议 sudo apt-get install cython=0.20*
    • 我按照您的指示进行操作,但找不到#Aidl,请安装它。
    【解决方案2】:

    请注意,如果您只想编译 APK,则实际上并不需要 Kivy。我使用以下脚本在 Ubuntu 13.10 64bit 上仅安装 Buildozer。

    #!/bin/sh
    
    # Install necessary system packages
    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install -y build-essential git zlib1g-dev python2.7 python2.7-dev libncurses5:i386 libstdc++6:i386 zlib1g:i386 openjdk-7-jdk unzip
    
    # Bootstrap a current Python environment
    sudo apt-get remove --purge -y python-virtualenv python-pip python-setuptools
    wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | sudo python2.7
    rm setuptools*.zip
    sudo easy_install-2.7 -U pip
    sudo pip2.7 install -U virtualenv
    
    # Install current version of Cython
    sudo apt-get remove --purge -y cython
    sudo pip2.7 install -U cython
    
    # Install Buildozer from master
    sudo pip2.7 install -U git+https://github.com/kivy/buildozer.git@master
    

    【讨论】:

    • 这个脚本对我来说失败了,因为我的环境没有解析pip。正如@AWolf 所建议的那样,我发现使用apt-get 安装python 包更兼容。
    【解决方案3】:

    观看 Erik Sandbergthis 视频,他的解释非常好。然后你需要进入bin 目录来找到你编译的APK。如果这不起作用,请通过添加评论告诉我。

    【讨论】:

    • 这是一个很好的巧合。几天前我看过那个视频并做了这些步骤。我已经卡住了here 并为它创造了一个赏金。
    【解决方案4】:

    Buildozer 本身不依赖于任何库,可在 Python 2.7 和 >= 3.3 上运行。根据您要定位的平台,您可能需要安装更多工具。

    Buildozer 会尝试为您提供提示或尝试为您安装一些东西,但它并不能涵盖所有情况。

    official documentation 涵盖了更多内容,但这里是如何在 Ubuntu 16.04 64 位中执行此操作:

    sudo pip install --upgrade cython==0.21
    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install build-essential ccache git libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 python2.7 python2.7-dev openjdk-8-jdk unzip zlib1g-dev zlib1g:i386
    

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      • 2019-12-12
      • 2020-06-12
      • 1970-01-01
      • 2020-10-25
      相关资源
      最近更新 更多