How to get an apk file from the Android device using adb

I needed to get an apk file from my installed apps so after checking few forums I found out this steps which helped me to achieve the goal.

This may vary with the version of Android OS. The following sequence of commands is what worked for me on a non-rooted Nexus 4 device with Android 4.4.4 and also with rooted Nexus 1 with CyanogenMod 7.2.0:

1) Determine the package name of the app, e.g. “com.example.someapp”. Skip this step if you already know the package name.

adb shell pm list packages

Look through the list of package names and try to find a match between the app in question and the package name. This is usually easy, but note that the package name can be completely unrelated to the app name. If you can’t recognize the app from the list of package names, try finding the app in Google Play using a browser. The URL for an app in Google Play contains the package name.

2) Get the full path name of the APK file for the desired package.

adb shell pm path com.example.someapp

The output will look something like this: package:/data/app/com.example.someapp.apk

3) Pull the APK file from the Android device to the development box.

adb pull /data/app/com.example.someapp.apk