Repository: flutter
Issue: showDialog could not show LayoutBuilder widget on Android
Labels: c: crash,framework,f: material design,has reproducible steps,P2,found in release: 3.3,workaround available,found in release: 3.7,team-design,triaged-design

Steps to Reproduce

1. create a flutter app and set TestPage as home page

<details>
  <summary>code sample</summary>

```
class TestPage extends StatelessWidget {
  const TestPage({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: SafeArea(
        child: Center(
          child: RaisedButton(
            onPressed: () async {
              await showDialog<void>(
                  context: context,
                  builder: (BuildContext context) {
                    return AlertDialog(
                      content: LayoutBuilder(
                        builder:
                            (BuildContext context, BoxConstraints constraints) {
                          return const Text('you should see me');
                        },
                      ),
                    );
                  });
            },
            child: const Text('press me to show an alert dialog'),
          ),
        ),
      ),
    );
  }
}
```

</details>

2. run the app on android device
3. after app launch, press the button to show a dialog

expected:  dialog show
actual: no dialog show

I also try same thing on ios platform, the dialog show correctly

**Target Platform:**
android
**Target OS version/browser:**
**Devices:**
xiaomi 8


flutter run --verbose:
```
I/nture.ps.clien(17924): ProcessProfilingInfo new_methods=1039 is saved saved_to_disk=1 resolve_classes_delay=8000
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: LayoutBuilder does not support returning intrinsic dimensions.
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: RenderBox was not laid out: RenderIntrinsicWidth#86875 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#7592a relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: RenderBox was not laid out: _RenderInkFeatures#250cb relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: RenderBox was not laid out: RenderCustomPaint#29950 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: RenderBox was not laid out: RenderPhysicalShape#0f784 relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: 'package:flutter/src/rendering/shifted_box.dart': Failed assertion: line 321 pos 12: 'child.hasSize': is not true.
I/flutter (17924): FlutterError.onError
I/flutter (17924): Another exception was thrown: RenderBox was not laid out: RenderPhysicalShape#0f784 relayoutBoundary=up2
I/flutter (17924): Another exception was thrown: Cannot hit test a render box with no size.

```

flutter doctor -v:

```
[✓] Flutter (Channel stable, v1.9.1+hotfix.6, on Mac OS X 10.15.1 19B88, locale en-CN)
    • Flutter version 1.9.1+hotfix.6 at /Applications/flutter
    • Framework revision 68587a0916 (3 months ago), 2019-09-13 19:46:58 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0
```