Я использую KitKat на планшете с двумя пользователями: основным (владельцем) и дополнительным. Мне нужно получить доступ к файлу, созданному приложением вторичного пользователя.
Когда я подключаю планшет к своему рабочему столу (Ubuntu) через USB, он монтируется как медиаустройство (MTP) и показывает мне базовую папку для текущего активного пользователя. [1] Но нужный мне файл находится в другом месте системы, поэтому я подключился через командную строку adb shell
вместо этого.
Подключение через ADB дает мне доступ к более глубоким папкам (и /mnt
/proc
т. Д.), Но я не смог найти файл, в котором ожидал [2], поэтому я /sdcard
все равно заглянул в него . К моему удивлению, я распознал содержимое как базовую папку учетной записи владельца, хотя текущий активный пользователь является вторым пользователем.
Это также говорит мне, что, если мне когда-нибудь понадобится, я не смогу получить доступ к базовой папке для вторичного пользователя через adb shell
.
Как получить доступ к планшету от adb shell
имени дополнительного пользователя, а не основного пользователя (владельца)? (Возможность доступа к файлам вторичного пользователя достаточно хороша.)
[1] Я не уверен, что правильный термин здесь. Я имею в виду папку с Android, Download and Pictures, специфичную для конкретного пользователя.
[2] FWIW Я экспортирую файл OPML из Flym . Flym сообщает, что экспорт OPML генерируется в, /storage/emulated/10/Flym_123456789.opml
но я могу только добраться до /storage/emulated
- нет названной подпапки 10
, только legacy
такой же, как /sdcard
(основная папка первичного / владельца, а не базовая папка вторичного пользователя).
источник
Ответы:
В
legacy/
местах всегда указывает на данные текущего активного пользователя. Позвольте мне сначала указать на несколько связанных вопросов / ответов, явно связанных с этими проблемами многопользовательского хранения для некоторой предыстории:Итак, чтобы найти файлы вторичного пользователя:
/data/media
и/storage/emulated
0
кандидаты принадлежат владельцу, более высокие числа вторичных потребителей/sdcard/0
указывает на внутреннюю SD-карту, а/sdcard/1
должно быть внешним (если доступно). Аналогично для хранилища, прикрепленного через OTGПомните, что вам может потребоваться быть пользователем root для доступа к данным пользователя, отличным от того, который в данный момент активен на устройстве.
Также см:
источник
emulated/
должны указывать на данные дополнительного пользователя. Нет способа получить доступ ко всем без рута. И правильно, нет официального процесса рутирования вашего устройства; Возможно, вы захотите проверить нашу рутирующую tag-wiki и рутирующий индекс, чтобы проверить генералы и ваше устройство. Если нет в списке, не стесняйтесь задавать новый вопрос для этого.