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 シェル
# 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 に答える