Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I have a rooted android phone. I am trying to pull the applications from /system/app/. However this simply does not copy the apk. What I have tried.

    adb shell
    su
    cd data
    cd app
    ls

A lot of applications are shown. However when I try to pull it it says

adb pull /data/app test

pull: building file list...
0 files pulled. 0 files skipped.

When I try to pull it from the system/app it pulls it but no file is created on my computer. I have specified the file name, tried with it and without it. Could someone please tell me what I am doing wrong?

I have also tried it individually with specific apks. But that doesnt work either.

share|improve this question
1  
    
I have gone through them. My issue is that I cant use adb pull to copy the apk onto my pc. –  Sab Jun 26 '12 at 6:54

3 Answers 3

up vote 6 down vote accepted

If you're using su to get root privileges when you shell in (which you've indicated you are) then that means you're not root on the shell by default. adb pull fails with that error message because it doesn't have permission to index the directory and pull the contents.

You should be able to restart adb on your device with adb root first:

adb root
adb pull /data/app/

And a fully illustrative example to show that this is the likely issue (I used /data/misc just because it's smaller):

[09:27:23] ~/adb-test $ adb pull /data/misc/
pull: building file list...
0 files pulled. 0 files skipped.  <-------------- Same issue because we're not root yet!
[09:27:49] ~/adb-test $ adb root
[09:27:56] ~/adb-test $ adb pull /data/misc/
pull: building file list...
... Snip all of the individual files here ...
24 files pulled. 0 files skipped.
65 KB/s (7732 bytes in 0.115s)
[09:27:59] ~/adb-test $

Another option for restarting adb as root is Chainfire's adbd insecure app. Some ROMs will not support the adb root command, though, as they were not built to allow it. This will be true if you root a stock ROM without installing a custom one, for example.

share|improve this answer
    
It says adbd cannot run as root in production builds –  Sab Jun 26 '12 at 13:30
    
Sounds like something is not right with root. Which device is this, and how was it rooted? –  Chahk Jun 26 '12 at 13:41
    
Also, some hits on Google search for this error seem to indicate that this could also be fixed with different USB drivers. –  Chahk Jun 26 '12 at 13:45
2  
@Sab: You can try the adbd insecure app instead, although it costs a nominal fee. Your ROM may not support the adb root command, unfortunately. Another option would be to try to find either a boot image that supported unsecure adbd startup or a different ROM entirely. –  eldarerathis Jun 26 '12 at 13:46
1  
@Sab: Also, now that I look at the XDA thread again, Chainfire has provided a download to the app for free on the forums (bottom of the first post), so you can try it without worry. –  eldarerathis Jun 26 '12 at 14:30

You do not need adb to run as root to pull the actual files, but you do need it to run as root to list the directory in which they are located (which would be an implicit requirement to pulling the whole directory).

If you want to do it without root, pull /data/system/packages.xml and extract the code paths of the applications from there, then adb pull them individually by their full path names. That could be a great opportunity to learn about grep and xargs - or use your favorite host-side scripting language.

share|improve this answer

First, make sure you have the latest version of ADB utility by downloading the newest Android SDK version from here.

The syntax is adb pull <path to apk> <path on PC>. For "path on PC" portion try specifying the full path, with drive letter like so:

adb pull /data/app/myapp.apk c:\test

To pull all of the apps from /data/app directory try this:

adb pull /data/app/ c:\test

share|improve this answer
    
Let me update the adb and try. Syntax wise I dont think I am making any error. –  Sab Jun 26 '12 at 13:19
    
You were missing the "/" after the source path if you were trying to pull the entire directory. –  Chahk Jun 26 '12 at 13:26
    
I guess that was a typo besides it doesnt work with individual apks either. My system/app shows that these many bytes have been transferred but I dont see anything in the directory where I run adb pull or anywhere else. –  Sab Jun 26 '12 at 13:28
    
Actually no, the closing / isn't necessary after all. –  Chahk Jun 26 '12 at 13:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.