问题描述
我是猕猴桃新手,想要一些帮助。
我正在使用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
解决方法
两个可能的问题:
- 您可能需要请求运行时权限。参见runtime permissions
- 您可能需要在规范文件中的需求中添加
requests
。
在构建应用程序时,您添加的日志文件是buildozer日志。要在运行时获取应用程序日志,请添加logcat函数(buildozer android logcat
)在应用程序日志中,您可以找到导致应用程序崩溃的任何要求或权限或其他任何原因