如何解决带有 plyer 的 Android 应用程序将无法启动我错过了什么吗?
我想试用 plyer 并编写了一个 Android 应用程序。问题是它不会在我的手机上运行。应用开始加载,但随后立即关闭。
这是我的代码:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.lang import Builder
from plyer import flash
from kivy.utils import platform
if platform == "android":
from android.permissions import request_permissions,Permission
request_permissions([Permission.CAMERA,Permission.FLASHLIGHT])
class Light(BoxLayout):
def an():
flash.on()
def aus():
flash.off()
kv = Builder.load_file("light.kv")
class MyMainApp(App):
def build(self):
return kv
if __name__ == "__main__":
MyMainApp().run()
这是 light.kv 文件:
<Light>:
GridLayout:
cols:3
Button:
id:a
text:"an"
on_release: root.an
Button:
id:b
text:"aus"
on_release: root.aus
这就是我在 buildozer.spec 文件中所做的:
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,android,plyer
# (list) Permissions
android.permissions = INTERNET,CAMERA,FLASHLIGHT,WRITE_EXTERNAL_STORAGE
我使用的是 python 3.8.5、plyer 2.0.0、buildozer 1.2.0、kivy 2.0.0rc3。
解决方法
您定义了一个名为 MyMainApp
的类,然后调用了一个名为 run
的方法,该方法不会在该类中退出,请确保定义一个 run 方法。
class MyMainApp(App):
def build(self):
return kv
def run(self):
# your code here
if __name__ == "__main__":
MyMainApp().run()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。