Erreur d'accès au fichier de base de données

Soumis par GoZ le ven 14/12/2007 - 22:36

Erreur d'accès au fichier de base de données

Lors de la réalisation des exercices proposés par google, j'ai été confronté à une erreur. Du jour au lendemain, l'application n'a plus fonctionné. L'emulateur affichait l'erreur suivante :

Debug Android

En passant en mode Debug, j'ai pu localiser l'erreur dans le fichier notepadv1, à la fonction fillData().

>List rows = dbHelper.fetchAllRows(); 

L'erreur se situe donc dans l'accès à la base de données. Cette hypothèse à été vérifiée en regardant le logcat.

Database Failed to open database file "databases/data" - unable to open database file 

Le fichier data était bien présent sur l'émulateur (/data/data/nom_package/databases/) mais inaccessible.

La solution a donc été de supprimer le fichier data mais également l'arborescence du package et le package lui-même ce qui donne :

 

$ adb shell $ rm­ /data/data/com.google.android.demo.notepad1/databases/data $ rmdir /data/data/com.google.android.demo.notepad1/databases $ rmdir /data/data/com.google.android.demo.notepad1

ou plus simplement

$ adb shell $ rm -r /data/data/com.google.android.demo.notepad1

L'execution de l'application c'est ensuite effectuée de manière normale.