Error: device offline - android

The emulator is running. But when I write adb shell in my shell I get:
error:device offline
What is the reason for this? How do I get rid of it?

If "adb devices" lists your device but as "offline" chances are your path leads to an old version of adb (eg 1.0.29) which has problems with latest Android 4 devices.
Make sure "adb version" returns 1.0.31 or greater.
Starting with Android 4.2.2, you must confirm on your device that it is being attached to a trusted computer. It will work with adb version 1.0.31 and above.

It happened to me once. I just rebooted the device, and this solved the problem for me.

When I got that same error, I just unplugged and plugged in it and the error disappeared.

Try to run:
adb kill-server
adb start-server
Still device offline, please restart device.

I restarted my computer, and at the same time I rebooted the phone. The adb devices returns fine.

Method 1 :
run this commands in your linux terminal
sudo adb kill-server
sudo adb devices
run this commands in your CMD
adb kill-server
adb devices
"adb devices" result must show any device with id. If instead of id you are getting off-line means you need to give permission in your tab. Once you enable USB Debugging in android and connect the device for the first time you will get an alert dialog for giving permission. If you are not getting any pop-up then click on Revoke USB Permission in Developer option the try once.
Method 2:
Change the device connected mode from Media to Camera, sometimes this helped me.
Method 3 :
Update the adb as well as device drivers.

If you are connecting through USB, unplug and plug it in again.
If you are connecting over WiFi, disable and re-enable WiFi on the phone.

If you are on Linux or Mac, and assuming the offline device is 'emulator-5554', you can run the following:
netstat -tulpn|grep 5554
Which yields the following output:
tcp 0 0 127.0.0.1:5554 0.0.0.0:* LISTEN 4848/emulator64-x86
tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 4848/emulator64-x86
This tells me that the process id 4848 is still listening on port 5554. You can now kill that process with:
sudo kill -9 4848
and the ghost offline-device is no more!

Make sure you're superuser..
Instead of 'adb start-server' do 'sudo adb start-server', enter your password (it will not echo), press enter.
Then, 'sudo adb devices' and it will show as online.

I came with this condition twice.The first time I used the command "adb kill-server" in my PC, and restarted the android device. It worked. However the second time the method didn't work any more.This time I disconnected and reconnected the network. It worked.

This happened to me running Ubuntu 19.04 and Android 9. I fixed this by turning off developer options then turning it back on. And make sure USB Debugging is allowed in there as well.

Install this tool (link) and try the following code, do not forget to have the device connected and be attentive to any message.
cd .... platform-tools/
adb kill-server
adb start-server

I went to my phone settings>>Developer options>>Debugging and turned on this option:
"Allow ADB debugging in charge only mode" then this problem solved for me.
hope to solve for you too.

for me, it was by enabling USB Debugging in developer option:
just run adb install apk path after and it will works

In my case
adb kill-server
adb connect [ip_address_of_device]

try following solutions
make sure USD debugging & WIFI debugging is enabled in develop options
make sure PC & mobile both connected with same WIFI
if still doesn't work disconnect & reconnect the mobile and run the command again

Related

Phone keeps showing (Allow USB debugging?) dialog with RSA key fingerprint [duplicate]

Since I reinstalled Eclipse (simply deleted and downloaded it again) I can't debug my applications on Samsung Galaxy i9001 (with CyanogenMod - Android 4.4.2). It worked fine before reinstallation.
Unplug/plug, Uncheck/check "Debug Enabled", adb kill-server/adb start-server, restart phone/computer doesn't work for me. On the device authorize dialog never appears (but I remember that dialog appeared before reinstallation). I have no idea how to force this authorize dialog to display. There is no abd_key.pub file in .android directory.
When i try read cpu info DDMS says:
[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.
Any ideas? Is it possible to generate keys manually without confirmation dialog?
USB Connection
Wireless Connection
It's likely that the device is no longer authorized on ADB for whatever reason.
1. Check if authorized:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d unauthorized
2. Revoke USB Debugging on phone
If the device is shown as unauthorized, go to the developer options on the phone and click "Revoke USB debugging authorization" (tested with JellyBean & Samsung GalaxyIII).
3. Restart ADB Server:
Then restarted adb server
adb kill-server
adb start-server
4. Reconnect the device
The device will ask if you are agree to connect the computer id.
You need to confirm it.
5. Now Check the device
It is now authorized!
adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d device
Try forcing ADB to create new keys.
On Linux/OSX:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
On Windows 10 (thank you, Pau Coma Ramirez, Naveen and d4c0d312!):
Go to %HOMEPATH%\Android\.android\
Look for files called adbkey or adbkey.pub.
Delete these files. Or, if you want to be on the safe side, move them to another directory.
Repeat the above steps in %USERPROFILE%\.android\
Try again
After this I didn't even need to unplug my phone: the authorization prompt was already there.
Ohhh finally I figured it out!
After removing Eclipse directory I installed it into another directory.
echo %ANDROID_SDK_HOME%
has displayed wrong path to sdk directory.
set ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
unplug device
adb kill-server
adb start-server
plug device
After these steps, I was able to see confirmation dialog with RSA fingerprint on my phone :)
I run into the same issues with nexus7.
Following worked for fixing this.
Open Developer option in the Settings menu on your device.
Switch off the button on the upper right of the screen.
Delete all debug permission from the list of the menu.
Switch on the button on the upper right of the screen.
now reconnect your device to your PC and everything should be fine.
Sorry for my poor english and some name of the menus(buttons) can be incorrect in your language because mine is Japanese.
I had the same problem. It was resolved by setting "USB computer connection" to "Camera (PTP)" instead of "Media Device (MTP)
I wasted hours on this stupid issue. None of the above solutions worked for me on their own.
I'm running Windows 10. I had an old manual install of the Android SDK as well as Android Studio's SDK. I deleted my manually installed SDK and all my devices stopped working. These were the symptoms:
$ adb usb
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
as well as
$ adb devices
List of devices attached
id1 unauthorized
id2 unauthorized
id3 unauthorized
To be honest I'm not sure which of these steps got me my Allow USB debugging? prompts back so I listed EVERYTHING for completeness. Goes in order from easiest to hardest. Most people seem to be back on their feet after the first two sections.
Restart ADB
I would perform this after each of the sections below.
adb kill-server
adb usb
Go crazy with developer options
Turn Developer options off and back on
Turn USB debugging off and back on
Revoke USB debugging authorizations. Try this while USB debugging is on and if possible try also when USB debugging is off.
Replug devices
Unplug and replug USB cable into phone.
Switch physical ports on your PC that your USB cable is connected into
Switch physical USB cables you're using to connect your devices
Start rebooting everything
Reboot all your devices and connect again
Reboot your PC
Toggle WIFI on and off
Start deleting things
CAUTION Delete your ~/.android folder. Sometimes this folder can have the wrong permissions which can cause issues. You might want to back this folder up first.
Uninstall all manufacturer specific drivers from add/remove programs. I uninstalled the following (names are not exact)
LG United USB Driver
HTC Mobile USB Driver
OnePlus USB Drivers 1.00
Samsung USB Driver
I also uninstalled all emulators and their respective drivers (optional)
Nox & related drivers
Bluestacks
Genymotion
Erase all Android related environment variables.
Delete %ANDROID_HOME% if you have it set
Delete %ANDROID_SDK_HOME% if you have it set
At this point all my devices magically came to life and started displaying the Allow USB debugging? prompts and connecting properly through ADB. If you've made it this far and haven't found a solution, I am truly sorry you're in this predicament. Make sure you've restarted all devices and your dev machine at the end of all of these steps and connect to a fresh USB port using a new cable.
If that still doesn't work try some of these other SO posts on the subject:
Android ADB device offline, can't issue commands
Can't connect Nexus 4 to adb: unauthorized
How to solve ADB device unauthorized in Android ADB host device?
For me, I firstly unauthorized my device accidentally which I found out later. To revert it back to reauthorise:
Disconnect USB device from laptop/computer
Click 'Revoke USB debugging authorisations' in Developer options.
Disable developer options on top.
re-enable it again.
enable USB debugging
run command 'adb kill-server' on terminal
run command 'adb start-server' on terminal
connect your mobile device to laptop/computer
reauthorize
press like)
Note: if above doesn't work, trying restarting your laptop before connecting again
For reference, I just encountered much the same issue on Linux and had a hell of a time figuring it out. I eventually determined that I had a ~/.android directory that was root owned (thanks to running adb as root, while flailing around trying to figure out other connection problems). Deleting that root owned ~/.android directory resolved the missing authorisation dialog next time I reconnected the device.
It's possible that simply changing the ownership would also have fixed the problem - I'm guessing it was a simple lack of access to the adb key file stored inside that was the root of the problem. I didn't verify that, though, and I'm not going to deliberately break my hard-won connectivity just so I can check ;-)
Steps that worked for me:
1. Disconnect phone from usb cable
2. Revoke USB Debugging on phone
3. Restart the device
4. Reconnect the device
The most important part was rebooting the device. Didn't work without it .
After having spent over an hour going in rounds swearing at Samsung (mostly), Google, and who not, here are my findings, that finally helped me get the device recognized:
On Device:
Set developer mode
Allow USB debugging
Default USB configuration > Select USB tethering
Connect device to PC USB
On PC:
Elevated cmd/ps prompt (maybe not mandatory, but that was my drill)
adb kill-server (precede with .\ in ps)
adb start-server (while device connected) > watch for prompt on device
On device:
Always allow connections from this computer > Yes
On PC:
adb devices gets the following output:
List of devices attached
278c250cce217ece device
Had similar issue on osx and Nexus 5 (A6.0.1).
I did get the authorization pop-up and confirmed it, despite that Android Studio nor any other IDE could connect to device.
Turned out my Nexus (rooted) was missing key files.
Rebooted Android device into recovery
Ran code pasted below
Rebooted Android device, adb now identifies device
Push key from computer to Android device:
cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys
Solution came from here
I was getting this error with my Nexus 10. I tried all of the answers I could find, and then I realized I was using a different USB port than usual. I switched to using the port I usually use, which is on the other side of my laptop, and the authorization popped up on my tablet!
As the message have stated, you need to allow the adb access on your phone.
You need to first connect the phone to your PC with USB cables, then the authorization message will pop out on the screen. Tick remember your choice, then allow it.
IF your device doesnt shows any messages when connected to the PC.Just do this.
Remove /data/misc/adb/adb_key, reboot your phone and try connect
again. The message should come up.
Recheck 'USB Debug' option in developer options helped me
The solution is to copy your file ~/.android/adbkey.pub (on GNU/Linux, or %USERPROFILE%\.android\adbkey.pub on Windows) to Android, and place it as /data/misc/adb/adb_keys. You need root privileges to do that.
You can transfer the file any way you like (or are able to), be it USB, e-mail or a temporary file upload service. In my case, as it was a new Android-x86 installation in a Virtual Machine, no usable web browser, and with network/TCP adb not working, I had to actually type in the 715 characters.
At least it worked.
If you are on ubuntu, try running the server as root:
sudo adb kill-server
sudo adb start-server
Simply, turn off developer options from your device and again turn on, attach USB with the device and working system and turn on USB debugging.
I was tiered with this, I got that permission dialog by turning off wi-fi of my phone.
Disconnect your device from the computer.
Go into developer settings.
Turn off developer settings.
Turn on developer settings.
Enable USB Debugging (and whatever other settings you enabled beforehand)
Reconnect your device to the computer.
Try again.
Worked for me so hope it works for you!
I was not getting the RSA fingerprint pop up on my phone.
I had to go into the
C:\Users\<userName>\.android\adbkey and adbkey.pub
files, delete those and then do kill and restart of adb server.
I had to stop and restart the debugger and connecting as USB in PTP mode.
Because the RSA authorisation key was getting stored in this path, killing and restarting the adb server didn't help.
This solved my issue!
run your android simulator
go to setting and enable developer mode
enable from the developer settings usb debugging
at this point you will get popup massage at you emulator to authorise the device and you are good to go :)
You should delete the file: c:\users\_user_name_\.android\adbkey
On some Samsung devices the mode change that can be set by dialing *#0808# doesn't stick without direct reboot. Once rebooted, dial the same string and make sure that you have adb + mdp selected and USB set to AP. After this make sure to reconnect phone and restart ADB server. Also try to avoid USB hubs and virtual machines witch surely complicate matter further. The follow the previously mentioned instructions for clearing authorized devices etc.
I had a similar problem. However, it was solved using a different solution. I thought I might share this here as well. Let me describe my problem first.
I had the Android SDK in my ubuntu. The path to the android SDK was not in the environment variable path. I installed adb using a apt-get command and it could not find the sdk home folder and hence, it was showing the unauthorized error and the device was not popping up anything as well. I got stuck here.
Then I uninstalled the adb using apt-get purge which I installed earlier. The Android SDK has the adb program in the platform-tools folder. I just add the path to the environment variable and it worked like a charm.
export PATH=${PATH}:/home/YOUR-USERNAME/path/to/adb
adb devices
List of devices attached
f7f716d56905 device
Hence the problem was not setting the Android SDK to the environment variable path.
The same issue started appearing once I changed my development device, it was solved as:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
I had the same message in two phones:
- Sony Xperia E
- Samsung Galaxy Core 2
both Android 4.4.2, and i solved it with these two steps:
1.- Updating my adb to 1.0.31, downloading the latest version of Android SDK from SDK Manager
You can check your adb version by typing
adb version
2.- Once the phone is plugged in USB Debugging mode, A message appears asking you to authorize this computer for debugging. You have to mark "Always allow this computer", and click on Allow.
Hope it helps.
it's not may work for all situations but because i used a long cable my device doesnt connect properly and the message wont pop up
change the cable may solve the problem
I just try adb kill-server, it works for me:
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 unauthorized
PS C:\Users\languoguang> adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
kill and start adb server:
PS C:\Users\languoguang> adb kill-server
PS C:\Users\languoguang> adb start-server
* daemon not running; starting now at tcp:12345
* daemon started successfully
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 device
Here's what I did that that brought the authorization prompt and made my device appear. I used a Samsung Galaxy s7 edge.
Enable developer mode and USB debugging on your device.
Revoke the USB debugging authorization
Plug your phone to computer via USB.
Drag notification panel and select "Software Installation" as shown in the image below
This will begin installing USB driver and the prompt for USB debugging authorization will show.
Check if you have Samsung Kies installed. That is one possible solution

Unable to view logcat for application on Nexus 5 (L Preview) [duplicate]

Since I reinstalled Eclipse (simply deleted and downloaded it again) I can't debug my applications on Samsung Galaxy i9001 (with CyanogenMod - Android 4.4.2). It worked fine before reinstallation.
Unplug/plug, Uncheck/check "Debug Enabled", adb kill-server/adb start-server, restart phone/computer doesn't work for me. On the device authorize dialog never appears (but I remember that dialog appeared before reinstallation). I have no idea how to force this authorize dialog to display. There is no abd_key.pub file in .android directory.
When i try read cpu info DDMS says:
[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.
Any ideas? Is it possible to generate keys manually without confirmation dialog?
USB Connection
Wireless Connection
It's likely that the device is no longer authorized on ADB for whatever reason.
1. Check if authorized:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d unauthorized
2. Revoke USB Debugging on phone
If the device is shown as unauthorized, go to the developer options on the phone and click "Revoke USB debugging authorization" (tested with JellyBean & Samsung GalaxyIII).
3. Restart ADB Server:
Then restarted adb server
adb kill-server
adb start-server
4. Reconnect the device
The device will ask if you are agree to connect the computer id.
You need to confirm it.
5. Now Check the device
It is now authorized!
adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d device
Try forcing ADB to create new keys.
On Linux/OSX:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
On Windows 10 (thank you, Pau Coma Ramirez, Naveen and d4c0d312!):
Go to %HOMEPATH%\Android\.android\
Look for files called adbkey or adbkey.pub.
Delete these files. Or, if you want to be on the safe side, move them to another directory.
Repeat the above steps in %USERPROFILE%\.android\
Try again
After this I didn't even need to unplug my phone: the authorization prompt was already there.
Ohhh finally I figured it out!
After removing Eclipse directory I installed it into another directory.
echo %ANDROID_SDK_HOME%
has displayed wrong path to sdk directory.
set ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
unplug device
adb kill-server
adb start-server
plug device
After these steps, I was able to see confirmation dialog with RSA fingerprint on my phone :)
I run into the same issues with nexus7.
Following worked for fixing this.
Open Developer option in the Settings menu on your device.
Switch off the button on the upper right of the screen.
Delete all debug permission from the list of the menu.
Switch on the button on the upper right of the screen.
now reconnect your device to your PC and everything should be fine.
Sorry for my poor english and some name of the menus(buttons) can be incorrect in your language because mine is Japanese.
I had the same problem. It was resolved by setting "USB computer connection" to "Camera (PTP)" instead of "Media Device (MTP)
I wasted hours on this stupid issue. None of the above solutions worked for me on their own.
I'm running Windows 10. I had an old manual install of the Android SDK as well as Android Studio's SDK. I deleted my manually installed SDK and all my devices stopped working. These were the symptoms:
$ adb usb
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
as well as
$ adb devices
List of devices attached
id1 unauthorized
id2 unauthorized
id3 unauthorized
To be honest I'm not sure which of these steps got me my Allow USB debugging? prompts back so I listed EVERYTHING for completeness. Goes in order from easiest to hardest. Most people seem to be back on their feet after the first two sections.
Restart ADB
I would perform this after each of the sections below.
adb kill-server
adb usb
Go crazy with developer options
Turn Developer options off and back on
Turn USB debugging off and back on
Revoke USB debugging authorizations. Try this while USB debugging is on and if possible try also when USB debugging is off.
Replug devices
Unplug and replug USB cable into phone.
Switch physical ports on your PC that your USB cable is connected into
Switch physical USB cables you're using to connect your devices
Start rebooting everything
Reboot all your devices and connect again
Reboot your PC
Toggle WIFI on and off
Start deleting things
CAUTION Delete your ~/.android folder. Sometimes this folder can have the wrong permissions which can cause issues. You might want to back this folder up first.
Uninstall all manufacturer specific drivers from add/remove programs. I uninstalled the following (names are not exact)
LG United USB Driver
HTC Mobile USB Driver
OnePlus USB Drivers 1.00
Samsung USB Driver
I also uninstalled all emulators and their respective drivers (optional)
Nox & related drivers
Bluestacks
Genymotion
Erase all Android related environment variables.
Delete %ANDROID_HOME% if you have it set
Delete %ANDROID_SDK_HOME% if you have it set
At this point all my devices magically came to life and started displaying the Allow USB debugging? prompts and connecting properly through ADB. If you've made it this far and haven't found a solution, I am truly sorry you're in this predicament. Make sure you've restarted all devices and your dev machine at the end of all of these steps and connect to a fresh USB port using a new cable.
If that still doesn't work try some of these other SO posts on the subject:
Android ADB device offline, can't issue commands
Can't connect Nexus 4 to adb: unauthorized
How to solve ADB device unauthorized in Android ADB host device?
For me, I firstly unauthorized my device accidentally which I found out later. To revert it back to reauthorise:
Disconnect USB device from laptop/computer
Click 'Revoke USB debugging authorisations' in Developer options.
Disable developer options on top.
re-enable it again.
enable USB debugging
run command 'adb kill-server' on terminal
run command 'adb start-server' on terminal
connect your mobile device to laptop/computer
reauthorize
press like)
Note: if above doesn't work, trying restarting your laptop before connecting again
For reference, I just encountered much the same issue on Linux and had a hell of a time figuring it out. I eventually determined that I had a ~/.android directory that was root owned (thanks to running adb as root, while flailing around trying to figure out other connection problems). Deleting that root owned ~/.android directory resolved the missing authorisation dialog next time I reconnected the device.
It's possible that simply changing the ownership would also have fixed the problem - I'm guessing it was a simple lack of access to the adb key file stored inside that was the root of the problem. I didn't verify that, though, and I'm not going to deliberately break my hard-won connectivity just so I can check ;-)
Steps that worked for me:
1. Disconnect phone from usb cable
2. Revoke USB Debugging on phone
3. Restart the device
4. Reconnect the device
The most important part was rebooting the device. Didn't work without it .
After having spent over an hour going in rounds swearing at Samsung (mostly), Google, and who not, here are my findings, that finally helped me get the device recognized:
On Device:
Set developer mode
Allow USB debugging
Default USB configuration > Select USB tethering
Connect device to PC USB
On PC:
Elevated cmd/ps prompt (maybe not mandatory, but that was my drill)
adb kill-server (precede with .\ in ps)
adb start-server (while device connected) > watch for prompt on device
On device:
Always allow connections from this computer > Yes
On PC:
adb devices gets the following output:
List of devices attached
278c250cce217ece device
Had similar issue on osx and Nexus 5 (A6.0.1).
I did get the authorization pop-up and confirmed it, despite that Android Studio nor any other IDE could connect to device.
Turned out my Nexus (rooted) was missing key files.
Rebooted Android device into recovery
Ran code pasted below
Rebooted Android device, adb now identifies device
Push key from computer to Android device:
cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys
Solution came from here
I was getting this error with my Nexus 10. I tried all of the answers I could find, and then I realized I was using a different USB port than usual. I switched to using the port I usually use, which is on the other side of my laptop, and the authorization popped up on my tablet!
As the message have stated, you need to allow the adb access on your phone.
You need to first connect the phone to your PC with USB cables, then the authorization message will pop out on the screen. Tick remember your choice, then allow it.
IF your device doesnt shows any messages when connected to the PC.Just do this.
Remove /data/misc/adb/adb_key, reboot your phone and try connect
again. The message should come up.
Recheck 'USB Debug' option in developer options helped me
The solution is to copy your file ~/.android/adbkey.pub (on GNU/Linux, or %USERPROFILE%\.android\adbkey.pub on Windows) to Android, and place it as /data/misc/adb/adb_keys. You need root privileges to do that.
You can transfer the file any way you like (or are able to), be it USB, e-mail or a temporary file upload service. In my case, as it was a new Android-x86 installation in a Virtual Machine, no usable web browser, and with network/TCP adb not working, I had to actually type in the 715 characters.
At least it worked.
If you are on ubuntu, try running the server as root:
sudo adb kill-server
sudo adb start-server
Simply, turn off developer options from your device and again turn on, attach USB with the device and working system and turn on USB debugging.
I was tiered with this, I got that permission dialog by turning off wi-fi of my phone.
Disconnect your device from the computer.
Go into developer settings.
Turn off developer settings.
Turn on developer settings.
Enable USB Debugging (and whatever other settings you enabled beforehand)
Reconnect your device to the computer.
Try again.
Worked for me so hope it works for you!
I was not getting the RSA fingerprint pop up on my phone.
I had to go into the
C:\Users\<userName>\.android\adbkey and adbkey.pub
files, delete those and then do kill and restart of adb server.
I had to stop and restart the debugger and connecting as USB in PTP mode.
Because the RSA authorisation key was getting stored in this path, killing and restarting the adb server didn't help.
This solved my issue!
run your android simulator
go to setting and enable developer mode
enable from the developer settings usb debugging
at this point you will get popup massage at you emulator to authorise the device and you are good to go :)
You should delete the file: c:\users\_user_name_\.android\adbkey
On some Samsung devices the mode change that can be set by dialing *#0808# doesn't stick without direct reboot. Once rebooted, dial the same string and make sure that you have adb + mdp selected and USB set to AP. After this make sure to reconnect phone and restart ADB server. Also try to avoid USB hubs and virtual machines witch surely complicate matter further. The follow the previously mentioned instructions for clearing authorized devices etc.
I had a similar problem. However, it was solved using a different solution. I thought I might share this here as well. Let me describe my problem first.
I had the Android SDK in my ubuntu. The path to the android SDK was not in the environment variable path. I installed adb using a apt-get command and it could not find the sdk home folder and hence, it was showing the unauthorized error and the device was not popping up anything as well. I got stuck here.
Then I uninstalled the adb using apt-get purge which I installed earlier. The Android SDK has the adb program in the platform-tools folder. I just add the path to the environment variable and it worked like a charm.
export PATH=${PATH}:/home/YOUR-USERNAME/path/to/adb
adb devices
List of devices attached
f7f716d56905 device
Hence the problem was not setting the Android SDK to the environment variable path.
The same issue started appearing once I changed my development device, it was solved as:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
I had the same message in two phones:
- Sony Xperia E
- Samsung Galaxy Core 2
both Android 4.4.2, and i solved it with these two steps:
1.- Updating my adb to 1.0.31, downloading the latest version of Android SDK from SDK Manager
You can check your adb version by typing
adb version
2.- Once the phone is plugged in USB Debugging mode, A message appears asking you to authorize this computer for debugging. You have to mark "Always allow this computer", and click on Allow.
Hope it helps.
it's not may work for all situations but because i used a long cable my device doesnt connect properly and the message wont pop up
change the cable may solve the problem
I just try adb kill-server, it works for me:
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 unauthorized
PS C:\Users\languoguang> adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
kill and start adb server:
PS C:\Users\languoguang> adb kill-server
PS C:\Users\languoguang> adb start-server
* daemon not running; starting now at tcp:12345
* daemon started successfully
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 device
Here's what I did that that brought the authorization prompt and made my device appear. I used a Samsung Galaxy s7 edge.
Enable developer mode and USB debugging on your device.
Revoke the USB debugging authorization
Plug your phone to computer via USB.
Drag notification panel and select "Software Installation" as shown in the image below
This will begin installing USB driver and the prompt for USB debugging authorization will show.
Check if you have Samsung Kies installed. That is one possible solution

ADB Android Device Unauthorized

Since I reinstalled Eclipse (simply deleted and downloaded it again) I can't debug my applications on Samsung Galaxy i9001 (with CyanogenMod - Android 4.4.2). It worked fine before reinstallation.
Unplug/plug, Uncheck/check "Debug Enabled", adb kill-server/adb start-server, restart phone/computer doesn't work for me. On the device authorize dialog never appears (but I remember that dialog appeared before reinstallation). I have no idea how to force this authorize dialog to display. There is no abd_key.pub file in .android directory.
When i try read cpu info DDMS says:
[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.
Any ideas? Is it possible to generate keys manually without confirmation dialog?
USB Connection
Wireless Connection
It's likely that the device is no longer authorized on ADB for whatever reason.
1. Check if authorized:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d unauthorized
2. Revoke USB Debugging on phone
If the device is shown as unauthorized, go to the developer options on the phone and click "Revoke USB debugging authorization" (tested with JellyBean & Samsung GalaxyIII).
3. Restart ADB Server:
Then restarted adb server
adb kill-server
adb start-server
4. Reconnect the device
The device will ask if you are agree to connect the computer id.
You need to confirm it.
5. Now Check the device
It is now authorized!
adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d device
Try forcing ADB to create new keys.
On Linux/OSX:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
On Windows 10 (thank you, Pau Coma Ramirez, Naveen and d4c0d312!):
Go to %HOMEPATH%\Android\.android\
Look for files called adbkey or adbkey.pub.
Delete these files. Or, if you want to be on the safe side, move them to another directory.
Repeat the above steps in %USERPROFILE%\.android\
Try again
After this I didn't even need to unplug my phone: the authorization prompt was already there.
Ohhh finally I figured it out!
After removing Eclipse directory I installed it into another directory.
echo %ANDROID_SDK_HOME%
has displayed wrong path to sdk directory.
set ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
unplug device
adb kill-server
adb start-server
plug device
After these steps, I was able to see confirmation dialog with RSA fingerprint on my phone :)
I run into the same issues with nexus7.
Following worked for fixing this.
Open Developer option in the Settings menu on your device.
Switch off the button on the upper right of the screen.
Delete all debug permission from the list of the menu.
Switch on the button on the upper right of the screen.
now reconnect your device to your PC and everything should be fine.
Sorry for my poor english and some name of the menus(buttons) can be incorrect in your language because mine is Japanese.
I had the same problem. It was resolved by setting "USB computer connection" to "Camera (PTP)" instead of "Media Device (MTP)
I wasted hours on this stupid issue. None of the above solutions worked for me on their own.
I'm running Windows 10. I had an old manual install of the Android SDK as well as Android Studio's SDK. I deleted my manually installed SDK and all my devices stopped working. These were the symptoms:
$ adb usb
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
as well as
$ adb devices
List of devices attached
id1 unauthorized
id2 unauthorized
id3 unauthorized
To be honest I'm not sure which of these steps got me my Allow USB debugging? prompts back so I listed EVERYTHING for completeness. Goes in order from easiest to hardest. Most people seem to be back on their feet after the first two sections.
Restart ADB
I would perform this after each of the sections below.
adb kill-server
adb usb
Go crazy with developer options
Turn Developer options off and back on
Turn USB debugging off and back on
Revoke USB debugging authorizations. Try this while USB debugging is on and if possible try also when USB debugging is off.
Replug devices
Unplug and replug USB cable into phone.
Switch physical ports on your PC that your USB cable is connected into
Switch physical USB cables you're using to connect your devices
Start rebooting everything
Reboot all your devices and connect again
Reboot your PC
Toggle WIFI on and off
Start deleting things
CAUTION Delete your ~/.android folder. Sometimes this folder can have the wrong permissions which can cause issues. You might want to back this folder up first.
Uninstall all manufacturer specific drivers from add/remove programs. I uninstalled the following (names are not exact)
LG United USB Driver
HTC Mobile USB Driver
OnePlus USB Drivers 1.00
Samsung USB Driver
I also uninstalled all emulators and their respective drivers (optional)
Nox & related drivers
Bluestacks
Genymotion
Erase all Android related environment variables.
Delete %ANDROID_HOME% if you have it set
Delete %ANDROID_SDK_HOME% if you have it set
At this point all my devices magically came to life and started displaying the Allow USB debugging? prompts and connecting properly through ADB. If you've made it this far and haven't found a solution, I am truly sorry you're in this predicament. Make sure you've restarted all devices and your dev machine at the end of all of these steps and connect to a fresh USB port using a new cable.
If that still doesn't work try some of these other SO posts on the subject:
Android ADB device offline, can't issue commands
Can't connect Nexus 4 to adb: unauthorized
How to solve ADB device unauthorized in Android ADB host device?
For me, I firstly unauthorized my device accidentally which I found out later. To revert it back to reauthorise:
Disconnect USB device from laptop/computer
Click 'Revoke USB debugging authorisations' in Developer options.
Disable developer options on top.
re-enable it again.
enable USB debugging
run command 'adb kill-server' on terminal
run command 'adb start-server' on terminal
connect your mobile device to laptop/computer
reauthorize
press like)
Note: if above doesn't work, trying restarting your laptop before connecting again
For reference, I just encountered much the same issue on Linux and had a hell of a time figuring it out. I eventually determined that I had a ~/.android directory that was root owned (thanks to running adb as root, while flailing around trying to figure out other connection problems). Deleting that root owned ~/.android directory resolved the missing authorisation dialog next time I reconnected the device.
It's possible that simply changing the ownership would also have fixed the problem - I'm guessing it was a simple lack of access to the adb key file stored inside that was the root of the problem. I didn't verify that, though, and I'm not going to deliberately break my hard-won connectivity just so I can check ;-)
Steps that worked for me:
1. Disconnect phone from usb cable
2. Revoke USB Debugging on phone
3. Restart the device
4. Reconnect the device
The most important part was rebooting the device. Didn't work without it .
After having spent over an hour going in rounds swearing at Samsung (mostly), Google, and who not, here are my findings, that finally helped me get the device recognized:
On Device:
Set developer mode
Allow USB debugging
Default USB configuration > Select USB tethering
Connect device to PC USB
On PC:
Elevated cmd/ps prompt (maybe not mandatory, but that was my drill)
adb kill-server (precede with .\ in ps)
adb start-server (while device connected) > watch for prompt on device
On device:
Always allow connections from this computer > Yes
On PC:
adb devices gets the following output:
List of devices attached
278c250cce217ece device
Had similar issue on osx and Nexus 5 (A6.0.1).
I did get the authorization pop-up and confirmed it, despite that Android Studio nor any other IDE could connect to device.
Turned out my Nexus (rooted) was missing key files.
Rebooted Android device into recovery
Ran code pasted below
Rebooted Android device, adb now identifies device
Push key from computer to Android device:
cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys
Solution came from here
I was getting this error with my Nexus 10. I tried all of the answers I could find, and then I realized I was using a different USB port than usual. I switched to using the port I usually use, which is on the other side of my laptop, and the authorization popped up on my tablet!
As the message have stated, you need to allow the adb access on your phone.
You need to first connect the phone to your PC with USB cables, then the authorization message will pop out on the screen. Tick remember your choice, then allow it.
IF your device doesnt shows any messages when connected to the PC.Just do this.
Remove /data/misc/adb/adb_key, reboot your phone and try connect
again. The message should come up.
Recheck 'USB Debug' option in developer options helped me
The solution is to copy your file ~/.android/adbkey.pub (on GNU/Linux, or %USERPROFILE%\.android\adbkey.pub on Windows) to Android, and place it as /data/misc/adb/adb_keys. You need root privileges to do that.
You can transfer the file any way you like (or are able to), be it USB, e-mail or a temporary file upload service. In my case, as it was a new Android-x86 installation in a Virtual Machine, no usable web browser, and with network/TCP adb not working, I had to actually type in the 715 characters.
At least it worked.
If you are on ubuntu, try running the server as root:
sudo adb kill-server
sudo adb start-server
Simply, turn off developer options from your device and again turn on, attach USB with the device and working system and turn on USB debugging.
I was tiered with this, I got that permission dialog by turning off wi-fi of my phone.
Disconnect your device from the computer.
Go into developer settings.
Turn off developer settings.
Turn on developer settings.
Enable USB Debugging (and whatever other settings you enabled beforehand)
Reconnect your device to the computer.
Try again.
Worked for me so hope it works for you!
I was not getting the RSA fingerprint pop up on my phone.
I had to go into the
C:\Users\<userName>\.android\adbkey and adbkey.pub
files, delete those and then do kill and restart of adb server.
I had to stop and restart the debugger and connecting as USB in PTP mode.
Because the RSA authorisation key was getting stored in this path, killing and restarting the adb server didn't help.
This solved my issue!
run your android simulator
go to setting and enable developer mode
enable from the developer settings usb debugging
at this point you will get popup massage at you emulator to authorise the device and you are good to go :)
You should delete the file: c:\users\_user_name_\.android\adbkey
On some Samsung devices the mode change that can be set by dialing *#0808# doesn't stick without direct reboot. Once rebooted, dial the same string and make sure that you have adb + mdp selected and USB set to AP. After this make sure to reconnect phone and restart ADB server. Also try to avoid USB hubs and virtual machines witch surely complicate matter further. The follow the previously mentioned instructions for clearing authorized devices etc.
I had a similar problem. However, it was solved using a different solution. I thought I might share this here as well. Let me describe my problem first.
I had the Android SDK in my ubuntu. The path to the android SDK was not in the environment variable path. I installed adb using a apt-get command and it could not find the sdk home folder and hence, it was showing the unauthorized error and the device was not popping up anything as well. I got stuck here.
Then I uninstalled the adb using apt-get purge which I installed earlier. The Android SDK has the adb program in the platform-tools folder. I just add the path to the environment variable and it worked like a charm.
export PATH=${PATH}:/home/YOUR-USERNAME/path/to/adb
adb devices
List of devices attached
f7f716d56905 device
Hence the problem was not setting the Android SDK to the environment variable path.
The same issue started appearing once I changed my development device, it was solved as:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
I had the same message in two phones:
- Sony Xperia E
- Samsung Galaxy Core 2
both Android 4.4.2, and i solved it with these two steps:
1.- Updating my adb to 1.0.31, downloading the latest version of Android SDK from SDK Manager
You can check your adb version by typing
adb version
2.- Once the phone is plugged in USB Debugging mode, A message appears asking you to authorize this computer for debugging. You have to mark "Always allow this computer", and click on Allow.
Hope it helps.
it's not may work for all situations but because i used a long cable my device doesnt connect properly and the message wont pop up
change the cable may solve the problem
I just try adb kill-server, it works for me:
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 unauthorized
PS C:\Users\languoguang> adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
kill and start adb server:
PS C:\Users\languoguang> adb kill-server
PS C:\Users\languoguang> adb start-server
* daemon not running; starting now at tcp:12345
* daemon started successfully
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 device
Here's what I did that that brought the authorization prompt and made my device appear. I used a Samsung Galaxy s7 edge.
Enable developer mode and USB debugging on your device.
Revoke the USB debugging authorization
Plug your phone to computer via USB.
Drag notification panel and select "Software Installation" as shown in the image below
This will begin installing USB driver and the prompt for USB debugging authorization will show.
Check if you have Samsung Kies installed. That is one possible solution

Unable to connect to my android device via ADB

Sorry for the nooby question, I am having trouble sorting this out using the web.
I am trying to simply connect my device to my pc via adb to debug my application.
My device is rooted. Adb debugging is enabled. I downloaded an adb running application and started ADB.
Now i am trying adb connect ip:5555. and keep on getting "unable to connect to ip:5555" ...
Same happend when i try to connect via usb.
c:\>adb connect 192.168.20.191:5555
unable to connect to 192.168.20.191:5555
Help...?
EDIT:
C:>adb devices
List of devices attached
06fecaa1 unauthorized
Launching Cordova
Open Node.js / CMD
Point to "the directory where you have located your source folder" >>> C:\Projects\RJX
Enable Wifi
Turn on Developer Option under settings
Enable / Check USB Debugging Option under settings (Google if cannot find this option)
Enable / Check the MTP Option under settings (Google if cannot find this option)
ADB Commands
adb kill-server
adb start-server
//plug off cable from mobile and plug in again if you connected your device earlier
//Uninstall the application from mobile if you already installed. (if necessary)
adb tcpip 5555
adb connect "ip" //adb connect 192.192.2.128
adb devices //to check device details
cordova run android --device
if this steps are not worked, try to close the cmd and do it again. Sometimes it needs some refresh.
**Android devices version 4.0.4 and after should be no problem if you follow these steps.
I will assume you are able to understand adb connect / ip's etc I won't bore you with that
but there are two lame "gotcha's"
THE GENYMOTION GOTCHA
genymotion WRECKS a lot of this sometimes.. I am sorry but it does.. it has a "I know what I am doing I am taking over" mentality.. sadly it doesn't know what it's doing :-P often you have to turn off genymotion for the adb->usb to work.. basically connect phone FIRST ... make sure it's there in eclipse (adb kill-server / start server if needs be ), then AND ONLY THEN then genymotion AFTER
THE OOPS [/facepalm] GOTCHA
check that your phone it isn't in Windows merely as a "Camera" - go to My Computer and look. If it looks like this pic it's that you're not running Samsung Kies(/disabled because it's annoying) the phone still goes "blub bling" when you plug it in, it may be connected via wifi so have a LAN ip but it is NOT really "connected" to ur PC. instead run/download/update this (with phone disconnected) then make sure Kies is happy AND MAKE SURE MTU is enabled
This error happened to me when PC was (accidentally) NOT in the same network as Android. When I logged on Android to the same WIFI network as PC it now works perfect and I don't have this problem.
The answer here is that it's not listening on the correct (default) port. So you need to set the TCP/IP port to 5555. Connect your device via USB and issue the following command in cmd (terminal):
adb tcpip 5555
Following this your adb connect should work fine, e.g.:
adb connect 192.168.0.n
Hope this fixes it for you.
This happened when I was previously connected with one device (e.g. apps2fire) and then tried using adb command from another machine. I rebooted the Android device and then tried again and received the prompt to allow the connection as I would have expected.
First, check your ip address in your device, then following this command.
adb kill-server
adb tcpip 5555
adb connect [your-ip-address]:5555

adb logcat hangs with "waiting for device" message

When I type adb devices command on terminal, it shows device is connected
List of devices attached
0123456789ABCDEF device
But when I type adb logcat command, it hangs with below message
waiting for device
Can anybody tell me what is the problem behind this? I test the device on cts.
I am not pretty much sure if this works for you but can you please try the steps below:
# Kill and restart
$ adb kill-server
$ adb start-server
daemon not running. starting it now *
daemon started successfully *
# Device appears, but is listed as offline
$ adb devices
$ adb logcat
I have also experienced similar problems I think I solved it by having the USB debugging option switched on within Developer Options in Settings.
REPEAT The following steps above, it should work!
Here is yet another potential method to solve this -- in the past, the above solutions will work, but in my case, this time, this was the thing that fixed it:
Plug device into USB
Settings -> Developer Options
Revoke USB Debugging Authorization
Unplug Device
Repeat Step 1
Authorize Device
Repeat Steps 4&5
adb devices
should now show device
adb logcat
should now output logs from device
I had this same problem on Ubuntu 12.04. Thankfully MickeyMicro had the solution that worked for me:
Run the command:
gksudo gedit /etc/udev/rules.d/51-android.rules
Add the following line to the blank file
SUBSYSTEM=="usb", ATTR{idVendor}="2080", MODE="0666" (I used this one on 12.04)
SUBSYSTEM=="usb", SYSFS{idVendor}="2080", MODE="0666" (Another recommended for 10.04)
Save and close gedit.
Run the command:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
Restart the system.
Run the command:
sudo sh -c "mkdir -p ~/.android; echo 0x2080 > ~/.android/adb_usb.ini; adb kill-server; adb devices"
Verify that you have permissions to access the device. adb devices should return normal response, rather than a "???????????? no permissions" message.
http://forum.cyanogenmod.com/topic/23163-need-help-for-adb-connection-on-ubuntu/
I got Nexus tab today and I had to go to Settings -> About Tablet -> (tap 7 or 8 times) on Build Number.
Then 'Developer Options' showed up above 'About Tablet'.
Next in Developer Options, after enabling USB Debugging I was able to get the logs
For Mac Users:
cd /Applications/Android/sdk/platform-tools
./adb logcat
When I have experienced this infinite "waiting for device" on Windows I had simply forgotten to enable usb-debugging in the developer options of my device.
What OS are you using? It can be a variety of different reasons. Did you make sure you only have either the emulator running or a device attached? If so, you can direct your adb command by using the -d or the -e flag.
I had similar problem on Galaxy S3, with adb running on Ubuntu 11.10 OS. In my case, If I reconnect the device (pull the USB connection and reconnect it), the log cat starts working. This happens only for the first time I connect the device after powering it up. Once logcat starts working, then it continues to work smoothly, without needing to reconnect.
This happend to me on OS X mountain lion. To fix it I had to
open Activity Monitor, filter all processes named "adb" and force quit them (I had 3 running). Then reconnect the device and everything was working again.
On my Samsung Galaxy S4 I had the same problem but after 10-20 seconds a dialog pops up on the phone where I have to accept the debug request
I had a similar problem, but for different reasons. My issue came from programing usb accessory on android, which changes the vid/pid when in accessory mode. The solution for me that worked was the following:
Connect the phone
Run the usb host side accessory mode commands (Example website: http://android.serverbox.ch/?p=262 )
Phone should have reconnected in accessory mode (Ensure the PID has adb: 0x2D01)
adb kill-server
sudo adb start-server (This caused the phone to re-ask auth permission)
adb logcat (In my case I wanted to watch the logs, this now worked in accessory mode)
In my case, I was using an old version of adb, make sure you have the latest version of adb. You can download here, extract and run straight within the folder ./adb.
Please go to the developer options on the phone and click "Revoke USB debugging authorization"
Enable it again and try to get the logs. This is basically waiting for the device to get connected. Make sure to authorize USB access from device as well.
In my case just change the option of USB settings from transferring files to MIDI
Enable USB debugging in Developer options
Set File Transer in USB Preferences
did the trick for me! also running adb as sudo might help.
In my case I was using a device connected with Ethernet that runs Android, and I did these steps to solve the problem.
Before, make sure OTG is on.
$ adb kill-server
$ adb connect [your device IP]
I accepted the connection request on the pop-up that appeared on the device
$ adb devices: to check that the device is connected
$ adb logcat

Categories

Resources