如何在Ubuntu上安装Buildozer来创建Kivy App的Android APK?

时间:2014-04-11 23:36:10

标签: android python ubuntu kivy

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

我从buildozer收到以下错误:

  1. ./ distribute.sh not found - >没有找到修复(这就是为什么我重新安装Ubuntu两次,可能是python安装的问题,但我不确定)
  2. _add_java_src()失败 - >添加正确的Java JDK路径修复它

4 个答案:

答案 0 :(得分:3)

下面描述的程序非常适合我:

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

我决定使用32位,因为VM使用的内存不多,而且不需要64位系统。但64位Ubuntu可能也会工作(未经测试)。我将VMWare文件的zip存档上传到google驱动器(ubuntu中的密码,root用户alexander是UbuntuBuildozer)

您可以在此处找到zip文件: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 update

         

    $ sudo apt-get install python-kivy

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

      

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

  3. buildozer的先决条件: 需要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 init

         

    $ buildozer android debug

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

      

    export 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 init

         

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

         

    $ buildozer android debug deploy run

答案 1 :(得分: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

答案 2 :(得分:1)

观看 Erik Sandberg this视频,因为他讲得很好。然后,您需要进入bin目录以找到编译的APK。如果此操作无效,请添加评论,让我知道。

答案 3 :(得分:0)

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