web-dev-qa-db-ja.com

接続されたAndroidデバイスを認識するためにWindows 10でUbuntuシェルを取得するにはどうすればよいですか?

Windows 10 Ubuntu ShellでadbをAndroidデバイスに接続しようとしていますが、動作していないようです:

Waiting for Device in Ubuntu Bash Shell

adbはWindows上で正常に動作するため、電話や接続に問題はありません。 Ubuntuシェルでポートをマウントするようなことをする必要がありますか?どうやって? (目標は、logcatgrepに渡すことです。これは、Ubuntuでより適切に機能します。)

6
Menasheh

現在の制限がある場合でも動作させるには、注意が必要です。 cmdからadbサーバーを起動する必要があります。

adb kill-server //if it is already running under bash Shell
adb start-server

Bashシェルからadbを呼び出すよりも、既存のサーバーを使用するため、接続されたデバイスを一覧表示できます。

adb devices
5
Paul Diakov

Windowsのbashシェルには、USBデバイスに接続する機能がありません。したがって、ADBは誰かが追加するまで機能しません。

SBサポートを追加するための提案です

4
Rinzwind

Paulの他の答え に追加すると、UbuntuからWindows adbサーバーにアクセスしてこれを解決できますが、2つのadbバイナリが同じTCPプロトコルバージョンを使用する場合にのみ機能します。たとえば、Bionicのadb 7.0.0 + r33-2は、Windowsのplatform-tools 24.0.4で動作します。

別のバージョンを使用している場合、私の最初のステップは、Windowsでadbを実行することだけでした。

> adb kill-server //if it is already running under bash Shell
> adb start-server

そして、Ubuntuでは:

$ adb devices

バイナリプロトコルバージョンが一致しない場合、Ubuntuでadbを実行した後、正しいバイナリを取得するのに十分な情報を提供するエラーが出力されます。

adb server version (40) doesn't match this client (36); killing...

この例では、サーバーはプロトコルバージョン40を使用しており、Ubuntuのパッケージはバージョン36を使用しています。そのため、1つのアプローチとして、Windowsより4つ前のメジャーリリースのadbのバージョンを取得します。 platform-tools release notes を確認して、必要なメジャーバージョンの最新のマイナーバージョンを見つけることができます。この記事の執筆時点では、platform-toolsのメジャーバージョン番号はadbのプロトコルバージョン番号より12小さいため、この例のようなプロトコルバージョン36の場合、platform-toolsバージョン24.0.4(4プロトコルバージョンが40)の28.0.1未満。このバージョン番号は、必要なバージョンのプラットフォームツールのダウンロードURLを手作業で作成するために使用できます。

https://dl.google.com/Android/repository/platform-tools_r24.0.4-windows.Zip
                         change to correct version here----^

このアーカイブをダウンロードして解凍し、cmdからadbを再実行します。

> adb kill-server
> adb start-server

これで、adbはUbuntuから機能します。

3
fuzzyTew