adb pull wrapper to pull package private files from Android device.
WORKS ONLY ON DEBUG APPLICATIONS.
Developers and testers need to access data from /data/data/com.viliussutkus89.adb.pull.as/cache.
adb pull /data/data/.../cache is no go, because the directory is private.
adb run-as com.viliussutkus89.adb.pull.as cp /data/data/com.viliussutkus89.adb.pull.as/cache /data/local/tmp is no go, because /data/local/tmp may require storage permissions.
adb su -c cp /data/data/.../cache /data/local/tmp is no go, because it requires root.
Recursive wrapper around adb.
Listing directories and reading files while using runtime permissions of specified application.
Piping contents into /data/local/tmp using normal adb user permissions and adb pull'ing into host computer.
adbPullAs is available on PyPI
python -m pip install adbPullAsadbPullAs is used as follows:
adbPullAs PACKAGE_NAME ANDROID_SOURCE... COMPUTER_DESTINATION_DIR.
COMPUTER_DESTINATION_DIR can be omitted to pull into current working directory,
but only with a single supplied ANDROID_SOURCE (example 1).
Multiple ANDROID_SOURCEs require COMPUTER_DESTINATION_DIR to be supplied (example 2).
adbPullAs com.viliussutkus89.application /data/data/com.viliussutkus89.application/databases/androidx.work.workdb
adbPullAs com.viliussutkus89.application /data/data/com.viliussutkus89.application/cache /data/data/com.viliussutkus89.application/files ./pulled_from_device