Android adb許可なし


33

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

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を実行する方法はありますか?


1
udevを再起動しましたが、sudo udevadm triggerうまくいきませんでした。コンピューターを再起動する必要があり、その後は問題なく動作しました
ラファエルザビエル

回答:


65

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


私には逆のことが言えます。古いデバイスでは、ファイル転送モード中にUSBデバッグが機能しません。
Miha_x64

1
更新:私の携帯電話(Androidのもの)では、デベロッパー設定の充電モードでUSBデバッグを有効にできることに気づきました。
NuttLoose

2
ファイル転送モードに変更するとうまくいきました。アンドロイド7
Abrar

Kindle Fire 8 2019-「MTPモード」は、開発者オプションのUSB設定にあります。
ビルマクゴニグル

変更してから、USBデバッグを許可するようにデバイスで求められました:D
Maxwell sc

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

ありがとう、それはちょっと古い質問です。2年前にMacに切り替えました。lsusbのようなことをして、それが自動的に行われるべきときにルールを変更するのは愚かだと思います。まともなLinuxデスクトップシステムが見つかりません。
-shadox

1
質問は6か月前のものであり、まだ後世に有効です。1年前、3年の出来事の後にOS Xをダンプし、同様の理由でLinuxに戻りました;)。Linuxにはいらいらする部分がありますが、homebrew + zsh + iTerm2を使用する場合、OS Xでも同様の調整が必要です。違いは、ほとんどがクローズドソースまたは古いバージョンのFOSSですが、素晴らしいGUIとUX(ほとんどの場合)を備えている場合です。リポジトリのルールを使用すると、ほとんどが1回限りのセットアップ手順になります。Android SDKを健全な方法で機能させることの難しさを考えると、それは幼児の遊びです。
-zamber

1
これを実行し、service udev restart私のために動作しませんでした。コンピューターを再起動する必要があり、その後は問題なく機能しました。
ラファエルザビエル

ubuntu 16.04でudevルールを設定すると、電話のusbモードをファイル転送に変更するのが魅力的でした。再起動は必要ありません。
ゴータム

ubuntu 16.04では、Pixel 2でポイント2のgitbubからルールを追加すると、ファイル転送モードに入らなくても機能します。
マイクハナフィー


0

カスタム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

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

例:

$ sudo apt-get install adb

0

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

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

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


0

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

$sudo apt remove adb

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

プラットフォームツールへのパスを設定します(これらの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、ファイル転送、充電)に関係なく動作します。それはすべてで動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.