Как я могу получить доступ к файлам в «/ data / data» и скопировать их на карту памяти без рута?

17

Есть ли способ получить доступ к файлам /data/dataи скопировать их на карту памяти? У меня нет root-доступа.

user2463482
источник

Ответы:

27

Без корневого доступа у вас есть 2 варианта. Обе опции (могут) позволяют вам получить доступ к файлам для определенного приложения, например папки /data/data/com.app.packagename.

  1. Если приложение отлаживаемо, вы можете использовать run-asкоманду в оболочке adb (более подробную информацию о том, что такое adb и как его установить, можно найти здесь )

    adb shell
    run-as com.your.packagename` 
    cp /data/data/com.app.packagename/
    
  2. Если приложение не может быть отлажено, вы можете использовать функцию резервного копирования Android.

    adb backup -noapk com.app.packagename
    

    Теперь вам будет предложено «разблокировать устройство и подтвердить операцию резервного копирования». Лучше НЕ предоставлять пароль, иначе становится сложнее читать данные. Просто нажмите «Резервное копирование моих данных». Полученный файл 'backup.ab' на вашем компьютере содержит все данные приложения в формате резервной копии Android. По сути это сжатый tar-файл. На этой странице объясняется, как вы можете использовать команду OpenSSL zlib для ее распаковки. Вы можете использовать adb restore backup.dbкоманду для восстановления резервной копии.

THelper
источник
3
Это также относится к приложениям с android:allowbackup="false"?
Key-Six
2
@Drejon Нет, я не думаю, что это сработает в этом случае (но я не проверял это, поэтому я не уверен на 100%).
THelper
1
Я уверен, что есть некоторые случаи, когда приложение не позволяет выполнять резервное копирование. При создании резервной копии всех приложений, они просто ничего не делают. AFAIK, некоторые приложения могут предоставлять ограниченное подмножество файлов или даже что-то нестандартное, поэтому не рассматривайте это как всегда 1: 1 каталога в / data / data Кстати, BlackBerry заставляет меня использовать какой-то пароль, но его можно расшифровать (если у вас есть пароль). Я думаю, что я использовал sourceforge.net/projects/adbextractor для этого.
v6ak
2
Мне удалось получить его с помощью резервного копирования adb -noapk com.app.packagename. Вы получите backup.ab, затем вам нужно будет преобразовать его в tar (чтобы открыть его с помощью 7zip). Вы можете преобразовать его с помощью sourceforge.net/projects/adbextractor - там это баночка внутри, называется abe.jar. Затем Вы можете выполнить команду java -jar abe.jar распаковать backup.ab backup.tar
Игорь Вукович
0

Что-то легковесное для резервного копирования данных приложения Android (файл .db) или прямой доступ через USB. Отладка, даже если телефон не поддерживает UMS.

Мельницы
источник