When I run the following from an adb shell, with or without SU root:
cp /data/app/* <my location on sd>
I always get:
cp: permission denied
In fact, no matter how or where I cp from or to, and no matter what I am trying to copy, even if I leave all arguments blank, I still get "cp: permission denied" -- I have busybox installed in /system/xbin from /data/local and as far as I can tell it installed ok. Phone is a rooted Sprint hero 1.56.651.2 running stock ROM.
I have also tried to 'adb pull /data/app' and it always find 0 files. None of this is a big deal for me, however, as I am just trying to backup a bunch of apks for free apps in case versions change too much. Mostly just curious...
EDIT: Both Astro and AppManager handled the (non-private) apk backups fine -- so I have no real need for the cp method to work, but I am still wondering why it will not -- is it the adb shell? must I use a terminal emulator from on the phone instead? something else? Anyways, if I really want to pursue it, perhaps I should take it to a busybox thread at this point...
EDIT2: It appears as if the 'cp' command as I was running it wasn't getting passed through busybox (not sure why). From what I can piece together reading other threads, it seems that if you have installed busybox on top of a ROM that doesn't already have it (like stock, after rooting and recovery setup) than you must prefix commands with 'busybox' when entered, as in 'busybox cp /data/app/* <my location>' and it does work for me that way. Still cannot seem to copy /data/app-private which I thought having root access would allow -- I guess I just don't understand nearly enough about busybox implementation, linux permissions, and, well, linux in general.