android - Kivy apk 在 android 上使用 SQLite3 崩溃
问题描述
我有一个使用 sqlite3 的小型 Kivy 应用程序它在 windows 上运行良好,即使在 Ubuntu 上我也使用 VirtualBox 上的 Buildozer 来制作 apk 问题是应用程序运行正常,直到插入或从数据库读取。在 Android 上,应用程序崩溃了
我的代码很简单:
conn = sqlite3.connect('mydb')
first_name = self.first_name_text_input.text
last_name = self.last_name_text_input.text
sql = ''' INSERT INTO students(firstname,lastname)
VALUES(?,?) '''
cur = con.cursor()
cur.execute(sql, (first_name, last_name))
在这一点上,应用程序在 android 上崩溃。当 Buildozer 制作 apk 时,我在 main.py 的根目录中有数据库文件,所以我猜数据库文件在 apk 上。
我必须对数据库文件做其他事情吗?如何调试此应用程序以查看其崩溃的原因?我在哪里可以找到日志文件?
非常感谢
科斯塔斯
解决方案
尝试将手机连接到 PC,然后在手机设置中启用 USB 调试。在 PC 上打开终端,然后键入adb logcat *:E
. 在您的手机上打开您的 kivy 应用程序,并尝试在应用程序崩溃时在您的 PC 上查看错误。
推荐阅读
- c - rsize_t 定义在哪个标头中?
- python - 如何通过 tkinter 中的按钮传递参数
- node.js - 使用 Gmail API Node.js 客户端发送大型附件 (> 5 MB)
- sml - 在 SML 中重新定位元组元素的更短方法
- grep - 如何对多个字符串一起使用 -v 选项
- angular - const 在赋值后总是未定义
- javascript - 只有满足if条件才需要调用api
- javascript - 如何动态地将类添加到 HTMLCollection(将 HTMLCollection 转换为数组的问题)?
- sql - 制作可以与层次结构中的任何对象关联的记录的聪明方法是什么?
- android - Flutter:如何使用从文档中恢复 id 的 foreach 从 firebase 获取数据