通常のAndroid機は /etc/udev/rules-d/51-android.rules にベンダIDを追加してやるとadbで操作できるようになるのですが、coviaのFLEAZ F4s/F4s+は認識することができません。いろいろ試してみたところ、わかってきたことをメモしておきます。環境は LinuxMint18 MATE edition 64bit です。
まずはUSBのデバイスIDを調べます。(必要なもの以外は結果から削除しています)
$ lsusb Bus 001 Device 016: ID 0a5c:e688 Broadcom Corp.
BroadcomのチップのベンダIDそのままのようです。(これはF4sのもの。F4s+はデバイスIDはe681になるようです)
とりあえず、/etc/udev/rules-d/51-android.rules にベンダIDを記載して再読み込みさせてみます。
$ cat /etc/udev/rules.d/51-android.rules SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", MODE="0666", GROUP="plugdev" $ sudo udevadm control -R
この状態で、USBを抜き差ししてから adb コマンドを叩いてみても、
$ adb devices List of devices attached
となって、デバイスが見つかりません。
いろいろググると、~/.android/adb_usb.ini にベンダIDを書くとよい、というような記載をいくつか見つけたので試してみます。
$ cat .android/adb_usb.ini 0x0a5c $ sudo service udev restart $ adb kill-server $ adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached ???????????? no permissions
状況が変わりました。この状態で TCP/IP 接続でデバッグする設定にしてみます。
$ adb tcpip 5555 error: insufficient permissions for device
パーミッションで蹴られてしまいました。ルート権限で試してみます。
$ sudo adb kill-server $ sudo adb start-server * daemon not running. starting it now on port 5037 * * daemon started successfully * $ adb devices List of devices attached F4Sxxxxxxxxx unauthorized $ sudo adb tcpip 5555 error: device unauthorized. Please check the confirmation dialog on your device.
端末上にデバッグ接続可否のダイアログが出ていたので、許可してみます。
$ adb tcpip 5555 restarting in TCP mode port: 5555 $ adb install xxxxxxx.apk 2460 KB/s (261419 bytes in 0.103s) pkg: /data/local/tmp/xxxxxxx.apk Success
となって無事にインストールできました。
改めて /etc/udev/rules-d/51-android.rules を削除してやってみました。
どうも、/etc/udev/rules-d/51-android.rules は必要ないようです。
一般ユーザー権限では、
$ adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached ???????????? no permissions
となってパーミッションエラーになりますが、通常の Android機はルート権限で adb server を起動すると認識できるようです。
$ sudo adb kill-server $ sudo adb start-server * daemon not running. starting it now on port 5037 * * daemon started successfully * $ sudo adb tcpip 5555 restarting in TCP mode port: 5555
さらに、今回の covia FLEAZ F4s/F4s+ のようになにもしないと認識しない機種でも、 ~/.android/adb_usb.ini にベンダIDを書いてやれば認識できるようです。
$ echo "0x0a5c" > ~/.android/adb_usb.ini $ cat ~/.android/adb_usb.ini 0x0a5c B ~ $ adb devices List of devices attached $ sudo adb kill-server $ sudo adb start-server * daemon not running. starting it now on port 5037 * * daemon started successfully * $ adb devices List of devices attached F4Pxxxxxxxxx device $ sudo adb tcpip 5555 restarting in TCP mode port: 5555
ここで F4s+ を外して F4s を接続してみます。
$ adb devices List of devices attached F4Sxxxxxxxxx device $ sudo adb tcpip 5555 restarting in TCP mode port: 5555
となり、無事に認識しました。