由于网络问题,需要把 flutter
打包过程中生成的 .android
工程中的 maven 地址换成内网地址,但是 .android
工程的生成与构建是一个原子操作,中途没有时机去修改 gradle
文件。好在可以修改生成工程的模板:
flutter/packages/flutter_tools/templates/module/android/gradle/build.gradle.tmpl
flutter/packages/flutter_tools/templates/app_shared/android.tmpl/gradle/wrapper/gradle-wrapper.properties.tmpl
后来又发现 distributionUrl
的修改没有生效,因此想调试下 flutter
的 SDK
步骤如下:
- Android Studio 打开 flutter SDK源码
- 如果有修改 SDK 代码,需要删除
bin/cache/flutter_tools.snapshot
让修改生效(会强制重新构建flutter tool
) - Android Studio 中选择 configuration ,新建一个 “Dart Command Line App”,”Environment Variables” , 输入
FLUTTER_ROOT=directory_to_your_flutter_framework_repo
- “Program arguments” 填想要运行的命令,如 “flutter run” ,只用填 “run”
- “Working directory” 选填
回到最开始的问题,修改了 packages/flutter_tools/lib/src/android/gradle_utils.dart
没有生效的原因是 flutter tool
有缓存,修改了源码并不会立即生效,需要删除 bin/cache/flutter_tools.snapshot
参考链接:https://github.com/flutter/flutter/wiki/The-flutter-tool