我正在制作一个moblie应用程序,它将使用kivy UrlRequests,在ubuntu和macos上运行,但是当我用buildozer制作一个apk并通过android studios在我的android(OnePlus 5:android 9.0.8)上运行时,该应用程序会一直运行到UrlRquest部分崩溃。你知道吗
我做了一个测试apk只是为了隔离和测试UrlRequest,它可以在我的pc/笔记本电脑和kivy launcher上工作,但不能作为android上的apk。你知道吗
我也有buildozer.spec规范如果你需要的话让我知道
我试着改变了主意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()
当按下“makerequest”按钮时,我希望输出是btc的一个值,但实际的输出是nothing
我在http://www.jiajianhudong.com/question/3324796.html找到了解决办法 我更新了buildozer要求,添加了
certfi
,并将ca_file=certifi.where()
参数添加到我的UrlRequest()相关问题 更多 >
编程相关推荐