Contexte : J'avais un Nexus 4 rooté avec Android 4.4.4 qui fonctionnait bien. Puis j'ai reçu la notification de mise à jour vers Android 5. À cette fin, j'ai flashé la récupération stock pour Android 4.4.4 de Google et j'ai commencé la mise à niveau (mais je n'ai pas déraciné le téléphone, peut-être que c'était une erreur). Le processus de mise à niveau lui-même s'est déroulé sans problème. Après la mise à niveau, j'ai re-flasher TWRP 2.8.2 et ré-enraciné avec SuperSU 2.36, et fait une sauvegarde.
Puis, je me suis rendu compte que certaines données (photos, livres électroniques, ) étaient manquantes. Enfin, pas réellement manquantes, mais situées sous un répertoire "0" fallacieux (/storage/emulated/0/0). De plus, lorsque j'ai essayé d'accéder directement à mon dossier de livres électroniques avec FBReader, ce dernier m'a dit que les permissions d'accès au répertoire étaient insuffisantes.
D'abord, j'ai essayé le bouton "Fix Permissions" dans TWRP, mais cela m'a mis dans une boucle de démarrage. Après avoir restauré la sauvegarde, j'ai utilisé le gestionnaire de fichiers de TWRP pour déplacer toutes les données du faux répertoire "0" là où elles doivent être et j'ai supprimé le répertoire "0" maintenant vide. Le redémarrage a de nouveau fait apparaître l'écran "Optimisation des applications", mais seulement pour 7 applications. Je peux à nouveau accéder à mes livres électroniques, mais toujours pas de (vieilles) photos dans l'application Google Photos. Les photos prises après la sauvegarde s'affichent bien. Avec le gestionnaire de fichiers ou le terminal, je peux accéder à tous photos très bien une fois que j'ai appelé setenforce 0
. Les permissions indiquées par ls -Z /storage/emulated/0/DCIM/Camera
se ressemblent sur toutes les photos, qu'elles soient visibles ou non dans l'application Photos : -rw-rw---- root sdcard_r u:object_r:fuse:s0
. Je suppose donc qu'il y a une autorisation SELinux supplémentaire que je dois définir sur les anciens fichiers image pour que l'application photo puisse y accéder. Par conséquent, ma question est la suivante : quels concepts de permission sont à l'œuvre ici, et quelles commandes sont nécessaires pour attribuer des fichiers/répertoires à une certaine application ? Merci.
Mise à jour : Je viens de découvrir que je ne peux prendre de nouvelles photos qu'avec setenforce 0, donc il doit y avoir une rupture majeure de SELinux quelque part.