[HTC Desire C] russell664:
Hello guys today I am going to show you how to use a program called quick adb pusher, it is a great starting point for new android users who want to copy modified system files, without flashing update Zip’s all the time, it will also let member do things manually instead of relying on update ZIP's all the time. Besides of explaining how to use a simple program such a quick ADB Pusher, i will also explain in depth the commands of ADB through the actual command line interface, so here we go:

#include
*
* Your warranty is now void.
*By you using my Mods, Roms etc...
* I am not responsible for bricked devices, or dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* Please do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.

First of all we will start with The command line ADB, the quick adb pusher tutorial is further down the post.

Before we start explaining some of the code what is used in ADB, it is important you know what it is, it is called the Android-Debug-Bridge.

In order to even get ADB to wokr you need to follow these procedures:

Settings -> Developers options -> USB-de bugging

Then check that box, it will make you feel like a boss. ;)

Now once you have done that your android device, is now setup for both development and ADB. Next you are going to plug your device into your computer, via a usb cable.

Once you have done that you need to go to the directory of your ADB interface, this is where you have the android SDK installed too, on a linux or mac based system this could be:

cd /home/yourusername/android-sdk-mac/tools

Once you have the ADB interface loaded into your terminal, if you type help it will show something similar to this:

Android Debug Bridge version 1.0.25

-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 <serial number> - directs command to the USB device or emulator with
the given serial number. Overrides ANDROID_SERIAL
envivornment 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 - list all connected devices
connect <host>:<port> - connect to a device via TCP/IP
disconnect <host>:<port> - disconnect from a TCP/IP device

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
(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] <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)
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 help - show this help message
adb version - show version num

DATAOPTS:
(no option) - don't touch the data partition
-w - wipe the data partition
-d - flash the data partition

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 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 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.

Now that you have ADB running here are some simple commands on how to use it:

How identify that your device is being recognised by ADB:

adb devices

Once this has been typed it should show something like this:

C:\Users\Daniel\Android development\ADB, Fastboot\adt-bundle-windows-x86_64\adt-
bundle-windows-x86_64\sdk\platform-tools>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
HT26GW507639 device

C:\Users\Daniel\Android development\ADB, Fastboot\adt-bundle-windows-x86_64\adt-
bundle-windows-x86_64\sdk\platform-tools>

If there is a line what says "HT26GW507639" with "device" at the end your devices is successfully recognised by ADB!

How to pull data from your device:

adb -s [yourdeviceADBNUMBERHERE] pull /system /the directory you want it saved too

This command will pull all the files from your devices system directory, to the directory you told it to be saved too.

I did the pull command on a PC and I was able to get all the data from following directories on my Desire C:

/data

/system

How to push data to your device:

adb -s [yourdeviceserialnumberhere] push /system/app/whatever.apk

This command will push the files you wish to your phone, though this command.

The most basic ADB commands

ADB push, as explained before this command is used to send files to your device

adb push

ADB pull, as explained before it pulls files from your phone, and makes a copy of them.

adb pull

ADB Install and example of this code would be "adb install c:\users\app.apk"

adb install c:\users\app.apk

ADB Shell, this command begins a shell connection to the device on the other end.

adb shell

ADB reboot, it does what it says

adb reboot

ADB reboot recovery, this also does what it says

adb reboot recovery

ADB reboot bootloader, this also does what is says, like the ones above.

adb reboot bootloader

ADB remount, this remounts the devices file system for editing etc...

adb remount

ADB Shell commands:

cd, this command changes directories in your devices filesystem.

cd /system/app

is, this command listes all of the file present in the directory you are at.

is /system/app

rm, this command removes file from your device.

rm /system/app/whatever.apk​

cp, this command copies files, and is very similar to the cat command below.

cp /system/app/whatever.apk /sdcard/whatever.apk

cat, this command is also used to copy files to your device.

cat /system/app/whatever.apk > /sdcard/whatever.apk

exit, this command exits the ADB shell.

exit

If any of you are having any problems, read the FAQ first before posting a question in this thread, happy pushing! :)

If you think any other commands should me added to this section, PM me about it. :)