Ubuntu 16.04でAndroid実機を接続

Ubuntu 16.04上でAndroidアプリ開発を行う中で、実機での動作を確認しようと思い、USBデバッグを有効にしたHuawei P8 liteをUSBで接続し、adb devicesを実行したところ、以下のようなレスポンスになった。

$ adb devices
List of devices attached
ARCxxxxxxxxxxxxx    no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

ハードウェア端末上でアプリを実行するを参照すると、udevにルールファイルを追加して、開発で使用する各種端末のUSB設定を追加する必要があるとのこと。

追加するルールは、udev – Android adb no permission – Ask Ubuntuの中にあったandroid-udev-rulesを使用してみた。

  1. udevルールの追加
    ~$ mkdir work
    ~$ cd work/
    ~/work$ git clone https://github.com/M0Rf30/android-udev-rules.git
    Cloning into 'android-udev-rules'...
    remote: Counting objects: 833, done.
    remote: Compressing objects: 100% (8/8), done.
    remote: Total 833 (delta 2), reused 1 (delta 0), pack-reused 825
    Receiving objects: 100% (833/833), 202.48 KiB | 285.00 KiB/s, done.
    Resolving deltas: 100% (324/324), done.
    Checking connectivity... done.
    ~/work$ cd android-udev-rules
    ~/work/android-udev-rules$ sudo cp -v 51-android.rules /etc/udev/rules.d/51-android.rules
    '51-android.rules' -> '/etc/udev/rules.d/51-android.rules'
    ~/work/android-udev-rules$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  2. グループの追加
    <br />~/work/android-udev-rules$ sudo groupadd adbusers
    ~/work/android-udev-rules$ sudo usermod -a -G adbusers $(whoami)
    

    ※今回は、android-udev-rulesの手順通り行ったが、ユーザーはplugdevグループに属しているので、51-android.rules中のGROUP="adbusers"GROUP="plugdev"に変更すれば、グループの追加は不要。

  3. udev再起動

    ~/work/android-udev-rules$ sudo udevadm control --reload-rules
    ~/work/android-udev-rules$ sudo service udev restart
    
  4. 実機接続

    USBで接続しているAndroid端末を一度外し、再度接続。Android Debug Bridge(adb)を再起動する。

    ~/work/android-udev-rules$ adb kill-server
    ~/work/android-udev-rules$ adb devices
    List of devices attached
    ARCxxxxxxxxxxxxx    device
    
広告