Commit 30d8dc13 authored by Jason Simmons's avatar Jason Simmons

Check the adb install output for errors and stop "flutter run" if package...

Check the adb install output for errors and stop "flutter run" if package installation fails (#3672)
parent 5460e944
......@@ -181,7 +181,14 @@ class AndroidDevice extends Device {
if (!_checkForSupportedAdbVersion() || !_checkForSupportedAndroidVersion())
return false;
runCheckedSync(adbCommandForDevice(<String>['install', '-r', app.localPath]));
String installOut = runCheckedSync(adbCommandForDevice(<String>['install', '-r', app.localPath]));
RegExp failureExp = new RegExp(r'^Failure.*$', multiLine: true);
String failure = failureExp.stringMatch(installOut);
if (failure != null) {
printError('Package install error: $failure');
return false;
}
runCheckedSync(adbCommandForDevice(<String>['shell', 'echo', '-n', _getSourceSha1(app), '>', _getDeviceSha1Path(app)]));
return true;
}
......
......@@ -199,11 +199,12 @@ Future<int> startApp(
// Allow any stop commands from above to start work.
await new Future<Duration>.delayed(Duration.ZERO);
if (install) {
// TODO(devoncarew): This fails for ios devices - we haven't built yet.
if (install && device is AndroidDevice) {
printStatus('Installing $package to $device...');
// TODO(devoncarew): This fails for ios devices - we haven't built yet.
await installApp(device, package);
if (!(await installApp(device, package)))
return 1;
}
Map<String, dynamic> platformArgs = <String, dynamic>{};
......@@ -290,10 +291,12 @@ Future<int> startAppStayResident(
// Allow any stop commands from above to start work.
await new Future<Duration>.delayed(Duration.ZERO);
printTrace('Running install command.');
// TODO(devoncarew): This fails for ios devices - we haven't built yet.
await installApp(device, package);
if (device is AndroidDevice) {
printTrace('Running install command.');
if (!(await installApp(device, package)))
return 1;
}
Map<String, dynamic> platformArgs;
if (traceStartup != null)
......
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