从现在开始大约2天我正在尝试使用Buildozer
编译一个简单的Hello World应用程序。我已经在几台计算机上试过了它,但它们在任何一台计算机上都没有用。我试图用最简单的方法来找出问题,但我不能,现在它变得非常烦人。
我的笔记本电脑上有Elementary OS
,但我也试过Debian
。
这是我的main.py:
__version__ = “1.0”
from kivy.app import App
from kivy.uix.button import Button
class Hello(App):
def build(self):
btn = Button(text='Hello World')
return btn
Hello().run()
这是运行应用程序时的logcat日志:
02-17 11:08:42.030: E/dalvikvm(6666): dlopen("/data/data/org.testapp.testapp/files/lib/python2.7/lib-dynload/_sqlite3.so") failed: dlopen failed: library "/data/data/org.testapp.testapp/files/lib/python2.7/lib-dynload/_sqlite3.so" not found
02-17 11:08:42.030: E/dalvikvm(6666): dlopen("/data/data/org.testapp.testapp/files/lib/python2.7/lib-dynload/_imaging.so") failed: dlopen failed: library "/data/data/org.testapp.testapp/files/lib/python2.7/lib-dynload/_imaging.so" not found
我在要求中包含了sqlite3
(虽然我认为在上面这样的简单应用中不应该这样做),但消息是相同的。
我已在几个Android devices
上尝试过,但所有这些都会引发此错误。
感谢您的帮助!
编辑: 这是我的buildozer.spec:
[app]
title = TestApp
package.name = testapp
package.domain = org.testapp
source.dir = .
source.include_exts = py,kv
version = 0.1
# buildozer init only put kivy, I've added sqlite3 later, to see if it solves the problem, but the issue is the same
requirements = sqlite3,kivy
orientation = landscape
fullscreen = 1
android.api = 19
android.sdk = 19
android.sdk_path = /home/zslevi/Android/Sdk/
[buildozer]
log_level = 1
warn_on_root = 1
编辑#2:
以下是完整日志:Full log
编辑#3:
我看过INFO通知它找不到main.py/main.pyo,但这是我的文件夹:screen
答案 0 :(得分:0)
一个老问题,但仍然相关,因为我刚刚安装了一个新的qemu安装的ubuntu 16,最新的kivy并且运行Hello World这个问题(使用android V4.4)
我的问题只是我已经命名了我的python app" hello_world.py"而不是" main.py"。
将其重命名为" main.py"并重新编译使它对我有用。