Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't 'data' folder be displayed just like in DDMS file explorer?

I list out files in '/' by:

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

And I get those in list:

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

I have two questions:

1.Why cann't I access '/data' folder just like Eclipse DDMS file explorer?

2.Why it is different from the DDMS which show only:

data
sdcard
system

Thanks!

like image 886
herbertD Avatar asked Sep 28 '10 07:09

herbertD


2 Answers

On rooted device you can do this to access the /data folder:

  1. Open cmd
  2. Type 'adb shell'
  3. su
  4. Press 'Allow' on device
  5. chmod 777 /data /data/data /data/data/com.application.pacakage
  6. Go to the DDMS view in Eclipse

After this you should be able to browse the files on the device.

like image 105
peceps Avatar answered Nov 13 '22 18:11

peceps


It is mostly because of security issues. If /data folder is visible to everyone, then some malicious app can read/temper/delete the data of some other app which can get really worse if some app is storing some sensitive data like password/credit card number etc. So the whole filesystem is only visible via debug console (or ddms).
You can not access data of any app on the device unless it is rooted because by doing so, integrity of system might be compromised and it may lead of weird behavior. Which means you can not access cached data/databases of app.

like image 32
bhups Avatar answered Nov 13 '22 17:11

bhups