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

Search This thread

russell664

Senior Member
Dec 2, 2010
1,183
2,313
28
Somewhere you can't imagine...
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:
#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:
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:
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:
adb devices

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

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

ADB Shell commands:
cd, this command changes directories in your devices filesystem.
Code:
cd /system/app
is, this command listes all of the file present in the directory you are at.
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:
cp /system/app/whatever.apk /sdcard/whatever.apk
cat, this command is also used to copy files to your device.
Code:
cat /system/app/whatever.apk > /sdcard/whatever.apk
exit, this command exits the ADB shell.
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. :)
 
Last edited:

russell664

Senior Member
Dec 2, 2010
1,183
2,313
28
Somewhere you can't imagine...
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. :)
 
Last edited:

russell664

Senior Member
Dec 2, 2010
1,183
2,313
28
Somewhere you can't imagine...
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. :D
 
Last edited:

Jaizu

Senior Member
Jan 4, 2013
962
452
Thanks, I really love you threads, I will read later, i has got school now :p
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    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:
    #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:
    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:
    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:
    adb devices

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

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

    ADB Shell commands:
    cd, this command changes directories in your devices filesystem.
    Code:
    cd /system/app
    is, this command listes all of the file present in the directory you are at.
    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:
    cp /system/app/whatever.apk /sdcard/whatever.apk
    cat, this command is also used to copy files to your device.
    Code:
    cat /system/app/whatever.apk > /sdcard/whatever.apk
    exit, this command exits the ADB shell.
    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. :)
    3
    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. :)
    2
    Brilliant guide thanks russell . Time to learn how to do it properly .though in fairness I do use it a bit :eek:

    ps used all my thanks up again this morning !
    1
    haha already, you like smashing that thanks button, right in the face lol. :D