Предыстория: у меня был Nexus 4 с root-доступом и Android 4.4.4, который работал хорошо. Потом пришло уведомление об обновлении до Android 5. Для этого я прошил стоковое рекавери для Android 4.4.4 от Google и начал обновление (но не рутировал телефон, возможно это была ошибка). Сам процесс обновления прошел гладко. После обновления я перепрошил TWRP 2.8.2 и перепрошил с помощью SuperSU 2.36, и сделал резервную копию.
Затем я понял, что некоторые данные (фотографии, электронные книги и т. д.) отсутствуют. Ну, на самом деле не отсутствует, а находится в поддельном каталоге «0» (/storage/emulated/0/0). Кроме того, когда я попытался получить доступ к своей папке с электронными книгами напрямую с помощью FBReader, мне сказали, что недостаточно прав для доступа к каталогу.
Сначала я попробовал кнопку «Исправить разрешения» в TWRP, но это поставило меня в цикл загрузки. После восстановления резервной копии я использовал файловый менеджер TWRP, чтобы переместить все данные из поддельного каталога «0» туда, где они принадлежат, и удалил теперь пустой каталог «0». Перезагрузка снова вызвала экран «Оптимизация приложений», но только для 7 приложений. Теперь я снова могу получить доступ к своим электронным книгам, но по-прежнему нет (старых) фотографий в приложении Google Photos. Фотографии, сделанные после резервного копирования, отображаются нормально. С файловым менеджером или терминалом я могу получить доступ ко всем фотографиям, как только позвоню setenforce 0
. Разрешения, показанные ls -Z /storage/emulated/0/DCIM/Camera
похожими на все фотографии, как видимые, так и невидимые в приложении для фотографий:-rw-rw---- root sdcard_r u:object_r:fuse:s0
. Итак, я предполагаю, что есть какое-то дополнительное разрешение SELinux, которое я должен установить для старых файлов изображений, чтобы приложение для фотографий могло получить к ним доступ. Поэтому мой вопрос: какие концепции разрешений здесь работают и какие команды необходимы для назначения файлов/каталогов определенному приложению? Спасибо.
Обновление: я только что узнал, что могу делать новые снимки только с помощью setenforce 0, поэтому где-то должна быть серьезная поломка SELinux.
Попробуйте использовать бета-версию Supersu 2.49 для Lollipop (LP) 5.0.
Сначала сделайте полный рут.
У меня есть LP 5.0 Touchwiz на вкладке Samsung с SElinux, обеспечивающим и работающим корнем. Версия Supersu в вашем рекавери, вероятно, может быть заменена распаковкой вашего рекавери любым количеством методов и / или наборов инструментов и заменой архива. Лучшим подходом было бы обновить восстановление, если оно доступно. Кроме того, для сценариев исправления разрешений требуется другой/новый подход, начиная с Android 5.0.
Это мой несовершенный сценарий исправления разрешений для другой моей вкладки Samsung с LP 5.1.1:
#!/system/bin/sh
mount -o rw,remount /system
find -type d -exec chmod 755 {} \;
find -type d -name '.*' -exec chmod 755 {} \;
find -type f -name '.*' -exec chmod 644 {} \;
find -type f -name '.su' -exec chmod 755 {} \;
find -type f -exec chmod 755 {} \;
find -type f -name '*.h' -exec chmod 644 {} \;
find -type f -name '*.a' -exec chmod 644 {} \;
find -type f -name '*.o' -exec chmod 644 {} \;
find -type f -name '*.so' -exec chmod 644 {} \;
find -type f -name '*.so.*' -exec chmod 644 {} \;
find -type f -name '*.c' -exec chmod 644 {} \;
find -type f -name '*.cpp' -exec chmod 644 {} \;
find -type f -name '*.cgf' -exec chmod 644 {} \;
find -type f -name '*.xml' -exec chmod 644 {} \;
Повелитель огня
мунбатт74