20

コマンドを使用して、2台のスマートフォン(ZTEV788d、システムAndroid 2.3.6)を同時にコンピューター(Ubuntu 11.10)に接続しています:adb devices私はこれを得ました:

List of devices attached
P753A12D    device
P753A12D    device

シリアルナンバーは同じです!

これら 2 台の電話と通信するためのアプリケーションをコンピューター側で作成しました。たとえば、アプリのインストールやファイルのプッシュなどです。

これらのコマンドを使用しました:

adb -s P753A12D install XXX.apk
adb -s P753A12D push XXX /sdcard

これら 2 つの電話のシリアル番号 ( P753A12D) が同じになりました。これらのコマンドを実行すると、次のエラーが表示されます。

error:more than one device

だから、私の質問は次のとおりです。

  1. 2 台の電話のシリアル番号が同じであることは正常ですか?
  2. シリアルナンバーの変更はできますか?はいの場合、どのように?
  3. シリアル番号が同じであっても、これらのインストール、プッシュ コマンドを正常に実行する方法はありますか?

ところで、テストを実行すると WiFi/3G ネットワークがオフになります。

4

7 に答える 7

1

@mirokropacek による回答は、Linux (およびおそらく Mac も) で機能しますが、残念ながら Windows では機能しません。これはregister_usb_transport、Windows で関数が呼び出される方法によるものです。devpath パラメータは常にNULLWindows にあることがわかりました。同じ状況を処理する必要があったため、上記のソリューションを適用して、serialパラメーターが NULL または空 (長さゼロ) の場合に各デバイスのデバイス ID をランダムに生成しました。

長期間にわたって多くのデバイスを区別することを心配する必要はないので、 を使用してデバイス ID の疑似乱数を生成しrand、 を使用sprintfしてその ID の文字列表現を作成するだけで十分なようですが、YMMV . 4桁の16進数しか生成しませんが、私にとっては十分に機能します(少なくとも今のところ)。

于 2015-08-06T01:10:18.173 に答える