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 :
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.