1

私はアンドロイド ソフト開発を始めたばかりで、アンドロイド デバイスに接続するためのアクセサリ ハードウェアを設計する予定です。ファームウェアに依存するデバイスで使用できる USB モードには、いくつかの制限があるようです。developer.android.com サイトの USB に関するドキュメントに基づいています。USB ホスト モードは、ファームウェア バージョン 3.1 以降でのみサポートされます。ただし、Samsung Galaxy 2 は、この youtube ビデオ : SGS2 OTG demoで示されているように、少なくともネイティブに OTG (ホスト モード) をサポートしているようです。外部接続されたハードウェアに少量の電力を供給するために、電話機がホストであることが重要です。

  1. Android携帯電話デバイスでUSBホストモードへのAPIアクセスがあるかどうかを誰でも確認できますか? 上記の Android 開発者の引用に疑問を呈する理由は、SGS2 電話で実証されているホスト モード機能が明らかに存在するためです。

  2. USB ホスト API 機能のいずれにもアクセスできない場合、電話機と通信できる USB 周辺機器ハードウェアを開発する方法はありますか? 上記のデモでネイティブにサポートされているように、MSD クラスを使用するハードウェアを設計できるように見えますか?

  3. 現在、API USB ホスト アクセスがない場合、これを携帯電話のハードウェアに追加する予定はありますか?

4

2 に答える 2

1

かなり多種多様なデバイス ハードウェアが USB ホストをサポートしますが (場合によっては電力を供給せずに部分的にのみ)、代替ファームウェアまたはベンダー固有の拡張機能のみをサポートします - Android の公式部分である API バージョンに到達するまで。

あなたが見ているビデオやウェブページの多くは、カスタム ファームウェアの変更を誇示している人々です。これはパスになる可能性がありますが、市場を変更を希望するユーザー、互換性を認定したデバイスのリスト、または特別な Android デバイスに制限するものです。アクセサリーと同梱して販売します。

于 2011-08-03T17:40:09.137 に答える
0

カスタム USB デバイスと通信できる SGS2 用のアプリケーションを開発することが可能です。

まず、SGS2 のカーネルは、特定のタイプのデバイス (HID、大容量記憶装置、プリンター、PTP) の接続のみを許可するホワイトリストを実装しています。これは、ベンダー固有のカスタム USB ハードウェアが許可されないことを意味します。独自のカーネルを構築する意思がある場合、またはカーネル開発者に変更を加えるよう説得できる場合は、ホワイトリストを適切に変更できます。

次に、Android SDK の USB ホスト クラスは 3.1 でのみ使用できますが、SGS2 は 2.3.x で実行されますが、適切な API レベルに対してビルドし、SGS2 をターゲットにすることができます。

カーネルを変更してアプリの開発を開始する方法については、ブログに書いています。

于 2011-09-02T15:01:30.690 に答える