この問題を解決したかどうかはわかりませんが、この問題に遭遇し、多くのさまざまな手順を試してみましたが、それぞれが他の人を助けたかもしれませんが、これは2016年であり、要約が役立つかもしれません。
LinuxにAndroid Studioをインストールしたとき、2016年に購入した新しい携帯電話は機能しませんでした。2015年に購入した電話は問題なく機能しました。新しい電話はまったく同じ構成では機能しませんでした。
Android Studioを開いているとき、AVDマネージャーは新しい電話を表示せず、古い電話を表示しました。古い電話は、USBプラグに接続すると、RSAキーの指紋を確認するように求めるダイアログを投げましたが、新しい電話は接続しても同じダイアログを表示しませんでした。
/programming/18011685/cant-connect-nexus-4-to-adb-unauthorized
でヒントを見つけて試してみたところ、うまくいきました
。
〜/ .androidから2つのファイルadbkeyとadbkey.pubを削除しました。どうやらandroid-studioはこれを検出し、すぐにキーを作成します。これが発生するとすぐに、新しい電話機はダイアログを開いて動作を開始しました。Android-StudioのAVDメニューに電話が表示され、アプリケーションの実行を開始できます。
adbバージョン1.0.31、しかし、コマンドラインで「adbデバイス」を実行しようとすると、Android-StudioはAVDメニューにこの電話を表示しなくなります。
私はまだ電話を見ません(しかし、AVDメニューから電話を見ることができるので、それは私を悩ませません)。adbコマンドラインユーティリティは、実行中のエミュレータのみを表示しましたが、コマンドが実行されるまで、AVDメニューに表示されていたデバッグモードで接続された電話機は表示しませんでした。
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
emulator-5554 device
この時点で、電話を再接続しても効果はありません。AVDメニューには、コンピューターでまだ実行されているエミュレーターのみが表示されました。
「adb kill-server」を実行する必要があります。それが完了すると、AVDメニューを開くと、Android Studioは独自のADBを初期化し、AVDメニューに電話が表示されます。
adbバージョン1.0.31 Android Studio 2.1
要約すると、2つのことです。
- Android Studioが開いているときに、adbkeyとadbkey.pubを〜/ .androidから削除します。
- コマンドラインユーティリティadbを実行しないでください。Android Studioで実行されるサーバーインスタンスを台無しにします。コマンドラインからのサーバーインスタンスは、一部の電話では機能しますが、すべてではありません。Android-Studioは、私が持っているすべての携帯電話で動作します。
上記のすべては、次のことを確認した後はもちろんです。
- 「ビルド番号」を7回タップし、USBデバッグモードを有効にします...
- 「デバッグ許可の取り消し」を何度も試みた
- 電話を数回再起動してみました
- USBデバッグモードを有効/無効/有効にする、
上記のすべての手順は試してみるとブードゥー教のことのように見えましたが、上記の手順を除き、基本的には機能しませんでした。
(更新:元々はコメントであったが、回答に属するこの行を追加します)。
また、新しい電話のベンダーIDを/etc/udev/rules.d/51-android.rulesファイルに追加して、新しい電話を識別し、許可を設定する必要がありました。