anchor.diff:      };
   
       setUp(() async {
  -      sdk = MockitoAndroidSdk();
  +      sdk = FakeAndroidSdk();
         fakeProcessManager = FakeProcessManager.empty();
         fs = MemoryFileSystem.test();
         cache = Cache.test(
           processManager: FakeProcessManager.any(),
         );
         Cache.flutterRoot = '../..';
  -      when(sdk.licensesAvailable).thenReturn(true);
  +      sdk.licensesAvailable = true;
         final FlutterProject project = FlutterProject.fromDirectoryTest(fs.currentDirectory);
         fs.file(project.android.hostAppGradleRoot.childFile(
           globals.platform.isWindows ? 'gradlew.bat' : 'gradlew',
  
positive.code:     }, overrides: overrides);
  
      testUsingContext('Licenses available, build tools not, apk exists', () async {
        when(sdk.latestVersion).thenReturn(null);
        final FlutterProject project = FlutterProject.fromDirectoryTest(fs.currentDirectory);
        project.android.hostAppGradleRoot
          .childFile('gradle.properties')
  
negative.code:         A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
  ''';
  
  class FakeOperatingSystemUtils extends Fake implements OperatingSystemUtils {
    void Function(File, Directory) onUnzip;
  
    @override
    void unzip(File file, Directory targetDirectory) {
      onUnzip?.call(file, targetDirectory);
    }
  }
  
  class FakeAndroidSdk extends Fake implements AndroidSdk {
    @override
    bool platformToolsAvailable;
  
    @override
    bool licensesAvailable;
  
    @override
    AndroidSdkVersion latestVersion;
  }
  
  class FakeAndroidSdkVersion extends Fake implements AndroidSdkVersion {
    @override
    String aaptPath;
  }
  