Update README.md with a fix for #101

Apparently on Ubuntu there's no `adbusers` group but until the recent
Android Studio update everything worked properly. The updated README
calls for adding the `adbusers` group.
This commit is contained in:
Piotr Zaborowski 2017-02-01 20:20:22 +01:00
parent 7ffd91c4f3
commit 8283857b94
1 changed files with 34 additions and 36 deletions

View File

@ -1,51 +1,49 @@
# android-udev-rules
## Description
These rules refer to https://developer.android.com/studio/run/device.html and include many suggestions from the Archlinux and Github Community.
If you're developing on Ubuntu Linux, you need to add a udev rules file that contains a USB configuration for each type of device you want to use for development. In the rules file, each device manufacturer is identified by a unique vendor ID, as specified by the ATTR{idVendor} property. For a list of vendor IDs, see USB Vendor IDs, below.
These rules refer to [Run Apps on a Hardware Device - Android Studio](https://developer.android.com/studio/run/device.html) and include many suggestions from the Archlinux and Github Communities.
Use this format to add each vendor to the file(example vendor ID is for HTC):
`SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"`
The MODE assignment specifies read/write permissions, and GROUP defines which Unix group owns the device node.
Note: The rule syntax may vary slightly depending on your environment. Consult the udev documentation for your system as needed. For an overview of rule syntax, see this guide to writing udev rules. please refer to 51-android.rules in [ubuntu directory](ubuntu)
## Installation
#### For Ubuntu
### Arch
```sh
# Clone the repo (replace repo-url with the Github URL)
git clone <repo-url>
# Create a sym-link to the rules file
sudo ln -s `pwd`/android-udev-rules/51-android.rules /etc/udev/rules.d/
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# Add plugdev group to your <login-id>
sudo usermod -a -G plugdev <login-id>
# Repluging your Android and verify adb is enabled in developer options
# Restart ADB server
adb kill-server
adb devices
# You should now see your device
```
On Arch it should be enough to follow the [instructions for connecting a device on the Arch wiki](https://wiki.archlinux.org/index.php/android#Connect_device). There's no need to clone this repository.
### Ubuntu
# Clone this repository
git clone git@github.com:M0Rf30/android-udev-rules.git
# Create a sym-link to the rules file
sudo ln -s `pwd`/android-udev-rules/51-android.rules /etc/udev/rules.d/
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# add the adbusers group if it's doesn't already exist
sudo groupadd adbusers
# Add your user to the adbusers group
sudo usermod -a -G adbusers $(whoami)
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# Restart the ADB server
adb kill-server
# Replug your Android device and verify that USB debugging is enabled in developer options
adb devices
# You should now see your device
## Troubleshooting
Try group plug**in**dev rather than plugdev, then restart udev.
## To Contribute:
1. Please fork this repository
2. Make your edits
3. TEST IT!
4. Create a pull-request
1. Fork this repository.
2. Make your edits.
3. TEST THEM!
4. Create a pull request.
## Note
Some devices (particularly MediaTek and Xiaomi) also require an entry in $HOME/.android/adb\_usb.ini. You can use the adb_usb.ini
`ln -s `pwd`/adb_usb.ini $HOME/.android/
Some devices (particularly MediaTek and Xiaomi) additionally require an entry in `$HOME/.android/adb_usb.ini`. You can use the adb_usb.ini from this repository:
ln -s `pwd`/adb_usb.ini $HOME/.android/