У меня Nexus 4 с Android 5.0.1. Я копирую файл, делая следующее:
fastboot boot boot.img
adb push IMG_20140710_105128.jpg /sdcard/DCIM/Camera/
adb shell chmod ...
и adb shell chown ...
.См. образец:
-rw-rw-r-- root sdcard_rw 2033519 2014-07-10 10:51 IMG_20140710_105128.jpg
-rw-rw-r-- root sdcard_rw 2684444 2014-12-04 16:08 IMG_20141204_160833.jpg
-rw-rw-r-- root sdcard_rw 2271545 2014-12-06 16:14 IMG_20141206_161444.jpg
Я обычно перезагружаюсь, захожу в эмулятор терминала и набираю ls -la
тот же каталог. Я получаю «Отказано в доступе» при попытке перечислить файл, который я скопировал (IMG_20140710_105128.jpg), и он не читается во всех программах.
lstat './IMG_20140710_105128.jpg' failed: Permission denied
-rw-rw-r-- root sdcard_rw 2684444 2014-12-04 16:08 IMG_20141204_160833.jpg
-rw-rw-r-- root sdcard_rw 2271545 2014-12-06 16:14 IMG_20141206_161444.jpg
Что происходит? Почему это делается? У меня есть root-доступ, чтобы изменять все, используя небезопасный метод загрузки. Меняются ли разрешения при обычной перезагрузке? Есть идеи? Это происходит со всеми файлами, которые я нажимаю. Неважно, в какой раздел я его положил. Я попытался сделать ls -la
это как root после перезагрузки в обычном режиме, и я получил ту же ошибку.
В режиме восстановления adb будет работать от имени пользователя root, поэтому любой файл, который вы отправляете, будет иметь root в качестве владельца и группы. Как только ваше устройство загрузится, вы не сможете увидеть эти файлы, потому что они не находятся в разделах media_rw и sdcard_r.
Я исправил это, поместив файлы в /sdcard/DCIM/Camera/ не как root
Райан Конрад