使用需要互联网的任何东西时Kivy App崩溃

问题描述

我是猕猴桃新手,想要一些帮助。

我正在使用buildozer为android构建Kivy应用程序,该应用程序使用cryptocompare.com的外包API

这是一个非常简单的应用程序,可以实时显示Cryptocurrency价格。

该应用程序在打开时立即崩溃.. 我删除了API并创建了一个Dict,只是为了测试该应用程序是否可以运行,并且该应用程序可以在android上完美运行。当我放回API时,它一直崩溃。 请注意,该应用程序在Pycharm上运行正常,没有错误.. Buildozer也没有错误.. 我一直在努力寻找问题。 千方百计尝试。没有运气。

几乎包括了android.permissions中的所有内容,也没有运气。

这是我的应用代码

from kivymd.app import MDApp
from kivymd.uix.screen import Screen
from kivymd.uix.list import MDList,TwoLineListItem
from kivy.uix.scrollview import ScrollView
from kivy.network.urlrequest import UrlRequest


class CryptoPrices(MDApp):
    def build(self):
        screen = Screen()
        scroll = ScrollView()
        listview = MDList()
        scroll.add_widget(listview)

        def got_json(req,result):
            for x,y in result.items():
                name = x
                symbol = str(y["USD"]) + " USD"
                item1 = TwoLineListItem(text=name,secondary_text=str(symbol))
                listview.add_widget(item1)

        req = UrlRequest('https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,BCH,LTC,XLM,DASH,XEM,LIBRA,BNB,ETH,XMR,XRP,LTC&tsyms=USD',got_json)

        screen.add_widget(scroll)
        return screen


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

链接到buildozer.specs https://textuploader.com/1f7ie

链接到日志文件 https://textuploader.com/1f7ii

解决方法

两个可能的问题:

  1. 您可能需要请求运行时权限。参见runtime permissions
  2. 您可能需要在规范文件中的需求中添加requests
,

在构建应用程序时,您添加的日志文件是buildozer日志。要在运行时获取应用程序日志,请添加logcat函数(buildozer android logcat)在应用程序日志中,您可以找到导致应用程序崩溃的任何要求或权限或其他任何原因

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...