Your phone, step by step.
Plug the phone in, then choose what to do with it: check its apps here, back them up to this computer, or put a backup back on a phone.
The Android app checks the apps from the phone itself: the same reports, and from Pro up, backups to the vault and a notification when an app changes.
Checking a phone needs an account; a free one is enough.
Turning on USB debugging
- Settings, About phone, tap Build number seven times.
- Settings, System, Developer options, turn on USB debugging.
- Plug in the cable and accept the prompt the phone shows.
Apps you installed are listed on their own; tick the second box to include the ones that came with the phone. Their APKs can be checked too; there are simply several hundred of them.
If the phone does not appear
- Device is busy
- A running adb server or the phone maker's desktop
software holds the phone. Close it, run
adb kill-server(Windows:taskkill /F /IM adb.exe) and try again. The browser cannot do that for you. - Nothing in the picker
- USB debugging is off, the cable is charge-only, or on Windows the adb interface sits on a vendor driver; Zadig can bind WinUSB to it.
- No prompt on the phone
- Unplug, replug, and watch the phone's screen: the "Allow USB debugging" dialog is what authorises this computer.
Checking writes nothing to the phone
Checking and backing up only read, and this is the whole of what they ask the phone for:
getprop the phone's settings, in one dump pm list packages -3 the apps you installed pm list packages -s the ones that came with the phone pm list packages -i which store each app came from pm list packages --show-versioncode which version of each pm path <package> where that app's files are sha256sum <file> each APK's checksum, worked out on the phone stat -c %s <file> and its size
The getprop dump comes back whole; what is taken out of it is the
model and brand, the marketing name, the Android version and its API level, the build id, the
security patch date and the processor kinds. Nothing else of it is kept or sent. The checksums
are what tell a build the site has checked before from one it has not, so a build already on
file is never copied over the cable.
Then it copies the files of the apps you chose. Nothing is installed, changed or deleted, no app is launched, and nothing else is read - not messages, photos, accounts or app data. An APK is the same file for everyone running that version of that app; it carries none of your own.
Putting apps back is the one thing here that writes, and only when you
press Install selected: the files of the apps you picked are copied to
/data/local/tmp and installed through the package manager the way
adb install does it, then the copies are deleted. The apps come back
without their data - that never left the phone.
Rather pull them yourself
The phone does not have to be connected here at all. Pull
what you want with your own adb and upload the files on
Upload an APK:
adb shell pm list packages -3 adb shell pm path com.example.app adb pull /data/app/~~Ab.../com.example.app-Xy.../base.apk
Upload every file of one app together - the base and its
split_*.apk - and they are checked as one app, which is how the
phone installed it. Pulling the whole directory takes the lot in one go:
adb pull /data/app/~~Ab.../com.example.app-Xy.../ com.example.app