AndroidDC 1.4.0 - a backup in one file
A backup you can hold in one hand, and a classic window that says more.
A backup is one file
A backup is now a single .zip, named after the phone and the time - one file to copy, to move, or to put on a drive of its own. The files are still pulled into a folder first, because that is what adb writes; the folder is packed and then removed, and the pulled files are let go of only after the zip has been read back with everything in it. Photos, video and APKs go in as they are rather than being squeezed again, so packing costs minutes and not hours.
Restoring reads the zip. Nothing is unpacked whole: each file is taken out, sent to the phone, and dropped again.
Cancel works while it packs, and a stopped pack leaves no half-written zip behind - the pulled folder is what is kept, and it opens exactly like a zip does. So do backups taken with 1.3.0.
You can see what is in one
What is inside lists every file in the opened backup - which part it belongs to, where it was on the phone, how big it is - read from the zip's own index, with a find box over it. Pick some lines and Save a copy ... writes those files onto this PC: one photo out of a backup, with no phone in the room.
Opening a backup reads its manifest and stops there, so a backup of forty thousand photos names its phone at once. The lists read the backup itself, and only when you look at them, with a rolling bar and a count while they do. Measured: a backup of six thousand files opens in 39 ms and lists in 1.4 s - where an array that grows by copying itself used to freeze the window for minutes.
The backups you have
My backups shows one folder. A box at the top says which, Browse ... changes it, and it starts at wherever your last backup went. What is listed is what is in that folder at this moment - zips and older folder backups alike - so one moved into it appears and one taken out of it is gone, with no list to tidy. Both windows follow the same folder.
The apps in a backup, in words you can act on
Every app is a row: what it is called, its package, the version the backup holds, its size, and how it stands against the phone in front of you.
| It says | What it means | What to do |
|---|---|---|
| not on the phone | the backup has it, this phone does not | it is ticked for you; press Install ticked apps |
| on the phone | the same version is there already | nothing |
| older on the phone | the phone has an earlier version | tick it to bring the phone up to the backup's version |
| newer on the phone | the phone has moved past the backup | Android refuses an older version over a newer one; remove the app on the phone first |
The ones the phone lacks come first, a find box narrows the list by name or package while the ticks stay with their apps, and a refused install says what to do about it.
The names come from the backup itself: taking one writes down what each app was called and which version it was, while the phone still has them. A backup read a year from now says WhatsApp, not com.whatsapp, even for an app that phone no longer has.
The classic window says more and asks less
- It opens where you left it, at the size you left it - unless that place is no longer on a screen this PC has.
- Every one of its 190 buttons says what it does on hover. 125 had nothing, and a test fails if a new one ever ships silent.
- An empty list says which button fills it, and so does the device details box.
- The log has a find box: type and only the lines holding that text are shown, empty it and they all come back.
- Every tab has a key.
Ctrl+0andCtrl+Shift+1...9reach the last tabs;Enterdoes the page's reading action and never anything that starts, installs, deletes or sends;Tabwalks a page the way it is laid out. - Shorter tab captions, a
gnirehtetcolumn whereClientwas, and the three stuck-tools of the Connection box in one of their own.
Where
Advanced > Backup in the classic window, the Backup page in Nova. Both use the same engine, shared/Backup.ps1.
Getting started
- Turn on USB debugging on the phone and plug it in.
- Download this release (Source code, zip) and unpack it.
- Run
get-upstream.ps1once to fetch scrcpy and gnirehtet, checked against SHA256. - Double-click
androiddc.vbsorandroiddc-nova.vbs, or runstart-menu.vbsto open them from the Start menu.