mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
added friendlier error for invalid AndroidManifest.xml (#29604)
This commit is contained in:
parent
8707f1f335
commit
dffbfebbf1
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user