几天前,我开始涉足Android应用程序的创建。我了解了Kivy这个工具。它的简单性让我感到很有吸引力,所以我决定坚持使用并尝试设计一些应用程序。开发团队提供了Buildozer,可以轻松地为Android构建应用程序,但是我还没有能够完成这一步骤。
在创建Android应用程序的过程中,我遇到了两个错误,由于不知道它们是否相关,所以我将展示它们两个。
第一个错误:
当我在Linux(Ubuntu)上运行我的应用程序时,我会收到一个错误,尽管应用程序可以正常工作,看起来没有问题。错误日志:
在创建Android应用程序的过程中,我遇到了两个错误,由于不知道它们是否相关,所以我将展示它们两个。
第一个错误:
当我在Linux(Ubuntu)上运行我的应用程序时,我会收到一个错误,尽管应用程序可以正常工作,看起来没有问题。错误日志:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 761, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/dist-packages/kivy/input/providers/mtdev.py", line 193, in _thread_run
_device = Device(_fn)
File "/usr/lib/python2.7/dist-packages/kivy/lib/mtdev.py", line 131, in __init__
self._fd = os.open(filename, os.O_NONBLOCK | os.O_RDONLY)
OSError: [Errno 13] Permission denied: '/dev/input/event7'
第二个错误
我使用sudo pip install buildozer
安装了buildozer
。当我尝试使用buildozer init
时,出现以下错误:
Traceback (most recent call last):
File "/usr/local/bin/buildozer", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2825, in <module>
add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 710, in subscribe
callback(dist)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2825, in <lambda>
add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2257, in activate
self.insert_on(path)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2364, in insert_on
self.check_version_conflict()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2403, in check_version_conflict
for modname in self._get_metadata('top_level.txt'):
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2251, in _get_metadata
for line in self.get_metadata_lines(name):
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1219, in get_metadata_lines
return yield_lines(self.get_metadata(name))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1211, in get_metadata
return self._get(self._fn(self.egg_info,name))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1326, in _get
stream = open(path, 'rb')
IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/google_api_python_client-1.2-py2.7.egg/EGG-INFO/top_level.txt'
这个错误会阻止程序继续执行,buildozer init
无法创建 buildozer.spec
。
更多信息
事实上,我试图同时运行两个应用程序,比如说 sudo main.py
和 sudo buildozer init
。起初它似乎解决了问题,但第一次运行 buildozer android debug deploy run
花费了很长时间,不幸的是我不得不杀掉它。
第二次我想要正确地执行它,但有一个奇怪的问题是,在示例中他们没有使用 sudo
。此外,我在任何地方都找到警告 不要以 sudo 运行 buildozer 。于是我卸载了 kivy 和 buildozer,并重新安装,重启了我的电脑。但没有任何变化。也许我的愚蠢的应用程序有些问题(可能解决第一个错误),但第二个错误可能不是这个原因。如果有帮助,我可以提供更多信息。
注意
我看过其他问题,但它们似乎解决了不同的问题。
username = quapka
,那么groups quapka
会输出quapka : quapka adm dialout cdrom sudo dip plugdev lpadmin sambashare
,但是chmod -R quapka:quapka ~/.buildozer
会输出chmod: invalid mode: ‘quapka:quapka’ Try 'chmod --help' for more information.
那么,我应该选择哪个组? - quapka