Я создаю мобильное приложение, которое будет использовать kivy UrlRequests, на ubuntu и macos, приложение работает, но когда я делаю apk с buildozer и запускаю его на своем андроиде (OnePlus 5: android 9.0.8) через Android-студии, приложение работаетдо части UrlRquest, где он падает.
Я сделал тестовый apk только для того, чтобы изолировать и протестировать UrlRequest, и он работает на моем ПК / ноутбуке и kivy launcher, но не как apk на android.
У меня также есть файлы buildozer.spec и logcat, дайте мне знать, если вам нужно
Я попробовал и изменил разрешения и требования Buildozer.spec на: android.permissions = INTERNET,ACCESS_NETWORK_STATE
requirements = kivy,android,openssl,pyopenssl,httplib2
Я также пытался изменить https на http, но все равно не повезло
from kivy.clock import Clock
from kivy.lang import Builder
from kivy.network.urlrequest import UrlRequest
from kivy.uix.boxlayout import BoxLayout
Builder.load_string('''
<DemoLayout>:
orientation: "vertical"
padding: 50
spacing: 50
Button:
size_hint: (0.3, 0.3)
pos_hint: {"center_x": 0.5}
text: "Make Request"
on_press: app.make_request()
Label:
id: result_label
''')
class DemoLayout(BoxLayout):
pass
class Demo(App):
def build(self):
return DemoLayout()
def on_request_success(self, request, result):
self.root.ids.result_label.text = str(result["data"][0]["amount"])
def make_request(self, *args):
UrlRequest(
url = "https://api.coinbase.com/v2/prices/GBP/spot?",
on_error = None,
on_failure = None,
on_progress = None,
on_redirect = None,
on_success = self.on_request_success,
timeout = 5,
)
Demo().run()
Я ожидаю, что выходной сигнал будет равным значению btc при нажатии кнопки «Сделать запрос», но фактический результат - ничто