You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目上传Git报Unresolved class 'ApplicationName'错误如何修复

Flutter上传Git时AndroidManifest报Unresolved class 'ApplicationName'修复

问题本质

android:name="${applicationName}"是Flutter官方项目模板的标准配置,该占位符会在编译阶段由Flutter Gradle插件自动替换为实际的Application类名,不存在代码错误。
报错仅在Git提交场景触发,是因为Git提交前触发的IDE静态检查、Lint校验将该占位符识别为真实类名做解析,未识别Flutter编译期替换逻辑导致的误报,不会影响项目正常编译运行。
单独打开android目录同步Gradle无效,是因为此时IDE将项目识别为纯原生Android项目,未加载Flutter插件的构建规则,自然无法识别该占位符。

修复方法

  • 推荐方案:添加Lint忽略规则
    直接在manifest根节点的tools:ignore属性中追加UnresolvedClass规则,显式告诉Lint跳过该位置的类名校验,修改后manifest开头配置如下:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.example.apmatik"
        tools:ignore="MissingVersion,UnresolvedClass">
    
    修改完成后执行一次Gradle同步,再提交Git就不会出现该警告。
  • 根源修复:正确加载Flutter项目规则
    关闭单独打开的android项目窗口,从Flutter项目根目录打开整个工程,等待IDE自动索引完成后执行flutter pub get,IDE加载完Flutter构建规则后会自动识别该占位符,误报直接消失。
  • 临时方案:关闭提交前无效检查
    如果上述操作后仍有提示,可以在Git提交弹窗中,取消提交前检查项里的「Inspect code」「Android Lint」勾选,即可跳过提交时的检查。该方案会漏掉其他真实代码问题,不建议长期使用。

注意事项

不要手动将${applicationName}硬编码为其他Application类名(比如旧版本的io.flutter.app.FlutterApplication),新版本Flutter中该写法已废弃,会导致插件注册、应用启动逻辑异常。


内容的提问来源于stack exchange,提问作者Abdullah T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:54:21