使用buildozer将python文件转换为apk时构建错误

时间:2014-03-03 11:34:21

标签: python-2.7 kivy

我使用Kivy在python中创建了一个简单的应用程序,现在我希望将其转换为apk文件,以便我可以在我的Android手机中使用它。 但是在转换它时我经常遇到构建错误。我正在使用buildozer构建一个apk文件。 我检查过任何丢失的文件或目录,但事实并非如此。操作系统:UBUNTU 12.04。错误是:

[aapt] ~/.buildozer/android/platform/android-sdk-21/platform-tools/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

BUILD FAILED
~/.buildozer/android/platform/android-sdk-21/tools/ant/build.xml:645: The following error occurred while executing this line:
~/.buildozer/android/platform/android-sdk-21/tools/ant/build.xml:683: null returned: 127

Total time: 1 second
.
.
.
assets/private.mp3: /home/manish/kivy/.buildozer/android/app/sitecustomize.pyo
Traceback (most recent call last):
  File "build.py", line 412, in <module>
    make_package(args)
  File "build.py", line 336, in make_package
    subprocess.check_call([ANT, arg])
  File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ant', 'debug']' returned non-zero exit status 1
# Command failed: /usr/bin/python2.7 build.py --name 'My Application' --version 1.0 --package org.test.myapp --private /home/manish/kivy/.buildozer/android/app --sdk 14 --minsdk 8 --orientation landscape --window debug

3 个答案:

答案 0 :(得分:3)

我们需要安装ia32libs。在ubuntu上使用“sudo apt-get install ia32-libs”命令。我在kivy的IRC频道上得到了这个问题的答案,它对我有用。最初我没有安装它,因为它是32位系统。他们说Android工具仍然需要我们在64位系统上下载和安装ia32-libs。

答案 1 :(得分:1)

这是一个相当普遍的错误,可以涵盖一些不同的东西。你可以从buildozer粘贴完整的日志(包括--verbose选项,或者你的buildozer.spec中的log_level = 2

您还可以执行一些基本的故障排除,例如检查是否已安装构建依赖项。我不确定哪些可能导致这种情况,也许确保你有javac(可能是通过openjdk)。

答案 2 :(得分:0)

安装了Zlib开发包吗?

您可以尝试:

sudo apt-get install zlib1g-dev

或者一些丢失的包裹。