Quantcast
Channel: xda-developers - Android Software and Hacking General [Developers Only]
Viewing all articles
Browse latest Browse all 3614

How to perform full backup using ADB w/o touchscreen on PIN locked device (rooted)

$
0
0
My device screen cracked and killed the digitizer. The LCD is fine but I obviously can't interact with it. The device is fully encrypted, and while I have the password, I seem to have no way to unlock it (I don't have an MHL dongle to run a mouse). I'm sending the device back to LG for factory repair, but I'd like to make a full backup before I do. I thought this would be trivial with ADB but I can't seem to get things working and my suspicion is the device encryption is my problem. I'm running TWRP (I tried cwm first but couldn't get that to read by already-encrypted device, which I hear is a know issue somehow 4.2.2 related - I gave up caring about that when TWRP "just worked").

Anyway, what's the process to get a full backup? I've tried following the good tutorial on 'thesuperusersguide' (sorry I'm new xda-dev so I can't post the proper link) but the backup command get's ignored (see scrollback, below). My gut says there's something I need to send to my device to mount the encrypted partition, either a command or adb push a special file then reboot. Am I on the right track?

I thought this was supposed to be as simple as "plug in the device, make sure ADB can see it, then run ADB backup". Obviously I need a some cmdline args to get the backup to get all my data - that's not what I'm asking about. I'm asking the "previous step" that could be paraphrased as, "how to get adb backup to do *anything*?"

Code:

host:platform-tools user$ ./adb devices
List of devices attached
006854cc1d8e2d9e        recovery

host:platform-tools user$ ./adb backup
Android Debug Bridge version 1.0.31

 -d                            - directs command to the only connected USB device
                                returns an error if more than one USB device is present.
 -e                            - directs command to the only running emulator.
                                returns an error if more than one emulator is running.
 -s <specific device>          - directs command to the device or emulator with the given
                                serial number or qualifier. Overrides ANDROID_SERIAL
                                environment variable.
 -p <product name or path>    - simple product name like 'sooner', or
                                a relative/absolute path to a product
                                out directory like 'out/target/product/sooner'.
                                If -p is not specified, the ANDROID_PRODUCT_OUT
                                environment variable is used, which must
                                be an absolute path.
 devices [-l]                  - list all connected devices
                                ('-l' will also list device qualifiers)
 connect <host>[:<port>]      - connect to a device via TCP/IP
                                Port 5555 is used by default if no port number is specified.
 disconnect [<host>[:<port>]]  - disconnect from a TCP/IP device.
                                Port 5555 is used by default if no port number is specified.
                                Using this command with no additional arguments
                                will disconnect from all connected TCP/IP devices.

device commands:
  adb push <local> <remote>    - copy file/dir to device
  adb pull <remote> [<local>]  - copy file/dir from device
  adb sync [ <directory> ]    - copy host->device only if changed
                                (-l means list but don't copy)
                                (see 'adb help all')
  adb shell                    - run remote shell interactively
  adb shell <command>          - run remote shell command
  adb emu <command>            - run emulator console command
  adb logcat [ <filter-spec> ] - View device log
  adb forward <local> <remote> - forward socket connections
                                forward specs are one of:
                                  tcp:<port>
                                  localabstract:<unix domain socket name>
                                  localreserved:<unix domain socket name>
                                  localfilesystem:<unix domain socket name>
                                  dev:<character device name>
                                  jdwp:<process pid> (remote only)
  adb jdwp                    - list PIDs of processes hosting a JDWP transport
  adb install [-l] [-r] [-s] [--algo <algorithm name> --key <hex-encoded key> --iv <hex-encoded iv>] <file>
                              - push this package file to the device and install it
                                ('-l' means forward-lock the app)
                                ('-r' means reinstall the app, keeping its data)
                                ('-s' means install on SD card instead of internal storage)
                                ('--algo', '--key', and '--iv' mean the file is encrypted already)
  adb uninstall [-k] <package> - remove this app package from the device
                                ('-k' means keep the data and cache directories)
  adb bugreport                - return all information from the device
                                that should be included in a bug report.

  adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
                              - write an archive of the device's data to <file>.
                                If no -f option is supplied then the data is written
                                to "backup.ab" in the current directory.
                                (-apk|-noapk enable/disable backup of the .apks themselves
                                    in the archive; the default is noapk.)
                                (-shared|-noshared enable/disable backup of the device's
                                    shared storage / SD card contents; the default is noshared.)
                                (-all means to back up all installed applications)
                                (-system|-nosystem toggles whether -all automatically includes
                                    system applications; the default is to include system apps)
                                (<packages...> is the list of applications to be backed up.  If
                                    the -all or -shared flags are passed, then the package
                                    list is optional.  Applications explicitly given on the
                                    command line will be included even if -nosystem would
                                    ordinarily cause them to be omitted.)

  adb restore <file>          - restore device contents from the <file> backup archive

  adb help                    - show this help message
  adb version                  - show version num

scripting:
  adb wait-for-device          - block until device is online
  adb start-server            - ensure that there is a server running
  adb kill-server              - kill the server if it is running
  adb get-state                - prints: offline | bootloader | device
  adb get-serialno            - prints: <serial-number>
  adb get-devpath              - prints: <device-path>
  adb status-window            - continuously print device status for a specified device
  adb remount                  - remounts the /system partition on the device read-write
  adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
  adb reboot-bootloader        - reboots the device into the bootloader
  adb root                    - restarts the adbd daemon with root permissions
  adb usb                      - restarts the adbd daemon listening on USB
  adb tcpip <port>            - restarts the adbd daemon listening on TCP on the specified port
networking:
  adb ppp <tty> [parameters]  - Run PPP over USB.
 Note: you should not automatically start a PPP connection.
 <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
 [parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ <directory> ]
  <localdir> can be interpreted in several ways:

  - If <directory> is not specified, both /system and /data partitions will be updated.

  - If it is "system" or "data", only the corresponding partition
    is updated.

environmental variables:
  ADB_TRACE                    - Print debug information. A comma separated list of the following values
                                1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
  ANDROID_SERIAL              - The serial number to connect to. -s takes priority over this if given.
  ANDROID_LOG_TAGS            - When used with the logcat option, only these debug tags are printed.
host:platform-tools user$

FWIW this is a Nexus 4 running 4.2.2 rooted cm-10.1-20130304-EXPERIMENTAL-mako-M2 TWRP 2.4.4.0.

Feel free to link me to other threads. I tried both forum search and Google and really couldn't find anything useful to my cause. Also, thanks everyone!

Viewing all articles
Browse latest Browse all 3614

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>