Related
Has anyone successfully connected to their device via adb in Ubuntu?
Whenever I do
./adb devices
Click to expand...
Click to collapse
it shows me an empty list of devices.
I had originally set it up for my G1. Now that I try it with the Vibrant, it does not work.
I modified 51-android.rules file and entered this:
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
Click to expand...
Click to collapse
The code is bold was taken after I did the lsusb command.
I have connected with Ubuntu , which build of Ubuntu are you using? I am on Lucid (10.04) and it connected easily the first time.
srqt said:
I have connected with Ubuntu , which build of Ubuntu are you using? I am on Lucid (10.04) and it connected easily the first time.
Click to expand...
Click to collapse
I am also running 10.04
Can you please do me a favor and tell me what files the following folder has:
/etc/udev/rules.d
I'm interested in knowing if it has 50-android.rules and/or 51-android.rules and what are the contents of them.
Thanks!
dublued said:
I am also running 10.04
Can you please do me a favor and tell me what files the following folder has:
/etc/udev/rules.d
I'm interested in knowing if it has 50-android.rules and/or 51-android.rules and what are the contents of them.
Thanks!
Click to expand...
Click to collapse
It has 51-android.rules with the following contents
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
Click to expand...
Click to collapse
Still showing up empty, thanks though.
This is what I used in Ubuntu 10.04 x86 and 9.04 x32
First download my zip file
Put the 3 rules files in your /etc/udev/rules.d folder (sudo nautilus /etc/udev/rules.d (This will open the folder with root access from the terminal))
Then right click on each file and go to properties
From there click on the permissions tab and make sure all files are checked to allow exe then change the owner from root to your username then close.
Then put the adb file in your android sdk/tools folder and replace the original one.
Then restart your computer
Once restarted make sure your phone is in debugging mode plug it into the usb and type sudo ./adb devices in the terminal and your phone should show up.
thanks the3dman13, that did the trick!
i'm curious thought, why did I need to replace the adb file?
It seems both adb's work. Not sure but the contents of the 3 rules files are the same which may mean you only need one of them.
this works for me - samsung vibrant
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Never had to do any of this... all I have to do every once in a while is:
Make sure debugging is enabled on the phone
Plug in the phone via USB to the computer
Bring up a terminal in the tools folder
Run 'sudo ./adb kill-server'
Then run 'sudo ./adb start-server'
Run './adb devices' (add sudo if necessary but it isn't for me at this point)
still no luk
ive tried every method on this page
and none works
what am i doing wrong
or what must i do to debug/correct this problem?
I had the same issue with a fresh install of 10.04. I was finally able to get ADB to recognize the device by booting into the recovery menu. After it recognized it once, ADB continued to recognize the phone even when it was on.
testdev said:
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Click to expand...
Click to collapse
This worked
Try this
puccaso said:
ive tried every method on this page
and none works
what am i doing wrong
or what must i do to debug/correct this problem?
Click to expand...
Click to collapse
You might try this: sudo tools/android update sdk --no-ui
As written in android-sdk-linux read me file:
Welcome to the Android SDK!
The Android SDK archive initially contains only the basic SDK tools. It does
not contain an Android platform or any third-party libraries. In fact, it
doesn't even have all the tools you need to develop an application.
In order to start developing applications, you must install the Platform-tools
and at least one version of the Android platform, using the SDK Manager.
Platform-tools contains build tools that are periodically updated to support new
features in the Android platform (which is why they are separate from basic
SDK tools), including adb, dexdump, and others.
To install Platform-tools, Android platforms and other add-ons, you must
have an Internet connection, so if you plan to use the SDK while
offline, please make sure to download the necessary components while online.
To start the SDK Manager, please execute the program "android".
From the command-line you can also directly trigger an update by
executing:
tools/android update sdk --no-ui
joshuapurcell said:
Never had to do any of this... all I have to do every once in a while is:
Make sure debugging is enabled on the phone
Plug in the phone via USB to the computer
Bring up a terminal in the tools folder
Run 'sudo ./adb kill-server'
Then run 'sudo ./adb start-server'
Run './adb devices' (add sudo if necessary but it isn't for me at this point)
Click to expand...
Click to collapse
adb:command not found,but "adb devices"works.
---------- Post added at 12:58 PM ---------- Previous post was at 12:48 PM ----------
testdev said:
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Click to expand...
Click to collapse
it does't got 51 rules,how to add it in?
---------- Post added at 01:38 PM ---------- Previous post was at 12:58 PM ----------
the3dman said:
This is what I used in Ubuntu 10.04 x86 and 9.04 x32
First download my zip file
Put the 3 rules files in your /etc/udev/rules.d folder (sudo nautilus /etc/udev/rules.d (This will open the folder with root access from the terminal))
Then right click on each file and go to properties
From there click on the permissions tab and make sure all files are checked to allow exe then change the owner from root to your username then close.
Then put the adb file in your android sdk/tools folder and replace the original one.
Then restart your computer
Once restarted make sure your phone is in debugging mode plug it into the usb and type sudo ./adb devices in the terminal and your phone should show up.
Click to expand...
Click to collapse
testdev said:
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Click to expand...
Click to collapse
what i got has only one thing that does't match your post despite the list,that is i don't got "SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"".the list is empty yet.does this infect to?
---------- Post added at 01:50 PM ---------- Previous post was at 01:38 PM ----------
the3dman said:
This is what I used in Ubuntu 10.04 x86 and 9.04 x32
First download my zip file
Put the 3 rules files in your /etc/udev/rules.d folder (sudo nautilus /etc/udev/rules.d (This will open the folder with root access from the terminal))
Then right click on each file and go to properties
From there click on the permissions tab and make sure all files are checked to allow exe then change the owner from root to your username then close.
Then put the adb file in your android sdk/tools folder and replace the original one.
Then restart your computer
Once restarted make sure your phone is in debugging mode plug it into the usb and type sudo ./adb devices in the terminal and your phone should show up.
Click to expand...
Click to collapse
I do it right what you post orderly,but the list is still empty.Could you help me alone?
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:
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:
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.apkcp, 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.
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:
Quick ADB Pusher
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.
FAQ
Do you guys want a guide on how to build roms for your device?
Sent from my HTC Desire C using xda premium
russell664 said:
Do you guys want a guide on how to build roms for your device?
Sent from my HTC Desire C using xda premium
Click to expand...
Click to collapse
Yes please I think it would be very interesting.
And thanks for your time in doing this :good:
AW: [GUIDE][HOWTO] How to push files using ADB Desire V
Me too
Sent from my HTC Desire V using xda premium
I will when I have time guys, if you want more guides and stuff, surely you can smash the thanks button right in the face for me. To show your support, and that you appreciate my work.
Creating our own custom roms
Yup. It really would be a great tutorial for newbies to get started to make things, which once they could only appreciate. I am myself good at programming and algorithms, but Android development is quite alien to me. I consider myself a potential developer, if only would I get a kick start at ROM making. Also we could be able to support unknown or local market devices. I think that would be really beneficial for the entire Android community to see new budding developers with their innovations. :angel:
Hit thanks if you agree.
russell664 said:
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:
Quick ADB Pusher
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.
Click to expand...
Click to collapse
It told me my devices wasn't rooted?
When trying to push a file to my internal storage on my Moto X does the file need to be located in a specific location? I am trying to root my device and need to push a file to my device. I am very new to this, and have adb working and my device showing up when i run "adb devices". I have a folder on my desktop titled "android" which contains adb, fastboot, sdk, and eclipse. Do I need to save the files I want to push to the root of this folder on my desktop? Thanks for the help!
stavebomb said:
When trying to push a file to my internal storage on my Moto X does the file need to be located in a specific location? I am trying to root my device and need to push a file to my device. I am very new to this, and have adb working and my device showing up when i run "adb devices". I have a folder on my desktop titled "android" which contains adb, fastboot, sdk, and eclipse. Do I need to save the files I want to push to the root of this folder on my desktop? Thanks for the help!
Click to expand...
Click to collapse
So push whole folder by
Code:
adb push <path on PC> <path on Moto X>
How to push this command
Please help me:
http://forum.xda-developers.com/showthread.php?t=2708466
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf
on my LG G2 (D802 ver 20B without root indian version)
My tablet is stuck in the recovery mode on a permanent loop. Please help
I'm just learning to code and honestly as of 6 months ago I didn't even know how to turn a computer on although I practice and take classes I'm petrified I'm going to screw up my computer. Anyway, my tablet is stuck in the recovery mode on a permanent loop so I can't put it in debug development mode. Please help me fix it. I can't afford a new one and I use it for work when I'm at a job site. I downloaded the Android Suite bundle zip (the one that said recommended) also the sdk tools zip, the quick adb pusher and the lollipop image file, lollipop rom file. I've tried every one of the commands from your site and many many other sites and it's not fixing my tablet. I know you guys don't like stupid questions but I'm feeling like a moron because I can't figure it out. Could someone please please help me fix me tablet.
russell664 said:
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:
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:
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.apkcp, 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.
Click to expand...
Click to collapse
I Want to Thank Russell664. I followed your instructions and my tablet works again.
Thank you very much. You do not know how appreciative I am for your help. I hate feeling so stupid about these things. Your detailed guide was so informative and so so helpful. Debbie from Handyman-Girl
:good:
russell664 said:
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:
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:
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.apkcp, 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.
Click to expand...
Click to collapse
I've decided to play around with Ubuntu again.. but my question is this.. when I plug my phone in, ADB isn't there.. How to I get my phone to connect to Ubuntu x64 (latest version, not sure number) as it did in Windows 7 .. Fastboot.. be able to transfer files to the internal storage... What gives?
jbarcus81 said:
I've decided to play around with Ubuntu again.. but my question is this.. when I plug my phone in, ADB isn't there.. How to I get my phone to connect to Ubuntu x64 (latest version, not sure number) as it did in Windows 7 .. Fastboot.. be able to transfer files to the internal storage... What gives?
Click to expand...
Click to collapse
This is the easiest way to install adb/fastboot that will work in any directory on linux (ubuntu) so you dont have to place the files in the platform-tools/ dir.
Code:
sudo apt-get install android-tools-adb && sudo apt-get install android-tools-fastboot
that will install adb and fastboot then,
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
a blank screen will pop up and add this, then change where it says <username> to your linux username and hit save (do NOT include the <>)
Code:
# adb protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0dff", MODE="0600", OWNER="<username>"
# fastboot protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff0", MODE="0600", OWNER="<username>"
# adb sideload on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cf9", MODE="0600", OWNER="<username>"
after you've saved that do a
Code:
sudo restart udev
if that doesnt work you may have to uncheck and recheck USB debugging in the settings on the phone...
or
when the phone is plugged in and adb is enabled in the terminal type
Code:
lsusb
Then you will get a bunch of stuff that looks like:
Code:
Bus 002 Device 006: ID [B]0bb4[/B]:[U]0dff[/U] HTC (High Tech Computer Corp.)
Those 8 numbers are what you put in the the idVendor:idProduct
Do that for adb, fastboot(you have to be booted into the bootloader), and adb while in recovery (for sideload featuer)
.torrented said:
This is the easiest way to install adb/fastboot that will work in any directory on linux (ubuntu) so you dont have to place the files in the platform-tools/ dir.
Code:
sudo apt-get install android-tools-adb && sudo apt-get install android-tools-fastboot
that will install adb and fastboot then,
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
a blank screen will pop up and add this, then change where it says <username> to your linux username and hit save (do NOT include the <>)
Code:
# adb protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0dff", MODE="0600", OWNER="<username>"
# fastboot protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff0", MODE="0600", OWNER="<username>"
# adb sideload on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cf9", MODE="0600", OWNER="<username>"
after you've saved that do a
Code:
sudo restart udev
if that doesnt work you may have to uncheck and recheck USB debugging in the settings on the phone...
or
when the phone is plugged in and adb is enabled in the terminal type
Code:
lsusb
Then you will get a bunch of stuff that looks like:
Code:
Bus 002 Device 006: ID [B]0bb4[/B]:[U]0dff[/U] HTC (High Tech Computer Corp.)
Those 8 numbers are what you put in the the idVendor:idProduct
Do that for adb, fastboot(you have to be booted into the bootloader), and adb while in recovery (for sideload featuer)
Click to expand...
Click to collapse
Beautiful.. Thanks!!! Will post a final reply once it's all working after I get off work... Hey!
Well.. I got too excited too quick... You lost me here...
after you've saved that do a
Code:
sudo restart udev
if that doesnt work you may have to uncheck and recheck USB debugging in the settings on the phone...
or
when the phone is plugged in and adb is enabled in the terminal type
Code:
lsusb
Then you will get a bunch of stuff that looks like:
Code:
Bus 002 Device 006: ID 0bb4:0dff HTC (High Tech Computer Corp.)
Those 8 numbers are what you put in the the idVendor:idProduct
Do that for adb, fastboot(you have to be booted into the bootloader), and adb while in recovery (for sideload featuer)
Click to expand...
Click to collapse
how are you lost?
It didn't work.. I'll try again.. I had to step away from it for some time.. I'll try it all again today...
[email protected]:~$ lsubs
No command 'lsubs' found, did you mean:
Command 'subs' from package 'libsubtitles-perl' (universe)
Command 'lsusb' from package 'usbutils' (main)
lsubs: command not found
Click to expand...
Click to collapse
This where I get stuck.. also before that..
[email protected]:~$ sudo restart udev
udev start/running, process 11814
Click to expand...
Click to collapse
you spelled lsubs instead of lsusb. I'm pretty sure that message for reloading udev is normal.
Now my issue is with Fastboot... Does this not enable me to flash recoveries? I am trying and just says <Waiting for device>
you must do the same for fastboot as for adb
issue lsusb while in fastboot mode and get id number for fastboot and add that to ur android rules file also
issue lsusb while in recovery for proper ids
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”aaaa″, ATTRS{idProduct}==”aaaa″, MODE=”0666″ <<< with id for adb
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”bbbb″, ATTRS{idProduct}==”bbbb″, MODE=”0666″ <<< id for fastboot:bootloader
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”cccc″, ATTRS{idProduct}==”cccc″, MODE=”0666″ <<< id for recovery
t1gartist said:
you must do the same for fastboot as for adb
issue lsusb while in fastboot mode and get id number for fastboot and add that to ur android rules file also
issue lsusb while in recovery for proper ids
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”aaaa″, ATTRS{idProduct}==”aaaa″, MODE=”0666″ <<< with id for adb
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”bbbb″, ATTRS{idProduct}==”bbbb″, MODE=”0666″ <<< id for fastboot:bootloader
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”cccc″, ATTRS{idProduct}==”cccc″, MODE=”0666″ <<< id for recovery
Click to expand...
Click to collapse
Got it!! Thanks... the help was great!!
I keep getting an error that states ... "Unable to mount Android Phone; unable to open MTP device '[usb:002,014]'"
Hello,
I'm trying to unlock bootloader and here is and that's what I did:
1) Checked that there is a rule in /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0dff", MODE="0600", OWNER="lessless"
the lsusb output is
Bus 002 Device 018: ID 0bb4:0ff0 High Tech Computer Corp.
2) reboot into fastboot mode with adb reboot-bootloader
and when my phone is on the fastboot usb mode fastboot utility do not recognize it:
$fastboot devices
no permissions fastboot
$fastboot oem get_identifier_token
< waiting for device >
Maybe you need to backport the MTP support first?
Do a Google search for the terminal commands.. When I was running Elementary OS (based on 12.04) I remember having to do this as the OS wouldn't see my phone.
Sent from my thumbs
what do you mean exactly? I'am able to mount my phone using this lines:
alias android-on="mtpfs -o allow_other /media/Android"
alias android-off="fusermount -u /media/Android"
Hello XDA-Devs,
I have to admit that I am not an Android or other smartphone OS developer but merely a dimwitted device user who struggles to get data off and onto his Android device.
First I thought that one could simply plug the device into one of my laptop's USB ports and mount it like any mass storage device.
But I had to learn that this simple mode has disappeared in Android versions higher than 2.X.
After several rather dissatisfying other attempts to transfer data, like e.g. via an OpenSSH server app on my (not yet rooted device), I finally came across a seemingly more appealing solution via the ADB USB mode, where the necessary steps were described in blog's posting whose link I not yet allowed to place here (i.e. <10 posts).
After a bit of fiddling I managed to get my device connected via USB and the ADB daemon.
Now I am still struggling how to efficiently get a bulk of e..g camera images from my device.
So far adb pull seems to be the appropriate command.
But somehow I can only download/pull single image files, and my loop isn't working.
Sadly the pull command doesn't have a bulk match option like an ftp client's mget.housand
Also I can't work out if shell globbing works the same as in an e.g. Bash.
See, while I can fetch a list of files, the loop expansion doesn't work, for what reason ever, and I would have to pull every file separately.
That looks strange. Maybe I only fell prey to some shell glob syntax issue here?
So bear with me.
Code:
[[email protected]:~/Pictures]
$ for f in $(adb shell ls /storage/sdcard0/DCIM/Camera/);do echo adb pull "/storage/sdcard0/DCIM/Camera/$f";done|tail
adb pull /storage/sdcard0/DCIM/Camera/20131111_192956.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193008.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193018.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193028.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193036.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193048.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193114_1.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131113_005357.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131113_005418.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131113_005526.jpg
But when I remove the echo
Code:
[[email protected]:~/Pictures]
$ for f in $(adb shell ls /storage/sdcard0/DCIM/Camera/);do adb pull "/storage/sdcard0/DCIM/Camera/$f";done 2>&1|tail
' does not existstorage/sdcard0/DCIM/Camera/20131111_192956.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193008.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193018.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193028.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193036.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193048.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193114_1.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131113_005357.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131113_005418.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131113_005526.jpg
But on a single file invocation I can pull it.
Code:
[[email protected]:~/Pictures]
$ adb pull -p /storage/sdcard0/DCIM/Camera/20131113_005526.jpg
Transferring: 569030/569030 (100%)
1966 KB/s (569030 bytes in 0.282s)
[[email protected]:~/Pictures]
$ identify 20131113_005526.jpg
20131113_005526.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 556kb
Strange.
I am convinced that there must be a more efficient way to bulk pull files from my device.
Is there a way to mount my device via ADB?
Having read the help screen of the adb command I only found a remount sub command which would remount the device's system FS as it seems.
Would I have to tinker with the udev rule to have my device mounted when plugged in?
[[email protected]:~/Pictures]
$ adb help 2>&1|grep mount
adb remount - remounts the /system partition on the device read-write
[[email protected]:~/Pictures]
$ lsusb|grep -i samsung
Bus 002 Device 006: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
[[email protected]:~/Pictures]
$ cat /etc/udev/rules.d/*android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666", GROUP="adbandy"
[[email protected]:~/Pictures]
$ groups
fiddle wheel adbandy
[[email protected]:~/Pictures]
$ adb devices -l
List of devices attached
3b086527 device usb:2-1 product:jfltexx model:GT_I9505 device:jflte
Click to expand...
Click to collapse
My Android phones and tablets auto-mount as removable drives when I connect them to my Linux (Mint 17 Cinnamon) computers. Connection to PC is set on the devices as MTP.
I guess these MTP automounts use a FUSE driver?
Being on a RHEL 6.4 binary compatible distro (i.e. SL) I could only find libmtp pre-built RPMs.
But I suspect that the libs alone wouldn't suffice.
If I knew what parts are required to make a working MTP mount I could get all sources and patches, tinker up an RPM spec file and build my own RPM, I suppose.
Thanks for the hint.