Mi aplicación utiliza un controlador de excepciones no detectadas que me envía el rastreo de la pila cuando falla la aplicación. A menudo recibo este informe de usuarios aleatorios.Excepción aleatoria android.database.sqlite.SQLiteException: no se puede abrir el archivo de base de datos
No puedo replicarlo, la apertura de la base de datos siempre tiene éxito en mi caso. Esta no es una base de datos almacenada en una tarjeta SD externa, solo una base de datos abierta con SQLiteOpenHelper(context, "SomeName", null, someVersionCode)
.
¿Tienes alguna experiencia con esto? ¿Cuáles son las posibilidades que puedo verificar antes de abrir la base de datos?
Gracias!
android.database.sqlite.SQLiteException: unable to open database file
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.sqlite.SQLiteException: unable to open database file
at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1698)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:739)
at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:761)
at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:754)
at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:476)
at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
asegúrese de que su nombre de la base de datos dentro de la carpeta activos y declarar nombre de la base de la clase de ayuda es la base de datos misma. y compruebe la ruta de su base de datos con el nombre de la base de datos mientras intenta copiar la base de datos. pon tu código aquí para que otros puedan verificar tu clase de ayuda de la base de datos. – Maulik
El error muestra que la base de datos no pudo abrir la base de datos, es decir, puede no haber establecido la condición "SQLiteDatabase.OPEN_READWRITE" en el método de base de datos abierta y también cambiar las propiedades del permiso de escritura de lectura de cambio de archivo de base de datos. asegúrate de que esté sobre ambos casos. – Maulik
visite este [enlace] (http://stackoverflow.com/questions/4187631/unable-to-open-database-file-when-using-sqliteopenhelper-with-instrumentation) puede ser una ayuda completa para usted – Engineer