エミュレータよりも高速なので、AndroidでのUSBデバッグが好きです。エミュレーターでキーボードを使用できることはわかっていますが、デバッグ中は、入力を高速化するために、デバイスのキーボードではなくコンピューターのキーボード(コンピューターに接続)を使用したいと考えています。それは可能ですか?
4 に答える
Share KMは、PC のキーボードとマウスを使用して Android を操作できる無料アプリです。接続は、USB、WiFi、または Bluetooth で行うことができます。
これは、コンピューターにモニターを追加するのとよく似ています。マウスを画面の端に移動すると、カーソルが Android に移動します。
「adb tools」で可能性を見つけました。携帯電話を USB ケーブルでコンピュータに接続し、コンピュータ ターミナル (Ubuntu など) で adb を起動します。
adb shell input keyboard text Hello
また
adb shell input [<source>] <command> [<arg>...]
これにより、コンピューター/ラップトップのキーボードを介してテキスト/キーストロークをスマートフォンに送信できるようになります。
注:入力は2つのシェル(コンピューターとAndroidデバイス)を介して送信されるため、スペースも「ダブルエスケープ」する必要があります. それを避けるために、例えばタイプすることができます
adb shell
input keyboard 'any text you like, including shell-sensitive characters'
2 行目は、Android デバイスの adb shell に入力します
CyanogenMod を使用して Ubuntu 14.04 LTS および Samsung Galaxy S3 でテスト済み。Ubuntu 18.04 LTS および Lineage OS 搭載の Moto G2 で確認済み
Android デバイスに接続された別の USB キーボードを使用するのではなく、PC 上の何らかのソフトウェアを介して PC のキーボードを使用したいようです。
これは実際に可能ですが、詳細はデバイス固有です。キー イベントを adb 経由で送信する必要がありますが、実装固有の文字からイベント コードへの変換、さらにはイベント チャネル番号を決定する必要があります。これを行うためのオープン ソース プロジェクトが存在する可能性が高く、ゼロから開発するよりも、そのうちの 1 つから始めた方がよいでしょう。
別の USB キーボードの使用に関しては、コメントで述べたように、これは一部の最近のデバイスで可能性があります (通常、ID ピンが接地されたアダプター ケーブルが必要です) が、ADB に USB を使用できないという問題が発生します。同時にキーボード。考えられる回避策の 1 つは、ADB を TCP/ワイヤレス モードにして、コンピュータのプラグを抜き、キーボードを差し込むことです。より簡単な方法は、Bluetooth キーボードを使用することです。
USB または Bluetooth キーボードのいずれか、およびおそらくキー イベント メソッドによって、オンスクリーン キーボードがポップアップすることに注意してください。外部キーボードを備えたデバイスを使用しようとする人々は、これを煩わしく感じ、スクリーン キーボードにゼロハイトをインストールする傾向があります。ただし、実際のユーザーが何をするかをテストしている場合は、キーボードをポップアップさせると、エンド ユーザー エクスペリエンスのより現実的な印象が得られます (もちろん、キーボードの後に残る画面領域の量はデバイスによって異なります)。 )。
キーボードを Android USB OTG ポートに直接差し込むだけで動作します。最近の Android デバイスのほとんどは、USB ホスト モードをサポートしていますが、この機能を意図的に削除したモデルはほとんどありません (Google)。これについては私たちの良いゲストもあります。
私の Google Galaxy Nexus と Lenovo タブレットでは、マウスでも動作します (マウス ポインターが表示されます)。おそらく、2 台のコンピューター間でキーボードを共有できるようにする USB スイッチを使用できます。また、USB デバイス コンバーターではなく、USB OTG が必要であることに注意してください (マイクロ USB OTG ポートにうまく収まる USB コンバーターがいくつかありますが、USB デバイス専用です)。
もちろん、ADB は USB ポートが既にキーボードによって使用されている場合は使用できません。したがって、ADB にはワイヤレスを使用する必要があります。
この提案は最初のアイデアと完全には一致しませんが、達成しようとしている目標 (キーボードを使用して Android アプリをデバイス上で直接デバッグする) には一致しているようです。