diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md
index 2977474..079aa16 100644
--- a/packages/camera/camera/CHANGELOG.md
+++ b/packages/camera/camera/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.0-nullsafety.3
+
+* Updates the example code listed in the [README.md](README.md), so it runs without errors when you simply copy/ paste it into a Flutter App.
+
 ## 0.8.0-nullsafety.2
 
 * Solved delay when using the zoom feature on iOS.
diff --git a/packages/camera/camera/README.md b/packages/camera/camera/README.md
index b9fdd73..fb6144f 100644
--- a/packages/camera/camera/README.md
+++ b/packages/camera/camera/README.md
@@ -79,6 +79,7 @@
 
 Future<void> main() async {
   WidgetsFlutterBinding.ensureInitialized();
+
   cameras = await availableCameras();
   runApp(CameraApp());
 }
@@ -94,7 +95,7 @@
   @override
   void initState() {
     super.initState();
-    controller = CameraController(cameras[0], ResolutionPreset.medium);
+    controller = CameraController(cameras[0], ResolutionPreset.max);
     controller.initialize().then((_) {
       if (!mounted) {
         return;
@@ -114,12 +115,12 @@
     if (!controller.value.isInitialized) {
       return Container();
     }
-    return AspectRatio(
-        aspectRatio:
-        controller.value.aspectRatio,
-        child: CameraPreview(controller));
+    return MaterialApp(
+      home: CameraPreview(controller),
+    );
   }
 }
+
 ```
 
 For a more elaborate usage example see [here](https://github.com/flutter/plugins/tree/master/packages/camera/camera/example).
diff --git a/packages/camera/camera/pubspec.yaml b/packages/camera/camera/pubspec.yaml
index 4b820b8..2d62050 100644
--- a/packages/camera/camera/pubspec.yaml
+++ b/packages/camera/camera/pubspec.yaml
@@ -2,7 +2,7 @@
 description: A Flutter plugin for getting information about and controlling the
   camera on Android and iOS. Supports previewing the camera feed, capturing images, capturing video,
   and streaming image buffers to dart.
-version: 0.8.0-nullsafety.2
+version: 0.8.0-nullsafety.3
 homepage: https://github.com/flutter/plugins/tree/master/packages/camera/camera
 
 dependencies:
