使用flutter create --template=package生成Flutter包出现意外文件的疑问
关于Flutter包生成
android/local.properties的问题 - 你操作没出错,这个文件是Flutter工具的正常生成产物,必须添加到.gitignore中,绝对不能提交到代码仓库。
原因说明:
生成逻辑:当你用
flutter create --template=package创建包时,Flutter会检测本地的Android SDK/FVM配置,自动生成android目录和local.properties文件,用来记录本地SDK的绝对路径,方便包在Android环境下进行编译和调试。这是工具的默认行为,不是操作失误。为什么其他包的.gitignore没忽略?大概率是那些包的维护者没注意到这个文件,或者是用旧版本Flutter创建的(旧版本Flutter创建包时可能不会自动生成这个文件)。但从开发最佳实践来说,这个文件包含个人本地环境的绝对路径,属于敏感的本地配置信息:
- 其他开发者拉取代码后,会因为路径不匹配导致编译报错;
- 提交到公共仓库还可能泄露你的本地路径信息。
解决步骤:
- 在包根目录的
.gitignore文件中添加一行:android/local.properties; - 如果已经不小心把这个文件提交到仓库了,执行命令
git rm --cached android/local.properties将其从仓库缓存中移除,然后提交.gitignore的修改即可。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

