Приложение Kivy вылетает на android - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь создать мобильный переводчик, используя kivy. При компиляции на windows приложение работает корректно. При попытке запустить на android - вылетает после экрана загрузки. Как это можно исправить?

Мой код:

from kivy.uix.button import Button
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
import requests

URL_AUTH = 'https://translate.yandex.net/api/v1.5/tr.json/getLangs?'
URL_TRANSLATE = 'https://translate.yandex.net/api/v1.5/tr.json/translate'
KEY = '[API key]'
LANG = 'en-ru'

# --- request translate
auth = requests.post(URL_TRANSLATE, data={'key': KEY, 'text': 'Translate', 'lang': LANG, }).text

# --- App
class translator(App):

    def translate(self, instance):
        # --- request translate
        auth = requests.post(URL_TRANSLATE, data={'key': KEY, 'text': input_text.text, 'lang': LANG, }).text
        print(auth)
        # --- Update text in Label
        self.output_text.text = str(auth)


    def build(self):
        al = AnchorLayout()
        bl = BoxLayout(orientation='vertical', size_hint=[0.9, 0.9])
        btn = Button(text='Translate', on_press=self.translate)
        global input_text
        input_text = TextInput(multiline=False, text='Enter text')
        self.output_text = Label(text=auth)

        bl.add_widget(input_text)
        bl.add_widget(self.output_text)
        bl.add_widget(btn)
        al.add_widget(bl)
        return al

if __name__ == '__main__':
    translator().run() 

UPD: Я попытался удалить запрос из кода и скомпилировать. Приложение запущено

1 Ответ

0 голосов
/ 10 марта 2020

Я мог бы найти проблему. При компиляции в buildozer необходимо было указать запрос в списке требований.

requirements = python3, kivy, requests
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...