Kivy android 应用程序在打开时立即崩溃
Kivy android app crashes instantly when opened
我正在尝试开发一个使用 google 翻译的 API 的简单应用程序。该应用程序可以正确构建和安装,但是当我在 phone 上打开该应用程序时,它只是崩溃,没有任何错误消息。
这是我的main.py文件:
import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
from kivy.graphics import Color, Rectangle
from googletrans import Translator
Window.clearcolor = (0.2, 0.2, 0.2, 1)
Window.size = (450, 800)
tr = Translator()
# class in which we are defining action on click
class RootWidget(BoxLayout):
def translate(self, text, src, dest):
print(text, src, dest)
if text != "":
self.output_text.text = tr.translate(text, src=src, dest=dest).text
def speak(self):
print('speaking')
def read(self):
print('reading')
class TranslatorApp(App):
def build(self):
return RootWidget()
myApp = TranslatorApp()
myApp.run()
这是我的translator.kv文件:
<RootWidget>:
input_text:input_text
output_text:output_text
src_lang:src_lang
dest_lang:dest_lang
BoxLayout:
orientation: 'vertical'
spacing: 5
padding: 5
BoxLayout:
orientation: 'horizontal'
spacing: 5
size_hint: [1, 0.1]
Label:
text: 'Texto a traducir'
halign: 'left'
Label:
text: 'Texto traducido'
halign: 'left'
BoxLayout:
orientation: 'horizontal'
spacing: 5
size_hint: [1, 0.9]
TextInput:
id: input_text
color: [180, 180, 180]
size_hint: [0.5, 1]
TextInput:
id: output_text
text: "s"
color: [180, 180, 180]
size_hint: [0.5, 1]
BoxLayout:
orientation: 'horizontal'
spacing: 5
size_hint: [1, 0.2]
Button:
text: 'Hablar'
color: [0, 255, 255, .67]
background_normal: ''
background_color: [0, 0.5, 1, .85]
on_press: root.speak()
size_hint: [0.5, 1]
Button:
text:'Traducir'
color: [0, 255, 255, .67]
background_normal: ''
background_color: [1, 1, 1, 0.7]
on_press: root.translate(input_text.text, src_lang.text, dest_lang.text)
size_hint: [0.5, 1]
BoxLayout:
orientation: 'vertical'
spacing: 5
BoxLayout:
orientation: 'horizontal'
spacing: 5
Label:
text: 'Idioma de\norigen'
halign: 'left'
Label:
text: 'Idioma de\ndestino'
halign: 'left'
BoxLayout:
orientation: 'horizontal'
spacing: 5
TextInput:
id: src_lang
text: 'es'
TextInput:
id: dest_lang
text: 'en'
Button:
text: 'Leer traducción'
on_press: root.read()
我 运行 命令 buildozer android debug
构建应用程序。
我知道新的 p4a 工具链有 android_new
,但是当我尝试这样做时,我收到如下错误消息:
Unknown command/target android_new
我会添加 buildozer.spec 文件,但 Whosebug 认为它是垃圾邮件
我觉得自己的问题很蠢。
我已将 googletrans
添加到规范文件中,所以我认为这不是问题所在。在我解决问题的一次尝试中,我更新了模块,我看到 googletrans
有一些依赖项,我需要做的就是将这些依赖项也添加到需求中
我正在尝试开发一个使用 google 翻译的 API 的简单应用程序。该应用程序可以正确构建和安装,但是当我在 phone 上打开该应用程序时,它只是崩溃,没有任何错误消息。
这是我的main.py文件:
import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
from kivy.graphics import Color, Rectangle
from googletrans import Translator
Window.clearcolor = (0.2, 0.2, 0.2, 1)
Window.size = (450, 800)
tr = Translator()
# class in which we are defining action on click
class RootWidget(BoxLayout):
def translate(self, text, src, dest):
print(text, src, dest)
if text != "":
self.output_text.text = tr.translate(text, src=src, dest=dest).text
def speak(self):
print('speaking')
def read(self):
print('reading')
class TranslatorApp(App):
def build(self):
return RootWidget()
myApp = TranslatorApp()
myApp.run()
这是我的translator.kv文件:
<RootWidget>:
input_text:input_text
output_text:output_text
src_lang:src_lang
dest_lang:dest_lang
BoxLayout:
orientation: 'vertical'
spacing: 5
padding: 5
BoxLayout:
orientation: 'horizontal'
spacing: 5
size_hint: [1, 0.1]
Label:
text: 'Texto a traducir'
halign: 'left'
Label:
text: 'Texto traducido'
halign: 'left'
BoxLayout:
orientation: 'horizontal'
spacing: 5
size_hint: [1, 0.9]
TextInput:
id: input_text
color: [180, 180, 180]
size_hint: [0.5, 1]
TextInput:
id: output_text
text: "s"
color: [180, 180, 180]
size_hint: [0.5, 1]
BoxLayout:
orientation: 'horizontal'
spacing: 5
size_hint: [1, 0.2]
Button:
text: 'Hablar'
color: [0, 255, 255, .67]
background_normal: ''
background_color: [0, 0.5, 1, .85]
on_press: root.speak()
size_hint: [0.5, 1]
Button:
text:'Traducir'
color: [0, 255, 255, .67]
background_normal: ''
background_color: [1, 1, 1, 0.7]
on_press: root.translate(input_text.text, src_lang.text, dest_lang.text)
size_hint: [0.5, 1]
BoxLayout:
orientation: 'vertical'
spacing: 5
BoxLayout:
orientation: 'horizontal'
spacing: 5
Label:
text: 'Idioma de\norigen'
halign: 'left'
Label:
text: 'Idioma de\ndestino'
halign: 'left'
BoxLayout:
orientation: 'horizontal'
spacing: 5
TextInput:
id: src_lang
text: 'es'
TextInput:
id: dest_lang
text: 'en'
Button:
text: 'Leer traducción'
on_press: root.read()
我 运行 命令 buildozer android debug
构建应用程序。
我知道新的 p4a 工具链有 android_new
,但是当我尝试这样做时,我收到如下错误消息:
Unknown command/target android_new
我会添加 buildozer.spec 文件,但 Whosebug 认为它是垃圾邮件
我觉得自己的问题很蠢。
我已将 googletrans
添加到规范文件中,所以我认为这不是问题所在。在我解决问题的一次尝试中,我更新了模块,我看到 googletrans
有一些依赖项,我需要做的就是将这些依赖项也添加到需求中