1. ホーム
  2. android

エミュレータでADBルートが機能しない(製品版ビルドでルートとして実行できない)

2023-10-19 17:01:41

質問

エミュレータを26.0.3に更新しましたが、現在 adb root コマンドを実行できません。

を実行したところ、以下のようなエラーが表示されました。

adbd cannot run as root in production builds

強制終了して再起動した adbd のようなものです。

adb kill-server
adb devices

何も役に立ちません。何かアイデアはありますか?


何が違うのか、どのようにビルドを選択するのかが分かりませんが 作成時に以下の設定が有効になっていれば、rootになっています。

どのように解決するのですか?

ルートアクセスを有効にするには。 エミュレータのシステムイメージで、「Google Play」のラベルがないものを選んでください(ラベルテキストやその他のUIの詳細は、Android Studioのバージョンによって異なります)。

例外です。 2020-10-08 現在、Release R の "Android TV" システムイメージは root 権限で実行されません。 回避策 代わりに Release Q (API level 29) Android TV system image を使用してください。

テストしてください。 エミュレータを起動し adb root . と表示されるはずです。

  • restarting adbd as root

または

  • adbd is already running as root

ではない

  • adbd cannot run as root in production builds

代替テストです。 実行 adb shell を実行し、プロンプトの最後に $ を実行します。 su . と表示されるはずです。 # プロンプトが表示されます。

ステップ rootで実行できるエミュレータイメージをインストールし、使用する。

  1. Android Studioで、メニューコマンド ツール > AVDマネージャー .
  2. をクリックします。 + 仮想デバイスの作成... ボタンをクリックします。
  3. 仮想ハードウェアを選択し 次へ .
  4. システムイメージを選択します。
    • を行う任意の画像を選びます。 NOT と書いてあるものを選んでください。
    • Google API(Google Sign In、Google Fitなど)に依存している場合は、"(Google API)"と書かれた画像を選びます。
    • 推奨画像] グループから [x86 画像] または [その他の画像] グループに移動して、画像を探す必要がある場合があります。
  5. をクリックします。 をクリックします。 ダウンロード ボタンをクリックしてください。
  6. 新しい AVD の作成を完了します。
    • ヒント: AVD 名を API レベル番号で始めると、仮想デバイスのリストが API レベルでソートされるようになります。
  7. 新しい AVD を起動します。(AVD ウィンドウの緑色の三角形の "play" をクリックすることができます。

[これはコメントではなく、回答として投稿されるべきものです。]