How do I make ADB work on linux with a motorola

2019-05-02 04:38发布

问题:

As the title says, I am having difficulty using ADB on linux. I have a motorola Droid X shadow running gingerbread 2.3.4. I have a laptop with Ubuntu 13.04. I need to be able to establish a connection from the computer to the phone, using ADB.

  1. I installed ADB from google (into ~/android-sdk-linux)
  2. I put the phone into debugging (settings -> applications -> development -> usb debugging)
  3. I installed the udev rules. (see this for more info)
  4. I restarted the computer and the phone
  5. I connected the two (phone says that it is charging)
  6. I tried ./adb devices

I got an empty device list

sam@Aristotle:~$ ls -ahl /etc/udev/rules.d/51-android.rules 

    -rwxr-xr-x 1 root root 2.7K Jun 19 14:03 /etc/udev/rules.d/51-android.rules

sam@Aristotle:~$ cat /etc/udev/rules.d/51-android.rules 
    <!-- snip -->
    SUBSYSTEM==”usb”, ATTR{idVendor}==”22B8″, MODE=”0666″, GROUP=”plugdev”
    <!-- snip -->

Then I restart the machine. Once it is up I plugin the phone.

root@Aristotle:/home/sam/android-sdk-linux/platform-tools# ./adb devices
    List of devices attached 

root@Aristotle:/home/sam/android-sdk-linux/platform-tools# ./adb kill-server
root@Aristotle:/home/sam/android-sdk-linux/platform-tools# ./adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
root@Aristotle:/home/sam/android-sdk-linux/platform-tools# ./adb devices
    List of devices attached 

root@Aristotle:/home/sam/android-sdk-linux/platform-tools# 

I did try this as user 'sam' too (sam is in plugdevs). I also tried this with multiple USB ports on my laptop.

I was thinking that I could use something like this app to communicate with the phone over wifi, but that requires rooting, and the only 'safe' methods of rooting require adb.

I turned on Udev debugging and tried it again. Then I opened /var/log/udev. It was pretty long, so I searched up '22b8' (not case sensitive), because according to here, that is the USB Vendor ID for motorola, but my search could not find any results. I don't think the rule I put /etc/udev/rules.d/ is firing for some reason.

Output to sudo lsusb -vv is found here (too long to post).

I also tried installing p2kmoto

root@Aristotle:/home/sam/android-sdk-linux/platform-tools# p2ktest 
P2k Test
Device list:
1d6b:0001: [Linux 3.8.0-26-generic ohci_hcd] [OHCI Host Controller]
0461:4d16: [] [USB Optical Mouse]
1d6b:0001: [Linux 3.8.0-26-generic ohci_hcd] [OHCI Host Controller]
1d6b:0001: [Linux 3.8.0-26-generic ohci_hcd] [OHCI Host Controller]
1d6b:0001: [Linux 3.8.0-26-generic ohci_hcd] [OHCI Host Controller]
04f2:b044: [Chicony Electronics Co., Ltd.] [CNF7017]
1d6b:0002: [Linux 3.8.0-26-generic ehci_hcd] [EHCI Host Controller]
1d6b:0002: [Linux 3.8.0-26-generic ehci_hcd] [EHCI Host Controller]
No phone found.

回答1:

From the result of lsusb, it seems there is no android device shown. Did you enable usb debugging on your phone? You might want to check this video for details.