TouchUtils
クラスのメソッドを使用して、誰でもAndroidエミュレータでユニットテストを正常に実行できましたか?
私のデバイスにテストを渡すことができますが、エミュレータで全く同じテスト(およびテストスイート)を実行すると、TouchUtils
メソッドを使用するテストでは常に次の例外がスローされます。Androidエミュレータ付きTouchUtils
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
at android.os.Parcel.readException(Parcel.java:1327)
at android.os.Parcel.readException(Parcel.java:1281)
at android.view.IWindowManager$Stub$Proxy.injectPointerEvent(IWindowManager.java:1196)
at android.app.Instrumentation.sendPointerSync(Instrumentation.java:902)
at android.test.TouchUtils.drag(TouchUtils.java:786)
at android.test.TouchUtils.dragViewTo(TouchUtils.java:633)
...
私はキーガードのロックを解除し、パスした他の(TouchUtils以外の)テストケースを実行しました。 @UiThreadTest
が適用されていません。また、UIスレッドでコードを実行する必要があるものもありません。 TouchUtils.dragViewTo(...)
という行をコメントアウトして単純なassert(true)
を入力すると、テストが実行されてパスします。
アイデア?
回答が見つかりましたか?私はこのトラブルで走っているし、問題を見つけるのもあまりありません。 – Egor