Catch exceptions thrown by runChecked* when possible (#36109)

diff --git a/packages/flutter_tools/test/general.shard/application_package_test.dart b/packages/flutter_tools/test/general.shard/application_package_test.dart
index 620ee3f..a531335 100644
--- a/packages/flutter_tools/test/general.shard/application_package_test.dart
+++ b/packages/flutter_tools/test/general.shard/application_package_test.dart
@@ -129,6 +129,15 @@
         ),
       );
     }, overrides: overrides);
+
+    testUsingContext('returns null when failed to extract manifest', () async {
+      final AndroidSdkVersion sdkVersion = MockitoAndroidSdkVersion();
+      when(sdk.latestVersion).thenReturn(sdkVersion);
+      when(mockProcessManager.runSync(argThat(contains('logcat'))))
+          .thenReturn(ProcessResult(0, 1, '', ''));
+
+      expect(AndroidApk.fromApk(null), isNull);
+    }, overrides: overrides);
   });
 
   group('ApkManifestData', () {