APKファイルをタブレットにプッシュしようとすると、このエラーが発生しました。手伝ってください。
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
助けてくれてありがとう。
APKファイルをタブレットにプッシュしようとすると、このエラーが発生しました。手伝ってください。
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
助けてくれてありがとう。
回答:
Ubuntuで時々この同じエラーを見てきました。この問題を回避するには、sudoコマンドを使用してadbを実行します。たとえば、app.apksdcardをプッシュする場合、コマンドは次のようになります
sudo adb push app.apk /mnt/sdcard
また、アプリケーション設定(GingerBread)または開発セクション(IceCream Sandwich以上)で「USBデバッグ」モードを選択したことを確認してください。adbがすでに実行されている場合、まずコマンドでそれを強制終了する必要がありますsudo adb kill-server
これが役立つことを願っています。
sudoとadbは異なるインストール済みバージョンが検出されるため、これはうまくいきました。これが機能するのは、adbそれ自体がより多くの特権を必要とするからではありません。
私はこの同じ問題に遭遇しました。ここに示されているようにudevルールを追加すると、トリックが実行されました。
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ポートに再接続する必要がある場合があります。
plugdevグループの一部である必要があります。実行idして調べてください。
StackOverflowに関するJorch914の回答により、この問題は解決されました。
OKだから私はついに問題を見つけました、明らかにこのデバイスではカメラとして接続するように設定する必要があります(USBデバッグがすでに有効になった後でも)
また、このリンクは設定プロセスについて説明しています
私はちょうど同じ問題を実行しましたが、ここに私がそれをどのように通過できたかがあります:
adb kill-server(それは間違っているかもしれないが、私はとsudoをせずに、それを発行しましたsudo adb start-server知っているかどうかはわかりませんが、adbを含むパッケージがあります。これは、古いバージョンのadbへの参照を取得していることに気付いたためです。コマンドラインで次のコマンドを発行してインストールできます。sudo apt-get install android-tools-adb
これがお役に立てば幸いです。
数分前に予想通りに動作していたinsufficient permissions for deviceにもかかわらず、今日、エラーに遭遇しましたadb。今私は得る:
$ adb devices
List of devices attached
???????????? no permissions
$ adb shell
error: insufficient permissions for device
エラーが発生する少し前に、無効Media device (MTP)にする必要がありましたMTP。ただし、USBデバッグ、または少なくとも一部のadbコマンドでは、Media device (MTP)有効にする必要があるようです。
Media device (MTP)Android 4.4で有効にするには、次にアクセスしてください。
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の専門家ではないため、上記の動作は特定のモデルの電話に固有のものである可能性があります。
別の理由による可能性があります。デバイスに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経由のデータ転送用にデバイスをマウントした場合、おそらく同じ状況になります。
私は同じ問題に直面していますが、your_android_sdk_pathのパスを環境変数に追加することでこれを解決しました
sudo export $PATH:/your_android_sdk_path/platform-tools/adb
これらのファイル~/.bashrcfileを編集してアカウントまたはシステム全体にこれを追加する方法 、~/.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
これで、問題なくデバイスが適切にリストされていることがわかります
この問題に対する答えはこちらです:https : //github.com/snowdream/51-android
Android開発者として、「sudo」を使用してadbを強制的に使用しないことをお勧めします。私たちがすべきことではありません。私たち自身の安全のために、ルール、ポリシー、制限があります。