findFlutterExecutable function

Future<String> findFlutterExecutable()

Implementation

Future<String> findFlutterExecutable() async {
  // Obter o PATH do sistema
  String? path = Platform.environment['PATH'];

  if (path != null) {
    // Separar o PATH em diretórios individuais
    List<String> directories = path.split(Platform.isWindows ? ';' : ':');

    // Tentar encontrar o executável flutter em cada diretório
    for (String dir in directories) {
      String flutterPath =
          Platform.isWindows ? '$dir\\flutter.bat' : '$dir/flutter';

      if (await File(flutterPath).exists()) {
        return flutterPath;
      }
    }
  }

  return 'flutter';
}