Unverified Commit dffbfebb authored by Shi-Hao Hong's avatar Shi-Hao Hong Committed by GitHub

added friendlier error for invalid AndroidManifest.xml (#29604)

parent 8707f1f3
......@@ -10,6 +10,7 @@ import 'package:xml/xml.dart' as xml;
import 'android/android_sdk.dart';
import 'android/gradle.dart';
import 'base/common.dart';
import 'base/context.dart';
import 'base/file_system.dart';
import 'base/os.dart' show os;
......@@ -161,7 +162,20 @@ class AndroidApk extends ApplicationPackage {
return null;
final String manifestString = manifest.readAsStringSync();
final xml.XmlDocument document = xml.parse(manifestString);
xml.XmlDocument document;
try {
document = xml.parse(manifestString);
} on xml.XmlParserException catch (exception) {
String manifestLocation;
if (androidProject.isUsingGradle) {
manifestLocation = fs.path.join(androidProject.hostAppGradleRoot.path, 'app', 'src', 'main', 'AndroidManifest.xml');
} else {
manifestLocation = fs.path.join(androidProject.hostAppGradleRoot.path, 'AndroidManifest.xml');
}
printError('AndroidManifest.xml is not a valid XML document.');
printError('Please check $manifestLocation for errors.');
throwToolExit('XML Parser error message: ${exception.toString()}');
}
final Iterable<xml.XmlElement> manifests = document.findElements('manifest');
if (manifests.isEmpty)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment