Note: This gist may be outdated, thanks to all contributors in comments.
adb is the Android CLI tool with which you can interact with your android device, from your PC
You must enable developer mode (tap 7 times on the build version in parameters) and install adb on your PC.
Don't hesitate to read comments, there is useful tips, thanks guys for this !
To get the list of your installed applications:
adb shell pm list packages -f -3
If you want to fetch all apk of your installed apps:
for APP in $(adb shell pm list packages -3 -f)
do
adb pull $( echo ${APP} | sed "s/^package://" | sed "s/base.apk=/base.apk /").apk
done
To fetch only one application, based of listed packages results:
adb pull /data/app/org.fedorahosted.freeotp-Rbf2NWw6F-SqSKD7fZ_voQ==/base.apk freeotp.apk
To backup one application, with its apk:
adb backup -apk org.fedorahosted.freeotp -f freeotp.adb
To backup all datas at once:
adb backup -f all -all -apk -nosystem
To backup all datas in separated files:
for APP in $(adb shell pm list packages -3)
do
APP=$( echo ${APP} | sed "s/^package://")
adb backup -f ${APP}.backup ${APP}
done
First, you have to install the saved apk with adb:
adb install application.apk
Then restore the datas:
adb restore application.backup
You will need the zlib-flate binary. You will able to use it by installing the qpdf package.
apt install qpdf
Then, to extract your application backup:
dd if=freeotp.adb bs=24 skip=1 | zlib-flate -uncompress | tar xf -
If you have problems using adb backup (empty files, no prompts, other oddness), you can give a try to bu backup through adb shell. Thanks to @nuttingd comment.
adb shell 'bu backup -apk -all -nosystem' > backup.adbadb shell 'bu restore' < backup.adbSometimes, you have already installed (but non wanted) apps when you buy an Android Smartphone. And you can't uninstall these apps. So Bad. And some pre-installed app are not present on PlayStore. WTF.
You can remove them with this command, and root is not needed:
adb shell pm uninstall --user 0 non.wanted.app
You can first disable them, then when you are sure, you can remove them.
To list disabled apps:
adb shell pm list packages -d
Example:
# Google Chrome
adb shell pm uninstall --user 0 com.android.chrome
# Gmail
adb shell pm uninstall --user 0 com.google.android.gm
# Google Play Films et Séries
adb shell pm uninstall --user 0 com.google.android.videos
# Youtube
adb shell pm uninstall --user 0 com.google.android.youtube
# Google Play Music
adb shell pm uninstall --user 0 com.google.android.music
# Google Hangouts
adb shell pm uninstall --user 0 com.google.android.talk
# Google Keep
adb shell pm uninstall --user 0 com.google.android.keep
# Google Drive
adb shell pm uninstall --user 0 com.google.android.apps.docs
# Google Photos
adb shell pm uninstall --user 0 com.google.android.apps.photos
# Google Cloud Print
adb shell pm uninstall --user 0 com.google.android.apps.cloudprint
# Google Actualités et météos
adb shell pm uninstall --user 0 com.google.android.apps.genie.geniewidget
# Application Google
adb shell pm uninstall --user 0 com.google.android.googlequicksearchbox
https://stackoverflow.com/questions/4032960/how-do-i-get-an-apk-file-from-an-android-device https://androidquest.wordpress.com/2014/09/18/backup-applications-on-android-phone-with-adb/ https://stackoverflow.com/questions/34482042/adb-backup-does-not-work https://stackoverflow.com/questions/53634246/android-get-all-installed-packages-using-adb https://www.dadall.info/article657/nettoyer-android https://etienne.depar.is/a-ecrit/Desinstaller-des-applications-systemes-d-android/index.html
Doesn't work with HONOR Pad X8a (NDL-W09), adb backup is deprecated but it worked, however for mozilla firefox it created just 1kb large backup so it's useless, and then adb pull /sdcard/Android/data/ produces just empty folders.
EDIT: "bu backup" worked, but DOUBLE QUOTES for WINDOWS users not '' but "" ... however not sure if any more data is in, it's a 34 MB TAR and I don't know whether it's compresses, the raw Android/Data is 30 MB so at least it's 4 Megs larger if the TAR isn't compressed, but since I'm not on a linux machine anywhere close, I cant see the contents right now..