I just updated my ubuntu 11.10 to 12.04 and getting this problem, my android device does not appear online while I run android project from eclipse.I've attached a screenshot. I also put file in /etc/udev/rules.d/51-android.rules.
the content of 51-android.rules file is
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
screenshot is
SYSFS was deprecated in the recent versions of udev.
Your file should only have lines like this:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
where 0bb4 is the vendor id.
You can get the vendor id for your phone through the terminal. Run 'lsusb' on the commmand line and find the line with your device.
For example, on my case:
Bus 004 Device 004: ID 18d1:4e22 Google Inc. Nexus S (debug)
So the vender id is 18d1.
And the above line becomes:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Related
I have an asus zenfone 5, i want to develop android application on it and i am currently use ubuntu as my only OS,
what im already did was :
enabled usb debugging but still not detected in my computer
when i type lsusb on terminal the phone detected as Bus 002 Device 006: ID 18d1:d002 Google Inc.
these are my detail information about the system that i used, in case someone ask
OS : ubuntu 12.04 /elementary luna 64 bit
Android Device : zenfone 5 with android version 4.4.2
thanks^^
Many times, on Ubuntu, "it just works" -- you plug in the device, you accept the "yes, I want to allow debugging from this PC" dialog on the device, and you are set.
Sometimes, though, you need to customize your udev rules. Instructions for this can be found in the documentation. Search engines can usually turn up the rules you need, if your device is reasonably popular.
So, for example, here are some lines from the 51-android.rules set of udev rules on my development machine:
# Acer A700
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
# LG
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
# HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
# SONY
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
# ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
# Rikomagic
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"
# Kindle Fire HDX
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", MODE="0666"
# Qualcomm MDP 800
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
# Nokia X
SUBSYSTEM=="usb", ATTR{idVendor}=="0421", MODE="0666"
# hudl 2
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", ATTR{idProduct}=="504b", MODE="0666"
I usually then restart udev via service udev restart, before plugging the device in again. Then, if the device has debugging enabled, you should get the confirmation dialog on the device, and if you accept that dialog, you will be able to use development tools to work with that device (set breakpoints, inspect LogCat, etc.).
My device is a Pantech Flex (ATT carrier and rooted)
It will not show up in ADB device chooser
I have created a file /etc/udev/rules.d/51-android.rules
I have created a file /etc/udev/rules.d/50-android.rules
I have created a file /etc/udev/rules.d/70-android.rules
I have edited the file ~/.android/adb_usb.ini
I am running eclipse ADT. I am using ubuntu 13.04
The contents for each of the files are identical (idVendor 10a9 for Pantech):
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
Turns out that one of those files fixed the problem after a reboot.
No harm in having all of these files if you arnt sure which one your system needs. Its ugly but it works:
/etc/udev/rules.d/51-android.rules
/etc/udev/rules.d/50-android.rules
/etc/udev/rules.d/70-android.rules
~/.android/adb_usb.ini
I am trying to run/debug and my Android-app via Eclipce on an Yeahpad Pillbox7.
My OS is Ubuntu 12.10..
From the http://developer.android.com/tools/device.html#setting-up page,
I can see I need to set the:
sudo gedit /etc/udev/rules.d/51-android.rules
Then I need to add this:
SUBSYSTEM=="usb", ATTR{idVendor}=="?", MODE="0666", GROUP="plugdev"
But I can´t find the ATTR{idVendor} for Yeahpad devies!!
UPDATE:
Just use
18d1
So it look like this.
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Show connected devices by running sudo lsusb -v
I know there are many questions about this but none of them helped my situation.I'm running Ubuntu 11.10 and I'm trying to debug an app on my LG phone. I followed this guide: http://developer.android.com/guide/developing/device.html
I enabled USB debugging on my phone,set the project to debuggable in the manifest, and edited the /etc/udev/rules.d/51-android.rules rules file. Here is the contents of the file:
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
1004 is the vendor ID for LG. The device is mounted; I can access it in my filesystem and the USB mounted indicator is in the notifications area. When I run adb devices, the phone is not listed, only the emulator is. It is also not recognized in Eclipse. How can I get Eclipse to recognize my device?
Here is my ultimate script to adding rules for all Android devices. You should delete your xx-android.rules files if you wrote it and make this with sudo:
#!/bin/bash
android_SDK=$1
if [[ $android_SDK == "" ]]
then
echo 'usage: sudo add_device_rules_to_unix.sh /android-SDK/platform-tools/dir/path'
exit
fi
PATH=$PATH:$android_SDK
rules_file="/etc/udev/rules.d/99-android.rules"
# Adding rules to 99-android.rules file
echo '# Acer
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
# Dell
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
# Foxconn
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
# Garmin-Asus
SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666"
# Google
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
# HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
# Huawei
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
# LG
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
# Motorola
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
# Nvidia
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
# Pantech
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
# Samsung
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
# Sharp
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
# Sony Ericsson
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
# ZTE
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"' > $rules_file
# Applying rules and restarting adb
chmod a+r $rules_file
service udev restart
adb kill-server
adb start-server
Hope it helps you.
I found my problem. The Android guide says to name the udev file 51-android.rules. But for newer version of Ubuntu (Karmic and sooner) it needs to be names 70-android.rules. This is the tutorial I followed: http://esausilva.com/2010/05/13/setting-up-adbusb-drivers-for-android-devices-in-linux-ubuntu/. Thanks for your answers though.
You should install usb-drivers for your device (even if you have access with your file system). Maybe it's a standart driver, that allows you to use SD card on your phone (but nothing more).
Try searching for generic adb drivers for LG for Ubuntu, install them, reboot and connect your phone. Then go to terminal, navigate to folder with adb and use the following command to see if your device is recognised:
./adb devices
If it shows your device, it is ready to be used with android sdk.
There is an extra step on 64 bit Ubuntu:
apt-get install ia32-libs
Maybe this is the issue?
I am developing android application under Linux Ubuntu 10.04, with Eclipse IDE.
I successfully managed to run my application through eclipse virtual device emulator (target android2.1-update1).
Then, I followed the tutorial to run my application on a ZTE tablet device through eclipse. I followed every step of the tutorial.
My rules file is located under /etc/udev/rules.d/51-android.rules, with content:
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"
The vendor ID of ZTE is 19D2.
I also enabled USB debugging both on the ZTE device and in my application's manifest file.
When I run the application in Eclipse, there is a "Android Device chooser" window popped up, which shows a device with:
serial number: "?????????????"
AVD name: N/A
target : Unknown
Debug:
Why eclipse can not recognize the ZTE tablet device correctly??
What could be the possible reason?
(I also tried to reboot my linux machine, but nothing changed)
State: ??
Change the line to SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"
Try changing your /etc/udev/rules.d/51-android.rules to:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="19D2", OWNER="user", GROUP="group"
where user is the username of the account you develop under; and group is the group of the account you developer under.
??? symbols means that device is either offline or adb has not wright permission to access the device.Inorder to change the permission we need to update /etc/udev/rules.d/51-android.rules file in the following way.
SUBSYSTEM=="usb", ATTRS{idVendor}=="1782" ,MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
using lsusb command to find vender id..