Search code examples
androidadbroot

Phone is rooted but can't pull files from /data/data folder


My phone Samsung Galaxy S5 mini is rooted. I'm trying to pull files from /data/data/myapp.package/ to folder on my PC.

adb pull /data/data/myapp.package E:\myapp\myapp.package

it gives me this error

adb: error: failed to copy '/data/data/myapp.package' to 'E:\myapp\myapp.package': Permission denied

I found many questions like mine but no answer solved my problem. Some suggested to execute this command adb root before pulling files. Some suggested to install adbd insecure app to enable root access. In fact after installing that app, phone disappeared from adb terminal. Both solution didn't work for me.

BTW, I can copy files using cp command from adb shell but I have to copy files to sdcard and then pull from sdcard. I'm looking for solution which allows me to copy files directly from /data/data/myapp.package to my PC

Any solution?


Solution

  • For your adb to be able to access /data/data directly (for adb pull), your adbd should be running as root - which can generally be done by adb root command.

    adb root would not work on commercial devices like Samsung Galaxy S5 mini as commercial devices have ro.secure=1, i.e., the adbd can't be restarted as root due to a check of property called ro.secure. adbd insecure app circumvents this and restarts adbd in root mode to enable adb pull, etc. to work.

    In short, if adbd insecure app doesn't work for you, it's not possible to do adb pull from /data/data in your existing ROM. It might be possible if you change the ROM / do some boot.img tweaks, but I would probably suggest trying latest version / different versions of adbd insecure app before going for ROM changes.

    Read more on rooting here.