2

私に関連する質問がありますが、私が探していた範囲でそれらに完全に答えているものはありません. まず、「別のアプリの上で実行する」ダウンロード可能な Android アプリを作成することは可能ですか。つまり、事前定義されたユーザー入力をエミュレートし、従来の「GUI」はありません。たとえば、(仮説として) 動画を再生するが、10 秒ごとに画面を自動的にオフにするように設定されているアプリがある場合、これを防ぐために数秒ごとに onTouch イベントが必要になります。複雑なことは何もありません。触れるだけで、おそらく数回のスワイプと、それに伴うその他のイベントです。

第二に、これがアプリを作成する有効な方法ではない場合、「インターフェイスがなく、事前に定義されたスクリプトだけで、オープンソースではないアプリにオンタッチイベントを「注入」できる他の方法はありますか? ?

編集:より具体的には、「クイック」アプリヘルパーを作成することを検討しています。これは、アクティブ化されると、ユーザー入力をエミュレートする事前定義された一連の命令を非常に高速で実行する一種のプログラムです。何らかのアクティビティ (オブジェクト A からオブジェクト B へのスワイプなど) を実行し、非常に高速に戻るアプリ。また、すべてのデバイスで機能する共通の (最大) ものを見つけるために、さまざまな Android デバイスの速度のしきい値を既に調べています。

4

1 に答える 1

0

android.app.Instrumentationクラスが必要です。これにより、さまざまなイベントをアプリケーションに送信し、結果を監視できます。

このクラスを正常に使用するには、アプリに INJECT_EVENTS 権限があり、システム署名鍵で署名されている必要があります。これは、独自のカスタム ファームウェアを使用してルート化されたデバイスで作業する必要があることを意味します。キャリア提供のファームウェアではこれを行うことはできません。

ソリューションが .apk である必要がない場合は、monkeyrunnerを使用してみてください。これには、adb を使用してデバイスに接続できることのみが必要です (つまり、デバイスで USB デバッグが有効になっている)。

于 2012-07-12T16:00:38.450 に答える