practical
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.
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
package:/data/app/com.example.someapp-2.apk
or
package:/data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ==/base.apk
3) Using the full path name from Step 2, pull the APK file from the Android device to the desired destination.
adb pull /data/app/com.example.someapp-2.apk path/to/desired/destination