web-dev-qa-db-ja.com

Android ADBホストデバイスで不正なADBデバイスを解決する方法

ルート化されたAndroidデバイスをADBホストとして使用して、adbコマンド「adb devices」をSamsung S4に送信すると、デバイス不正エラーメッセージが表示されます。ただし、Samsung Galaxy Nexusにadbを試してみたところ、うまく機能しています。誰かが私のSamsung S4の問題を解決する方法をアドバイスできますか?

=========================================
# adb devices
List of devices attached
4d00f9169907301b        unauthorized
=========================================

前もって感謝します。

編集:この問題はAndroid 4.2.2以降でのみ発生することがわかりました。次のリンクは、Googleがadbを使用するための新しいセキュリティ機能を実装したことを説明しています。

http://nelenkov.blogspot.com/2013/02/secure-usb-debugging-in-Android-422.html

誰かがこれを手伝ってくれれば感謝します。

42
Kong Ken
  • クライアントの電話(adbホスト)から公開キーを取得します

    猫/data/.Android/adbkey.pub

  • 上記の公開キーをターゲットの電話の/data/misc/adb/adb_keysの場所にコピーします。 (最初にstop adbdでadbデーモンを停止する必要があるかもしれません)

    猫/ data/misc/adb/adb_keys

catの両方の出力が一致することを確認します。

ターゲットstart adbdでadbデーモンを再起動するか、単に再起動してください。

上記の手順でADB KEYSの読み取りまたは書き込みに問題がある場合は、 環境変数ADB_KEYS_PATHを設定してみてください 一時パス(例:/data/local/tmp)を使用します。 リンク先 詳細を参照してください

    "On the Host, the user public/private key pair is automatically generated,
    if it does not exist, when the adb daemon starts and is stored in
    $HOME/.Android/adb_key(.pub) or in $Android_SDK_HOME on windows. If needed,
    the ADB_KEYS_PATH env variable may be set to a :-separated (; under
    Windows) list of private keys, e.g. company-wide or vendor keys.

    On the device, vendors public keys are installed at build time in
    /adb_keys. User-installed keys are stored in /data/misc/adb/adb_keys"
47
ashoke

デバイスの[USBデバッグ]オプションをオンまたはオフにします。それでもうまくいかない場合は、数回USBを取り外して接続してください。

ある時点で、デバイスにコンピューターの認証を求めるメッセージボックスが表示されます。 [はい]をクリックすると、デバイスが承認されます。

35
Prasanth Louis

割れた画面を持つ電話を持っているという同様の問題があり、adbにアクセスする必要がある場合:

  1. 電話をルート化する(私のルートは既にルート化されているので、少なくとも私はそれに恵まれていた)。

開発者モードを有効にするのを忘れて、adbが実行されていない場合は、次の手順を実行します。

  1. 携帯電話を再起動して復旧します。
  2. 電話でケーブルを接続します。
  3. ターミナルを開きます。
  4. adb devicesと入力すると、リストにデバイスが表示されます。
  5. その場合、次を入力します。

    adb Shell mount /system
    abd Shell
    
    echo "persist.service.adb.enable=1" >> default.prop 
    echo "persist.service.debuggable=1" >> default.prop
    echo "persist.sys.usb.config=mtp,adb" >> default.prop
    echo "persist.service.adb.enable=1" >> /system/build.prop 
    echo "persist.service.debuggable=1" >> /system/build.prop
    echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
    

電話を再起動する場合は、Androidが「adbは動作していますが、この[OK]ボタンをタップしてください。PCを信頼できるようになります」と表示されます。そして明らかに、電話をタップできない場合は、回復モードのままにして次の操作を行います(adbシェルモードではない場合、最初にexitと入力します)。

cd ~/.Android
adb Push adbkey.pub /data/misc/adb/adb_keys
  1. ほら、今はすべてがつらいはずです!電話を再起動するだけで、電話の実行中にadbにアクセスできるはずです。

    adbシェルの再起動

追伸OS XとMoto Xスタイルを使用していましたが、これはひびの入った画面です。

14
kiradotee

やってみました

adb kill-server
adb Shell

時々、adbがスタックして、最初にadbサーバーを強制終了してからコマンドを開始すると、許可ウィンドウがポップアップ表示されます。

また、携帯電話でadbクライアントのバージョンを確認してください。この機能は、私の知る限り、adb 1.0.31からサポートされています。

7
Tomasz Szuba

体験:ASUS ZENFONE

Asus Zenfonesのドライバーが見つからない場合は、このリンクに従ってください( http://donandroid.com/how-to-install-adb-interface-drivers-windows-7-xp-Vista-62 =)

私が試した

1)adb cmdでadbサーバーを強制終了して起動します。

2)USBデバッグのオンとオフの切り替えおよび...

これは私と働いたものです。

ステップ1:デバイスとの接続を削除してEclipseを閉じる

ステップ2:C:/Users/User_name/.Android/に移動します

ステップ3:adb_keyが見つかります

ステップ4:削除するだけです。

ステップ5再度接続すると、システムが再度確認を求めます。

ステップ6。プロンプトが表示されたら、RSAキーを記憶するようにデバイスに要求します。完了したと思います。

数日後に同じ問題に直面した場合は、USBデバッグを無効にして有効にしてください

5
Karthik Sagar

コンピュータに最初に接続したときにポップアップが表示されるときに、Allow USB debuggingを許可する必要があります。

1
Tan Dat

この手順を試してください:

  1. デバイスを取り外します
  2. adb kill-server
  3. adb start-server
  4. プラグデバイス

ポップアップ時にデバイスでUSBデバッグを許可する必要があります。

1

.AndroidからC:/users/<user name>/.Androidフォルダーを削除します。それは私のために問題を解決しました。

0
abhishek singh

私にとって、エミュレーターでGoogle Play Servicesを有効にすることはできませんでした。 Google APIを使用するか、x86またはx64を使用できますが、Google Playストアは使用できません。

0
valdetero

Nexus 5とTWRPがインストールされたのソリューションが1つ見つかりました。基本的にフォーマットは私が見つけた唯一の解決策であり、以前にリストされたすべての解決策を試しました: ADB Android Device Unauthorized

Googleにアプリのバックアップを作成してもらいます。携帯電話にある重要なファイルをすべて保存します

私がやったことは非常に危険でしたが、私の場合はうまくいったので、失敗した場合はすべての責任を拒否することに注意してください:

開発者向けオプションでUSBデバッグを有効にします(デバイスが許可されていなかったのに、まだ助けたのかどうかはわかりませんが...)

スマートフォンがコンピューターに接続され、ストレージにアクセスできることを確認してください

ネクサスのグーグルimgをダウンロードします: https://developers.google.com/Android/nexus/images ファイルを展開し、コンピューター上の新しいフォルダーに配置して、名前を付けます工場(任意の名前でもかまいません)。

すべてのデータを消去...コンピュータからアクセスしたAndroidに0個のファイルがあります。

次に、BOOTLOADERモードで再起動します...「OSがインストールされていません。再起動してもよろしいですか?」というメッセージが表示されます。

次に、「factory」フォルダー内の.batファイルを実行(ダブルクリック)します。

OSのコマンドライン詳細インストールが表示されます。もちろん、この段階ではケーブルを外さないでください...

電話の初期化には約5分かかります。

0
Antonin GAVREL

理由は不明ですが、私は~/.Android/adbkeyしか持っていませんでしたが、~/.Android/adbkey.pubは持っていませんでした。

adbは公開キーをデバイスにプッシュできなかったため、デバイスが認証ダイアログを表示できなかったと思います。

Adbサーバーを強制終了し、adbkeyファイルを削除し、adbを再度開始すると、電話に認証ダイアログが表示されました。

0
cweiske

「常にこの電話で許可する」という電話のデバッガーのボックスをチェックする必要がありました。次に、adbデバイスを実行し、adbコマンドを入力して追加をクリアしました。うまくいきました。その前に、それは午後と他のコマンドを認識しませんでした

0
Bengal1946