flutterRoot top-level property

String flutterRoot
getter/setter pair

Implementation

String flutterRoot = (() {
  final pkgConfig = File(join('.dart_tool', 'package_config.json'));
  final pkgConfigData = json.decode(pkgConfig.readAsStringSync());
  final pkgs = (pkgConfigData["packages"] as List);
  for (var i = 0; i < pkgs.length; i++) {
    final it = pkgs[i];
    if (it['name'] == "flutter") {
      return File(join(
              Directory.fromUri(Uri.parse(it['rootUri'])).path, '../', '../'))
          .path;
    }
  }
  throw '找不到 Flutter 路径';
})();