APKファイルをタブレットにプッシュしようとすると、このエラーが発生しました。手伝ってください。
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
助けてくれてありがとう。
Ubuntuで時々この同じエラーを見てきました。これを回避するには、Sudo
コマンドを使用してadbを実行します。たとえば、sdcardでapp.apk
をプッシュする場合、コマンドは次のようになります。
Sudo adb Push app.apk /mnt/sdcard
また、アプリケーション設定(Gingerbread)または開発セクション(IceCream Sandwich以上)で「USBデバッグ」モードを選択したことを確認してください。 adbがすでに実行されている場合、最初にコマンドSudo adb kill-server
でそれを強制終了する必要があります
これが役立つことを願っています。
私はこの同じ問題に遭遇しました。示されているように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
になるため、0bb4
を2a47
に置き換える必要があります。したがって、正しい行は次のようになります。
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ポートに再度接続する必要がある場合があります。
StackOverflowに関するJorch914の答え 私のためにこの問題を解決しました:
OKだから私は最終的に問題を見つけました、明らかにこのデバイスでは、カメラとして接続するように設定する必要があります(USBデバッグがすでに有効になった後でも)
また、 このリンク は設定プロセスを説明します
私はちょうど同じ問題を実行しましたが、ここに私がそれをどのように通過できたかがあります:
adb kill-server
(間違っている可能性がありますが、Sudoを使用せずにANDで発行しましたSudo adb start-server
知っているかどうかはわかりませんが、adbを含むパッケージがあります。これは、adbの古いバージョンへの参照を取得していることに気付いたためです。コマンドラインで次のコマンドを発行してインストールできます。Sudo apt-get install Android-tools-adb
これがお役に立てば幸いです。
今日、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の専門家ではないため、上記の動作は特定のモデルの電話に固有のものである可能性があります。
さらに別の可能性:USBテザリングもadbと競合します。それを無効にすると、問題が解決します。
この問題への答えはここにあります: https://github.com/snowdream/51-Android
Android開発者として、どこでもadbの使用を強制するために「Sudo」を使用しないことをお勧めします。私たちがすべきことではありません。私たち自身の安全のために、ルール、ポリシー、制限があります。
私は同じ問題に直面しており、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
これで、問題なくデバイスが適切にリストされていることがわかります
別の理由による可能性があります。デバイスに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経由のデータ転送用にデバイスをマウントした場合、おそらく同じ状況になります。
私は同じ問題を抱えていて、その不十分な許可を受け取りました。私がしたことは、ラップトップのUSB権限を無効にすることでした。その後、USBデバッグを停止および開始しました。それをラップトップに差し戻し、USBデバッグ権限を付与しました。