首页 > 解决方案 > NLTK 不能在带有 KivyMD 的 Android Buildozer 应用程序中工作

问题描述

我正在使用 KivyMD 制作一个使用 NLTK 的基本应用程序。该程序在 Pycharm IDE 中运行良好,但在使用 Buildozer 编译时,Android App 打开后崩溃。JSON 可以很好地导入 json 文件数据集;所以,我想..NLTK 有一些问题。这是main.py文件:

import kivymd
from kivymd.app import MDApp
from kivymd.uix.screen import Screen
from kivymd.uix.label import MDLabel
import nltk
import json
with open("intents.json") as file:
    data = json.load(file)
words = str(nltk.word_tokenize(str([data["intents"][0]["patterns"][0]])))
from nltk.stem.lancaster import LancasterStemmer
stemmer = LancasterStemmer()
stemmertest = stemmer.stem('addition')

class MainApp(MDApp):
    def build(self):
        screen = Screen()
        label = MDLabel(text=words, pos_hint={'center_x': 0.7, 'center_y': 0.3})
        label2 = MDLabel(text=stemmertest, pos_hint={'center_x': 0.7, 'center_y': 0.5})
        screen.add_widget(label)
        screen.add_widget(label2)
        return screen
MainApp().run()

我将 Buildozer.spec 中的要求

requirements = python3,kivy==2.0.0,kivymd==0.104.1,nltk==3.2.5,goslate,chardet,idna

请帮助我。

标签: pythonandroidnltkkivymdbuildozer

解决方案


进入手机的开发者模式并确保其“USB 调试已连接”已打开。将手机插入计算机并输入 CMD 行类型: ADB logcat 会弹出很多东西,稍等片刻,直到它稳定下来。这或多或少会吐出你的手机正在做的一切。尝试运行您的应用程序并查看它给您的错误消息。这是您将获得的最有价值的调试,因为通常应用程序崩溃不会显示任何错误消息。

来自https://stackoverflow.com/a/62825374/9486392

请通过编辑在问题中分享该错误消息。


推荐阅读