registerAssets function
注册资源目录到pubspec.yaml文件中
Implementation
Future<bool> registerAssets(String path) async {
final yamlFile = await getYamlFile();
if (yamlFile == null) return false;
var yamlMap = loadYaml(yamlFile.readAsStringSync()) as YamlMap;
if (!yamlMap.containsKey('flutter')) {
yamlFile.writeAsStringSync('\n\rflutter:', mode: FileMode.append, flush: true);
yamlMap = loadYaml(yamlFile.readAsStringSync()) as YamlMap;
}
var flutter = yamlMap['flutter'] as YamlMap?;
if (flutter == null || !flutter.containsKey('assets')) {
yamlFile.writeAsStringSync('\r assets:', mode: FileMode.append, flush: true);
yamlMap = loadYaml(yamlFile.readAsStringSync()) as YamlMap;
}
final assets = flutter?['assets'] as YamlList?;
if (assets == null || !assets.contains(path)) {
yamlFile.writeAsStringSync('\r - $path', mode: FileMode.append, flush: true);
return true;
}
return false;
}