web-dev-qa-db-ja.com

12.04の「adbプッシュ」コマンドでの「権限が不十分です」エラー

APKファイルをタブレットにプッシュしようとすると、このエラーが発生しました。手伝ってください。

adb server is out of date.  killing... 
* daemon started successfully * 
error: insufficient permissions for device.

助けてくれてありがとう。

57

Ubuntuで時々この同じエラーを見てきました。これを回避するには、Sudoコマンドを使用してadbを実行します。たとえば、sdcardでapp.apkをプッシュする場合、コマンドは次のようになります。

Sudo adb Push app.apk /mnt/sdcard

また、アプリケーション設定(Gingerbread)または開発セクション(IceCream Sandwich以上)で「USBデバッグ」モードを選択したことを確認してください。 adbがすでに実行されている場合、最初にコマンドSudo adb kill-serverでそれを強制終了する必要があります

これが役立つことを願っています。

21
Anwar

私はこの同じ問題に遭遇しました。示されているようにudevルールを追加します here

Rootとしてログインし、ファイル/etc/udev/rules.d/51-Android.rulesを作成し、次のような行を追加して、plugdevグループ内のすべてのユーザーに権限を付与します。

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

この例では、ベンダーIDはHTCです。デバイスのベンダーIDを使用する必要があります。ベンダーIDは、lsusbを実行し、次のような行を検索することで取得できます。

Bus 002 Device 009: ID 2a47:9e18

この例では、ベンダーIDは2a47になるため、0bb42a47に置き換える必要があります。したがって、正しい行は次のようになります。

SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"

次に、ファイルに読み取り権限を割り当て、udevをリロードし、adbデーモンをリロードします。

Sudo chmod a+r /etc/udev/rules.d/51-Android.rules
Sudo udevadm control --reload-rules
adb kill-server
adb start-server

デバイスを切断して、USBポートに再度接続する必要がある場合があります。

60
erjoalgo

StackOverflowに関するJorch914の答え 私のためにこの問題を解決しました:

OKだから私は最終的に問題を見つけました、明らかにこのデバイスでは、カメラとして接続するように設定する必要があります(USBデバッグがすでに有効になった後でも)

enter image description here

また、 このリンク は設定プロセスを説明します

20
kas

これらの2つの簡単なコマンドで問題は解決しました。

adb kill-server
adb start-server

半初心者の答え とは異なり、Sudoは必要ないことに注意してください。

12
Nicolas Raoul

私はちょうど同じ問題を実行しましたが、ここに私がそれをどのように通過できたかがあります:

  • 次のコマンドを発行して、既存のadbサーバーを強制終了する必要があります。adb kill-server(間違っている可能性がありますが、Sudoを使用せずにANDで発行しました
  • 次を発行して、適切な権限でadbサーバーを起動します。Sudo adb start-server
  • 出来上がり。あなたは必要なコマンドを発行することを知っているかもしれません

知っているかどうかはわかりませんが、adbを含むパッケージがあります。これは、adbの古いバージョンへの参照を取得していることに気付いたためです。コマンドラインで次のコマンドを発行してインストールできます。Sudo apt-get install Android-tools-adb

これがお役に立てば幸いです。

10
semi-newbie

今日、adbが数分前に期待どおりに機能していたにもかかわらず、insufficient permissions for deviceエラーが発生しました。今私は得る:

$ adb devices
List of devices attached 
????????????    no permissions

$ adb Shell
error: insufficient permissions for device

エラーが発生する少し前に、MTPを使用する必要がないと考えたため、Media device (MTP)を無効にしました。ただし、USBデバッグ、または少なくともいくつかのadbコマンドでは、Media device (MTP)を有効にする必要があります。

Android 4.4でMedia device (MTP)を有効にするには、次にアクセスします。

Settings
Storage
The "..." menu (in the upper right corner)
USB computer connection
Media device (MTP)

MTPが無効になっている場合、lsusbは以下を示します。

Bus 002 Device 071: ID [idVendor1]:[idProduct1] Google Inc.

MTPを有効にすると、lsusbは次のように表示します。

Bus 002 Device 072: ID [idVendor2]:[idProduct2] [idVendor string]

IdVendorとidProductは、MTPが有効か無効かによって変わります。

私はAndroidの専門家ではないため、上記の動作は特定のモデルの電話に固有のものである可能性があります。

2
mpb

さらに別の可能性:USBテザリングもadbと競合します。それを無効にすると、問題が解決します。

0
张实唯

この問題への答えはここにあります: https://github.com/snowdream/51-Android

Android開発者として、どこでもadbの使用を強制するために「Sudo」を使用しないことをお勧めします。私たちがすべきことではありません。私たち自身の安全のために、ルール、ポリシー、制限があります。

0

私は同じ問題に直面しており、your_Android_sdk_pathのパスを環境変数に追加することでこれを解決しました

Sudo export $PATH:/your_Android_sdk_path/platform-tools/adb

これらのファイル~/.bashrcファイルまたはシステム全体のアクセスに追加する場合は~/.profileまたは/etc/profile, /etc/bash.bashrc, or /etc/environmentを編集して、アカウントまたはシステム全体にこれを追加する方法を希望します。

そして、そのリンクをビンに作成します

Sudo ln -s /your_Android_sdk_path/platform-tools/adb /bin/adb

adbデバイスまたはコマンドを使用している場合は、最初に次のようにサーバーを強制終了します

adb kill-server

その後、サーバーを起動します

adb start-server
adb devices

これで、問題なくデバイスが適切にリストされていることがわかります

0

別の理由による可能性があります。デバイスにapkをインストールしようとすると、このエラーが発生します。

$ adb install platforms/Android/build/outputs/apk/Android-armv7-release.apk 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: insufficient permissions for device
- waiting for device -

デバイスが正しいモードで準備ができていなかったために発生しました。デバイスはUSB経由で4G接続を共有していました。

それはそのように知ることができます:

$ adb devices -l
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

33332EF19F3D00EC       no permissions usb:1-1.2

そのため、電話での接続の共有を無効にして、再起動するだけで十分でした。

一般に、デバイスにファイルをプッシュする前に、adb deviceコマンドで次の結果が得られることを確認してください

$ adb devices -l
List of devices attached
33332EF19F3D00EC       device usb:1-1.2

これらの場合、adbサーバーを強制終了または再起動する必要はありません。

USB経由のデータ転送用にデバイスをマウントした場合、おそらく同じ状況になります。

0
Rémi B.

私は同じ問題を抱えていて、その不十分な許可を受け取りました。私がしたことは、ラップトップのUSB権限を無効にすることでした。その後、USBデバッグを停止および開始しました。それをラップトップに差し戻し、USBデバッグ権限を付与しました。

0
Les Labbauf