Python 2.7 Buildozer编译简单的android kivy应用程序,但在打包时失败
这是buildozer的输出:Python 2.7 Buildozer编译简单的android kivy应用程序,但在打包时失败,python-2.7,kivy,Python 2.7,Kivy,这是buildozer的输出: buildozer android debug # Check configuration tokens # Ensure build layout # Check configuration tokens # Preparing build # Check requirements for android # Install platform # Apache ANT found at /root/.buildozer/android/platform/apac
buildozer android debug
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Install platform
# Apache ANT found at /root/.buildozer/android/platform/apache-ant-1.8.4
# Android SDK found at /root/.buildozer/android/platform/android-sdk-21
# Android NDK found at /root/.buildozer/android/platform/android-ndk-r9c
# Android packages already installed.
# Check application requirements
# Compile platform
# Distribution compiled.
# Build the application #1
# Package the application
Traceback (most recent call last):
File "/bin/buildozer", line 5, in <module>
run()
File "/usr/lib/python2.7/site-packages/buildozer/__init__.py", line 1215, in run
Buildozer().run_command(sys.argv[1:])
File "/usr/lib/python2.7/site-packages/buildozer/__init__.py", line 842, in run_command
self.target.run_commands(args)
File "/usr/lib/python2.7/site-packages/buildozer/target.py", line 85, in run_commands
func(args)
File "/usr/lib/python2.7/site-packages/buildozer/target.py", line 97, in cmd_debug
self.buildozer.build()
File "/usr/lib/python2.7/site-packages/buildozer/__init__.py", line 178, in build
self.target.build_package()
File "/usr/lib/python2.7/site-packages/buildozer/targets/android.py", line 397, in build_package
version = self.buildozer.get_version()
File "/usr/lib/python2.7/site-packages/buildozer/__init__.py", line 554, in get_version
' (looking for `{1}`)'.format(fn, regex))
Exception: Unable to find capture version in ./main.py
(looking for `__version__ = '(.*)'`)
第一行看起来像输出中的行,第二行引用main.py文件。有人知道这些台词是什么意思吗?我是buildozer的新手,所以我不太确定在这里该做什么。提前感谢您的帮助。默认情况下,buildozer会在main.py中查找一行
\uuuuuuu version\uuuuu='something'
。用于设置apk版本(必填字段)
您可以将这一行添加到main.py中,也可以注释掉版本检查,并在buildozer.spec的下一行取消注释替代版本方法。这使您可以在buildozer.spec本身中设置版本字符串。在main.py文件的顶部添加version='0.1',这样您就可以打包应用程序而不会出现任何错误。我将使用什么作为'something'?我是Android开发新手,所以我不确定这意味着什么。比如4.4或kitkat之类的?不,这是你的应用程序自己的版本。我还没有检查我们使用的安卓机制,但通常它会像“0.1”或“1.2”(或其他什么),尽管我认为它可以接受任意字符串(即不只是数字,而不仅仅是一个)。哦,哇,好吧。那么简单。谢谢!但它又失败了。我想我缺少一些32位库(或者另一个问题是这样说的)但我正在用yum运行Fedora,而不是Ubuntu或其他带有apt get的软件,所以我不确定要为这些软件安装什么。你知道要安装哪些软件吗?这应该作为一个新问题提交。
version.regex = __version__ = '(.*)'
version.filename = %(source.dir)s/main.py