web-dev-qa-db-ja.com

Android adb no permission

Ubuntu(+ Cinnamon)マシンからadbを使用しようとしています。問題は、adb devicesから次のメッセージが表示されることです。

List of devices attached
TA8830OIVO  no permissions

TA8830OIVOは、私のMotorola Gデバイスです。

/ etc/udev/rules.d/51-Android.rulesのAndroidルールを変更しました

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76",
MODE="0666", GROUP="plugdev", SYMLINK+="Android_adb", OWNER="axel"

また、個人のラップトップにudevサービスとadbをインストールし、必要なすべての権限(plugdevグループなど)を持つ唯一のユーザーです。

Sudoを呼び出さずにadbを実行する方法はありますか?

31
shadox

電話機のUSBモードをファイル転送に変更します。それは私のために働いたものです。

60
NuttLoose
  1. Sudo udevadm triggerを実行して、変更を適用することを忘れないでください(または、再起動しますが、そこが楽しいです)。
  2. 独自のルールを記述する代わりに、 https://github.com/M0Rf30/Android-udev-rules を使用します
  3. 最新のADBバージョン(1.0.35 102d0d1e73de-Android)を使用していることを確認してください。以前のものはUSB-Cでは動作しませんでした。
26
zamber

SudoでADBサーバーを再起動すると、動作します。

Sudo adb kill-server
Sudo adb start-server
2

AndroidベースのOSであるAmazon Fire OS 8の場合、[設定]> [デバイスオプション]> [開発者オプション]に移動できます。 有効にする が必要になる場合があります。

「USBデバッグ」がオンになっていることを確認します(あなたの場合、オンになっています)。

次に、「ネットワーク> USB構成の選択」に進みます。 「MTP(Media Transfer Protocol)」を選択します。これにより、コンピューターはファイルをやり取りできます。

0
Johnathan J.

最善の解決策と私にとってうまくいったのは、Ubuntuパッケージからadbをインストールすることです。これにより、すべてのAndroidデバイスに対して、コミュニティが維持するudevルールのデフォルトセットが提供されます。

例:

$ Sudo apt-get install adb
0
alBaryonic

apt経由でインストールされたadbパッケージを削除します

$Sudo apt remove adb

から最新のadbをダウンロード
https://developer.Android.com/studio/releases/platform-tools

プラットフォームツールへのパスを設定します(これらの2行を〜/ .bashrcファイルに配置することをお勧めします)

export PATH= /<path-to-Android-sdk-folder>/Android-sdk/tools/bin<br>
export PATH= /<path-to-Android-sdk-folder>/Android-sdk/platform-tools

走る

$source ~/.bashrc

adbパスを確認してください

$which adb

sudoでadbを開始します(Sudoで実行する場合、adbへの絶対パスを指定する必要がありました)

$Sudo /<path-to-Android-sdk-folder>/Android-sdk/platform-tools/adb kill-server
$Sudo /<path-to-Android-sdk-folder>/Android-sdk/platform-tools/adb start-server
$adb Shell

できました。
Android電話のどのUSBモード(MIDI、ファイル転送、充電)に関係なく動作します。それはすべてで動作します。

0
user1436887

カスタムgradle関数を定義します。

task _adb_restart {
def adb = Android.getAdbExe().toString()
group '__custom'
  doLast {
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | Sudo -S ' + adb + ' kill-server'
    }
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | Sudo -S ' + adb + ' devices'
    }
  }
}
0
user909720