Tag Info

Hot answers tagged

45

Just for reference of others, here is some background on the .ab file format. The Android Backup (*.ab) file is a compressed TAR file. It is compressed using the DEFLATE algorithm. On top of that, there can be AES encryption used. This is determined when you create the backup, if you enter a password then the backup is encrypted, otherwise; there is no ...


30

Where an app is stored very much depends on several criteria: System apps / pre-installed-bloatware-apps are stored in /system/app (which is mounted read-only to prevent any changes) normal apps in internal memory go to /data/app some apps (encrypted on internal storage?) go to /data/app-private Apps stored on external memory go to an encrypted container ...


29

I started working on this. I'm posting my results so far here as a "community wiki" answer for two reasons: first, if someone else wants to join in, there's a place to talk; second, if I get pulled away from this project, there'll be hints for someone else to start working.   The backup logic on the host is entirely contained within ...


27

If I'm understanding your question correctly, you're asking how to get root access automatically when you run adb shell, so that you don't have to go into the shell and type su to execute a command as root on your phone. This is controlled by a flag in your boot partition, which most custom ROMs have modified to allow root permission by default. If you get ...


22

Try adb shell reboot -p to shutdown the phone.


20

They are stored in /data/app/ but unless your phone is rooted all you will see is an empty folder.


20

The su binary needs both the execution and the setuid permission bit set. The first is needed that the file can be executed and the second is that it automatically runs with the file owner's rights (set user id, or setuid. In this case the owner is root. Read more here). Files on the external storage don't have the executable and setuid permission bits set ...


19

Yes. The command is pm disable <package name>. You must be root in order to do this: PC> adb shell shell@hammerhead:/ $ su root@hammerhead:/ # pm list packages -e | grep 'calculator' package:com.android.calculator2 root@hammerhead:/ # pm disable com.android.calculator2 Package com.android.calculator2 new state: disabled root@hammerhead:/ # pm list ...


14

adb push will copy any file to the phone, whereas adb install will only accept an apk file, and will install it onto the device.


14

More specifically adb push [file] [path] will take [file] from the PC and copy it to [path] on the android device. adb install [apkfile] will copy [apkfile] from the pc into /data/app/ on the android device. The main difference being that push will let you specify where you want the file to go on the device, and install puts it in a known location ...


14

I just did this! /data/property/persist.sys.dalvik.vm.lib is a textfile containing one of two values: 'libart.so' or 'libdvm.so'. You can change from ART to Dalvik simply by editing this file. Ex: adb shell 'echo libdvm.so >/data/property/persist.sys.dalvik.vm.lib'


12

In adb shell or terminal emulator (and most likely over SSH) you can use the pm utility to install apps. The command is: pm install /sdcard/app1.apk The following are the switches of pm: usage: pm [list|path|install|uninstall] pm list packages [-f] [-d] [-e] [-u] [FILTER] pm list permission-groups pm list permissions [-g] [-f] ...


12

In fact, it is not necessary to install the entire SDK if one does not want to use it for development. To be able to run basic ADB commands in the context needed by an average user, a rudimentary installation is completely sufficient. I will try to explain how to do this, and hopefully cover the most used computer systems. Requirements First, you will need ...


12

To make the system recognize the Android device, in their several modes, one needs to set permissions for his user in udev. You need to repeat this process of loading Android udev IDs, for every mode the phone has (operating system, bootloader or recovery) because they have different USB IDs # reboot into fastboot mode adb reboot bootloader # grab you ...


11

Use adb uninstall org.openintents.filemanager.


11

Yes, you actually can do this. It's kind of kludgy looking when you inspect the clipboard, but it works just fine. First off, you can inspect the current clipboard contents with service call clipboard 1 from an adb shell (or, without shelling in first, adb shell service call clipboard 1). It may start out initially blank after a reboot, for example: # ...


11

The file is not encrypted, unless your specify so when creating the backup. It is however compressed (using deflate). You can find out the exact format by looking at Android source (com/android/server/BackupManagerService.java) code, and, technically, should be able to extract specific data from it. However, IIRC, there are some file integrity checks in ...


11

From http://stackoverflow.com/users/119895/macarse: You might need to activate adb root from the developer settings menu. If you run adb root from the cmd line you can get: root access is disabled by system setting - enable in settings -> development options root access is disabled by system setting - enable in settings -> development options Once you ...


11

What fixed it for me was clicking on the "Connected as a media device" up at the top left corner, de-selecting Media Device (MTP) and then checking Camera (PTP). This essentially made it show up as a different kind of USB device with different options and allowed the process to work perfectly.


11

The answer can be found in the backup tag-wiki. In short: ADB Backup is the newer file based backup scheme introduced in Android 4.0. It creates a backup of the file system tree and files. Better explanation would be it's a logical backup, as files are mainly grouped by apps. Side-effect is that files not having a clear relation might be missing from such ...


10

Launch the emulator from the command line so that you can specify a /system partition size using the -partition-size <MB> option. For example, I use this to launch an emulator running Android 1.6 with a /system partition of 512 MB: emulator -avd Donut -partition-size 512 ...where "Donut" is whatever you named your AVD (you can check in Eclipse's AVD ...


10

I found sort of a workaround for this (at least for a rooted phone). If a phone is rooted, busybox is most probably installed. stty is part of busybox. stty intr ^x Redefines Ctrl+X to act as a break command, e.g. what was previously Ctrl+C.


9

I went to https://www.google.com/dashboard/b/0/ and found the section labeled "Android device"; that had a link labeled "More data stored about this device". Clicking that opened a popup window that showed a disappointingly short list of apps that had backed up some of their data: just some of the built-in apps from Google.


9

Or with a one-liner: ( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 backup.ab ) | tar xfvz -


9

You don't need any special drivers -- all you need is to make your device known. A few simple steps can accomplish this when your device is connected via USB: sudo lsusb [...] Bus 002 Device 054: ID 18d1:4e22 Google Inc. Nexus S (debug) See the two hex values separated by a colon: 18d1:4e22 This is the manufacturerID:deviceID you need to tell the system ...


8

adb kill-server You need to run that from wherever you installed the android tools.


8

At least on my phone, it seems you need way more available space thanthe size of the app you are actually trying to upgrade. In my case it seems I needed to have at least ~13MB free space to upgrade anything at all (even for 500KB apps). Some tips to free space: Go to Settings, Applications, Manage Applications, click "Move to SD card" on the ones that ...


8

adb shell echo $EXTERNAL_STORAGE. All credit goes to Flow for leading me to experiment and find this. Naturally you can use cd $EXTERNAL_STORAGE or whatever else you might need during an adb shell session.


8

One more option is to use bash, cat and gunzip (gzip). The full process could be this (with an unencrypted backup): backup one app's data (for example "Override DNS for KitKat"): $ adb backup -f net.mx17.overridedns.ab -noapk net.mx17.overridedns Now unlock your device and confirm the backup operation. extract the compressed data $ dd ...



Only top voted, non community-wiki answers of a minimum length are eligible