Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,742,296 Members 53,368 Now Online
XDA Developers Android and Mobile Development Forum

[GUIDE][HOWTO] How to Push files using ADB Desire C

Tip us?
 
russell664
Old
(Last edited by russell664; 9th March 2013 at 12:19 AM.)
#1  
russell664's Avatar
Recognized Contributor - OP
Thanks Meter 2270
Posts: 1,137
Join Date: Dec 2010
Location: Somewhere you can't imagine...

 
DONATE TO ME
Default [GUIDE][HOWTO] How to Push files using ADB Desire C

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:

Code:
Select Code
#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:
  1. Settings -> Developers options -> USB-de bugging
  2. 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:
Code:
Select Code
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:
Code:
Select Code
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:
Code:
Select Code
adb devices
Once this has been typed it should show something like this:
Code:
Select Code
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:
Code:
Select Code
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:
Code:
Select Code
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
    Code:
    Select Code
    adb push
  • ADB pull, as explained before it pulls files from your phone, and makes a copy of them.
    Code:
    Select Code
    adb pull
  • ADB Install and example of this code would be "adb install c:\users\app.apk"
    Code:
    Select Code
    adb install c:\users\app.apk
  • ADB Shell, this command begins a shell connection to the device on the other end.
    Code:
    Select Code
    adb shell
  • ADB reboot, it does what it says
    Code:
    Select Code
    adb reboot
  • ADB reboot recovery, this also does what it says
    Code:
    Select Code
    adb reboot recovery
  • ADB reboot bootloader, this also does what is says, like the ones above.
    Code:
    Select Code
    adb reboot bootloader
  • ADB remount, this remounts the devices file system for editing etc...
    Code:
    Select Code
    adb remount

ADB Shell commands:
cd, this command changes directories in your devices filesystem.
Code:
Select Code
cd /system/app
is, this command listes all of the file present in the directory you are at.
Code:
Select Code
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.
Code:
Select Code
cp /system/app/whatever.apk /sdcard/whatever.apk
cat, this command is also used to copy files to your device.
Code:
Select Code
cat /system/app/whatever.apk > /sdcard/whatever.apk
exit, this command exits the ADB shell.
Code:
Select Code
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.
Have A Bug with one Of my Roms? Look below on how to report them to me....

 
If you have a bug, report it with a logcat because, without one I can't do anything about it. No Logcat, Means No Fix. Do this below to get one...

Code:
adb shell dmesg ; adb logcat -b system -b radio -b events -b main


Nexus 5/ Self Compiled PAC-ROM/ Chaos Kernel V11 Nightly

The Following 8 Users Say Thank You to russell664 For This Useful Post: [ Click to Expand ]
 
russell664
Old
(Last edited by russell664; 23rd February 2013 at 11:33 PM.)
#2  
russell664's Avatar
Recognized Contributor - OP
Thanks Meter 2270
Posts: 1,137
Join Date: Dec 2010
Location: Somewhere you can't imagine...

 
DONATE TO ME
As explained above, the quick ADB pusher is an interface over the code based ADB. I will be a much easier approach for new user of android to get to grips to, that is why I am including it.

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, so here we go:
  • First of all you want to download the quick adb pusher program, this is in both this thread and the revolution Rom thread on XDA, the link for the program is listed below:
  • Now you want to make sure your phone is plugged into your computer, but do not put it into USB storage mode. Make sure your USB de-bugging option is enabled it is located at:
    Settings --> Developer options --> USB De-bugging
  • Now you will start the quick ADB pusher program, once it has started it should detect your phone. If it does not then post a comment in the thread below and we will resolve the issue.
  • Watch the video below to clarify a few things, such as how to copy system apps etc...


Again I hope this tutorial helps some people out, remember to read the FAQ first before posting,, to prevent the same questions being asked time and time again.
Have A Bug with one Of my Roms? Look below on how to report them to me....

 
If you have a bug, report it with a logcat because, without one I can't do anything about it. No Logcat, Means No Fix. Do this below to get one...

Code:
adb shell dmesg ; adb logcat -b system -b radio -b events -b main


Nexus 5/ Self Compiled PAC-ROM/ Chaos Kernel V11 Nightly

The Following 3 Users Say Thank You to russell664 For This Useful Post: [ Click to Expand ]
 
russell664
Old
#3  
russell664's Avatar
Recognized Contributor - OP
Thanks Meter 2270
Posts: 1,137
Join Date: Dec 2010
Location: Somewhere you can't imagine...

 
DONATE TO ME
FAQ
Have A Bug with one Of my Roms? Look below on how to report them to me....

 
If you have a bug, report it with a logcat because, without one I can't do anything about it. No Logcat, Means No Fix. Do this below to get one...

Code:
adb shell dmesg ; adb logcat -b system -b radio -b events -b main


Nexus 5/ Self Compiled PAC-ROM/ Chaos Kernel V11 Nightly

The Following 2 Users Say Thank You to russell664 For This Useful Post: [ Click to Expand ]
 
whoamigriffiths
Old
#4  
whoamigriffiths's Avatar
Senior Member
Thanks Meter 637
Posts: 905
Join Date: Oct 2012
Location: Behind You
Brilliant guide thanks russell . Time to learn how to do it properly .though in fairness I do use it a bit

ps used all my thanks up again this morning !
"It's psychosomatic. You need a lobotomy. I'll get a saw."
The Following 2 Users Say Thank You to whoamigriffiths For This Useful Post: [ Click to Expand ]
 
russell664
Old
#5  
russell664's Avatar
Recognized Contributor - OP
Thanks Meter 2270
Posts: 1,137
Join Date: Dec 2010
Location: Somewhere you can't imagine...

 
DONATE TO ME
haha already, you like smashing that thanks button, right in the face lol.
Have A Bug with one Of my Roms? Look below on how to report them to me....

 
If you have a bug, report it with a logcat because, without one I can't do anything about it. No Logcat, Means No Fix. Do this below to get one...

Code:
adb shell dmesg ; adb logcat -b system -b radio -b events -b main


Nexus 5/ Self Compiled PAC-ROM/ Chaos Kernel V11 Nightly

The Following User Says Thank You to russell664 For This Useful Post: [ Click to Expand ]
 
TheRedHunter
Old
(Last edited by TheRedHunter; 24th February 2013 at 02:09 PM.)
#6  
TheRedHunter's Avatar
Senior Member
Thanks Meter 194
Posts: 320
Join Date: Apr 2012
Location: Middle Earth
Default Re: [GUIDE] How to Push files using ADB

Great guide Russell.
To moderators: please move the this thread to sticky section.
The Following User Says Thank You to TheRedHunter For This Useful Post: [ Click to Expand ]
 
russell664
Old
(Last edited by russell664; 24th February 2013 at 02:11 PM.)
#7  
russell664's Avatar
Recognized Contributor - OP
Thanks Meter 2270
Posts: 1,137
Join Date: Dec 2010
Location: Somewhere you can't imagine...

 
DONATE TO ME
Thanks, TheRedHunter.
If you guys think this thread should be stickied, them click the report button at the top of the first post, and ask it to be moved.

On another note the first post is updated with new ADB shell commands.
Have A Bug with one Of my Roms? Look below on how to report them to me....

 
If you have a bug, report it with a logcat because, without one I can't do anything about it. No Logcat, Means No Fix. Do this below to get one...

Code:
adb shell dmesg ; adb logcat -b system -b radio -b events -b main


Nexus 5/ Self Compiled PAC-ROM/ Chaos Kernel V11 Nightly

 
Jaizu
Old
#8  
Jaizu's Avatar
Senior Member
Thanks Meter 167
Posts: 365
Join Date: Jan 2013
Location: Spain
Thanks, I really love you threads, I will read later, i has got school now

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes