anchor.diff:          'flutter.sdk=${_escapePath(Cache.flutterRoot)}\n'
       );
     }
  +  return localProperties;
  +}
  +
  +Future<Null> buildGradleProject(BuildMode buildMode, String target) async {
  +  final File localProperties = ensureLocalProperties();
     // Update the local.properties file with the build mode.
     // FlutterPlugin v1 reads local.properties to determine build mode. Plugin v2
     // uses the standard Android way to determine what to build, but we still
  
positive.code: 
  String get gradleAppOutDirV2 {
    final String gradle = ensureGradle();
    try {
      final String properties = runCheckedSync(
        <String>[gradle, 'app:properties'],
  
negative.code:   return gradle;
  }
  
  /// Create android/local.properties if needed.
  File ensureLocalProperties() {
    final File localProperties = fs.file('android/local.properties');
    if (!localProperties.existsSync()) {
      localProperties.writeAsStringSync(
  