Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Buildozer编译简单的android kivy应用程序,但在打包时失败_Python 2.7_Kivy - Fatal编程技术网

Python 2.7 Buildozer编译简单的android kivy应用程序,但在打包时失败

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的输出:

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