Buildozer命令失败
我正在尝试用Buildozer把一个简单的程序部署到我的Galaxy S5手机上。我运行了 buildozer --verbose android debug deploy run
这个命令,前面的步骤都很顺利,直到最后一部分:
Traceback (most recent call last):
File "build.py", line 491, in <module>
make_package(args)
File "build.py", line 354, 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/python build.py --name 'School Organized' --version 1.2.0 -- package org.test.schoolorganized --private /home/jolechiw/School-Organized/.buildozer/android/app --sdk 14 --minsdk 8 --orientation landscape debug
输出的最后一部分可以在 这里 找到。我真的不明白“命令失败”是什么意思,可能是路径出错了?我也不太确定。
补充说明:
我不知道这是否重要,但我的应用源代码在 这里
。2 个回答
0
今天我遇到了同样的构建问题。问题出在Java本身,而不是buildozer。
这必须使用Java 7来完成:
piotr@jnlk ~/Kivy/SomeApp $ which java
/usr/bin/java
piotr@jnlk ~/Kivy/SomeApp $ java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
piotr@jnlk ~/Kivy/SomeApp $ buildozer android debug
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
(...)
# Distribution already compiled, pass.
# Build the application #137
# Package the application
# Command failed: /usr/bin/python2 build.py (...) --orientation landscape debug
用Java 8构建会失败,但当我把JAVA_HOME这个变量改成Java 7的路径时:
piotr@jnlk ~/Kivy/SomeApp $ export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
piotr@jnlk ~/Kivy/SomeApp $ export PATH=${JAVA_HOME}/bin:${PATH}
piotr@jnlk ~/Kivy/SomeApp $ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
piotr@jnlk ~/Kivy/SomeApp $ buildozer android debug
piotr@jnlk ~/Kivy/SomeApp $ buildozer android debug
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
(...)
# Android packages installation done.
# Check application requirements
# Check garden requirements
# Compile platform
# Distribution already compiled, pass.
# Build the application #138
# Package the application
# Android packaging done!
# APK <some-app-name>.apk available in the bin directory
构建成功完成了 :)
0
我最近遇到了一个问题,我觉得和这个问题很像,问题的根源可能是我应用的名称。
我认为在名称中不能有空格,比如 'School Organized'
。试着去掉空格,或者用下划线(或者其他符号)替代它,在你的 buildozer.spec
文件中出现的所有地方都要改,然后重新构建一下。
我没有办法确认这是不是和我遇到的错误完全一样,但至少很相似,而这个调整确实解决了问题。