5日前、完全に更新されたUbuntu 2018.04にAndroid Studioをインストールし、ウィザードを使用してサンプルアプリを作成し、[実行]ボタンを押して、接続されたAndroidデバイスで完全に実行しましたUSB経由。
今日、同じUbuntuで、同じdevicedをプラグインして、同じプロジェクトを開き、もう一度「実行」を押しました。今では失敗します:
Launching Application
$ adb Push /home/nico/src/ActionBarCompat-Basic/Application/build/outputs/apk/debug/Application-debug.apk /data/local/tmp/com.example.Android.actionbarcompat.basic
com.Android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: user in plugdev group; are your udev rules wrong?
See [http://developer.Android.com/tools/device.html] for more information
Error while Installing APK
Ubuntuの構成を故意に変更したり、OSを更新したりしませんでした。
何が問題なのでしょうか?
さらに調査する方法
この手順は私のために問題を解決します:
これは偶然かもしれませんが、これまでずっと(約50回)動作していました。
つまり、USBデバイスのグループはroot
ではなく、plugdev
です。
ファイルの追加/etc/udev/rules.d/51-Android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0660",
GROUP="plugdev", SYMLINK+="Android%n"
(lsusb
→18d1:d002
)
プラグインとプラグアウトが仕事をしてくれました。これで、デバイスはplugdev
グループに属します。
( ソース )
Udevルールが設定されていないため、同様のエラーが表示されました。
kirk@laptop:~$ adb devices
List of devices attached
FA7240300631 device
FA7240300631 no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.Android.com/tools/device.html]
以下を実行することでこれを回避できました。
adb kill-server && adb start-server
しかし、これはまったく理想的ではありませんでした。インストールして修正しました:
Sudo apt install Android-tools-adb
これは、コミュニティが管理するudevルールのデフォルトセットです。
そのうちの1人が述べたように、ラップトップからUSBコードを取り外して再接続すると、うまくいきませんでした。 (最初に接続した後にUSB Debugging
オプションを有効にした可能性があるため、エラーが発生しました)