Repository: flutter
Issue: Flutter is incompatible with Android Monkey Tests
Labels: a: tests,c: new feature,platform-android,engine,P2,team-android,triaged-android

I've tested the same command with a standard Android app and it works as it should.

## Steps to Reproduce

1. Run the following
```sh
adb shell monkey -p your.package.name --pct-touch 100 -throttle 500 -v 300
```

## Logs

<details><summary>Output</summary>
<p>
:Monkey: seed=1554731839200 count=300
:AllowPackage: dev.materialtime.livelab.mes
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
//   0: 100.0%
//   1: 0.0%
//   2: 0.0%
//   3: 0.0%
//   4: -0.0%
//   5: -0.0%
//   6: 0.0%
//   7: 0.0%
//   8: 0.0%
//   9: 0.0%
//   10: 0.0%
//   11: 0.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=dev.materialtime.livelab.mes/.MainActivity;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=dev.materialtime.livelab.mes/.MainActivity } in package dev.materialtime.livelab.mes
:Sending Touch (ACTION_DOWN): 0:(759.0,1709.0)
:Sending Touch (ACTION_UP): 0:(762.0156,1710.8438)
// CRASH: dev.materialtime.livelab.mes (pid 9656)
// Short Msg: java.lang.NullPointerException
// Long Msg: java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.InputDevice$MotionRange.getMin()' on a null object reference
// Build Label: HUAWEI/CPN/HWCPN-Q:7.0/HUAWEICPN-W09/C128B006:user/release-keys
// Build Changelist: C128B006
// Build Time: 1527839833000
// java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.InputDevice$MotionRange.getMin()' on a null object reference
// 	at io.flutter.view.FlutterView.addPointerForIndex(Unknown Source)
// 	at io.flutter.view.FlutterView.onTouchEvent(Unknown Source)
// 	at android.view.View.dispatchTouchEvent(View.java:10013)
// 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671)
// 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2301)
// 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671)
// 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2301)
// 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671)
// 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2301)
// 	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:447)
// 	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1871)
// 	at android.app.Activity.dispatchTouchEvent(Activity.java:3213)
// 	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:409)
// 	at android.view.View.dispatchPointerEvent(View.java:10233)
// 	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4865)
// 	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4726)
// 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4258)
// 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4311)
// 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4277)
// 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4404)
// 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4285)
// 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4461)
// 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4258)
// 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4311)
// 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4277)
// 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4285)
// 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4258)
// 	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6690)
// 	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6664)
// 	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6625)
// 	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6819)
// 	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:192)
// 	at android.os.MessageQueue.nativePollOnce(Native Method)
// 	at android.os.MessageQueue.next(MessageQueue.java:356)
// 	at android.os.Looper.loop(Looper.java:138)
// 	at android.app.ActivityThread.main(ActivityThread.java:6623)
// 	at java.lang.reflect.Method.invoke(Native Method)
// 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
// 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
// 
** Monkey aborted due to error.
Events injected: 3
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=1045ms (0ms mobile, 0ms wifi, 1045ms not connected)
** System appears to have crashed at event 3 of 300 using seed 1554731839200

</p>
</details>