Почему папка «data» не может отображаться так же, как в файловом обозревателе DDMS? - PullRequest
5 голосов
/ 28 сентября 2010

Я перечисляю файлы в '/' по:

File directory = new File("/");
fill_listview(directory.listFiles());

И я получаю их в списке:

sqlite_stmt_journals
config
cache
sdcard
d
etc
system
sys
sbin
proc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev

У меня два вопроса:

1.Почему я не могу получить доступ к папке '/ data', как Eclipse DDMS file explorer?

2.Почему он отличается от DDMS, который показывает только:

data
sdcard
system

Спасибо!

Ответы [ 3 ]

12 голосов
/ 17 января 2012

На устройстве root вы можете сделать это для доступа к папке / data:

  1. Открыть cmd
  2. Тип 'adb shell'
  3. su
  4. Нажмите «Разрешить» на устройстве
  5. chmod 777 /data /data/data /data/data/com.application.pacakage
  6. Перейти к представлению DDMS в Eclipse

После этого вы сможете просматривать файлы на устройстве.

7 голосов
/ 28 сентября 2010

Это в основном из-за проблем безопасности. Если папка / data видна всем, то какое-то вредоносное приложение может считывать / темперировать / удалять данные другого приложения, что может стать еще хуже, если какое-то приложение хранит некоторые конфиденциальные данные, такие как пароль / номер кредитной карты и т. Д. виден только через консоль отладки (или ddms).
Вы не можете получить доступ к данным любого приложения на устройстве, если оно не является рутированным, потому что при этом целостность системы может быть нарушена и может привести к странному поведению. Это означает, что вы не можете получить доступ к кэшированным данным / базам данных приложения.

0 голосов
/ 10 мая 2015

Я сделал это на некорневом устройстве, и оно заработало

   run-as com.your.package ls -l /data/data/com.your.package
   run-as com.your.package rm /data/data/com.your.package/databases/mydatabase.db

Ссылка: http://denniskubes.com/2012/09/25/read-android-data-folder-without-rooting/

...