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

Flutter 1.2项目通过FVM运行iOS正常Android异常求助

相关问题截图

排查思路与解决方案

以下按排查成本从低到高排序,一步步走基本能覆盖90%以上的同场景问题:

  • 先校验FVM环境的Android链路配置
    到项目根目录执行fvm flutter doctor -v,重点检查Android toolchain模块的报错:如果提示未接受许可证,直接执行fvm flutter doctor --android-licenses一路输入y同意即可;如果提示找不到Android SDK、Android Studio路径,手动配置对应环境变量即可。iOS构建不依赖Android相关配置,所以这部分出问题不会影响iOS端运行。
    额外检查项目android/local.properties文件内的flutter.sdk配置,必须指向FVM缓存的Flutter 1.2版本路径,不要指向全局安装的高版本Flutter,Android构建会强读取这个路径的依赖,配置错误直接导致构建失败。
  • 修复老版本Flutter的Gradle兼容问题
    Flutter 1.2是2019年发布的早期版本,和高版本Gradle、高版本Android SDK完全不兼容,按以下参数核对配置:
    • 打开android/gradle/wrapper/gradle-wrapper.properties,将Gradle版本固定为4.10.2,对应配置项为distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
    • 打开android/build.gradle,将Android Gradle插件版本固定为3.3.2,和上述Gradle版本匹配,即依赖配置写为classpath 'com.android.tools.build:gradle:3.3.2'
    • 打开android/app/build.gradle,将compileSdkVersion固定为28,targetSdkVersion最高不超过28,不要使用29及以上的SDK版本编译。
      注意:Flutter 1.2仅支持JDK8环境编译,高版本JDK(11/17)会直接触发编译报错,在Android Studio的Gradle设置里把Gradle JDK切换为1.8即可。
  • 清理缓存后重新构建
    老项目切换Flutter版本后经常出现缓存脏数据导致的异常,依次执行以下命令清理:
    # 关闭所有正在运行的Flutter、Android Studio进程后执行
    fvm flutter clean
    cd android
    ./gradlew clean
    cd ..
    fvm flutter pub get
    
    清理完成后不要直接点Android Studio的运行按钮,先在命令行执行fvm flutter run -v,通过完整构建日志定位具体报错点,比无方向排查效率高很多。
  • 其他易漏问题
    检查AndroidManifest.xml配置,Flutter 1.2使用的是v1版本Android嵌入引擎,不要添加v2引擎的相关配置,否则会出现启动白屏、闪退问题;真机调试时要提前打开USB安装、USB调试权限,部分定制国产ROM需要关闭系统安全优化才能正常安装调试包。

内容的提问来源于stack exchange,提问作者Ahmet Özberk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.18 16:15:44