2

我的应用程序使用数据库并且在所有 Android 设备上运行良好。

最近一些用户指出它在 HTC Tattoo 上崩溃了。我决定试一试,借了一个。

因此,当我调用时出现错误: this.getWritableDatabase();

09-27 18:26:22.292: ERROR/Database(1537): sqlite3_open_v2("/data/data/com.xxx.xxx/databases/radars.db", &handle, 6, NULL) failed
09-27 18:26:22.292: WARN/System.err(1537): android.database.sqlite.SQLiteException: unable to open database file

我已经检查过,数据库在设备中:

在此处输入图像描述

我真的无法理解会发生什么......

非常感谢您的帮助!

编辑:

正如 LAS_VEGAS 所注意到的

# sqlite3 /data/data/com.xxx.xxx/databases/radars.db 

给出这个结果:

sqlite3: not found 

看来 HTC Tattoo 有严重的 SQL 问题:

adb shell
# cd /system/xbin
# ls | grep sqlite3

//没有//

4

1 回答 1

1

这很奇怪。我认为当您尝试同时从多个线程访问数据库文件时可能会发生这种情况。会是这样吗?

您是否也出于测试目的尝试getReadableDatabase()过,也许它提供了一个线索...

编辑:
你可以从远程外壳访问吗?: http:
//developer.android.com/guide/developing/tools/adb.html#sqlite

EDIT2:
所以看起来HTC纹身没有sqlite3。

于 2011-09-27T16:52:48.277 回答