anchor.diff:          // `adb shell getprop` result as UTF8.
           final ProcessResult result = await processManager.run(
             propCommand,
  -          stdoutEncoding: LATIN1
  +          stdoutEncoding: LATIN1,
  +          stderrEncoding: LATIN1,
           ).timeout(const Duration(seconds: 5));
           if (result.exitCode == 0) {
             _properties = parseAdbDeviceProperties(result.stdout);
           } else {
  -          printError('Error retrieving device properties for $name.');
  +          printError('Error retrieving device properties for $name:');
  +          printError(result.stderr);
           }
         } on TimeoutException catch (_) {
           throwToolExit('adb not responding');
  
positive.code:     // Skip lines like: * daemon started successfully *
      if (line.startsWith('* daemon '))
        continue;
  
      if (line.startsWith('List of devices'))
        continue;
  
negative.code: 
    if (mockAdbOutput == null) {
      final String adbPath = getAdbPath(androidSdk);
      printTrace('Listing devices using $adbPath');
      if (adbPath == null)
        return <AndroidDevice>[];
      text = runSync(<String>[adbPath, 'devices', '-l']);
  