前言
花了一天的时间, 把有梦记的架构从Flutter2升级到Flutter3, 总结一下踩过的坑
升级 Flutter 版本
- 
查看当前版本 - flutter --version
 
- 
首先就是升级你的 Flutter版本, 这个操作很简单, 但是前提要可以翻墙- flutter upgrade
 
- 
然后查看你的版本, 如果是 3开头就可以了- flutter --version
 
- 
接下来如果很幸运的话, 直接点击调试能运行的话, 你就不用接着往下看了 
compileSdkVersion 报错
- 修改android/app/build.gradle文件中compileSdkVersion为33(我的提示,具体改成多少看你编译时报错提示)
- 修改android/gradle/wrapper/gradle-wrapper.properties文件中distributionUrl为distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
- 修改android/build.gradle文件中内容com.android.tools.build:gradle为classpath 'com.android.tools.build:gradle:7.1.2'
- 打开Android Studio的sdkManager更新  1.png   2.png 
Warning: Mapping new ns xxx to old ns xxx
- 修改文件android/build.gradle
// http://maven.aliyun.com/nexus/content/groups/public
// 修改为:
https://maven.aliyun.com/repository/public
Error: No named parameter with the name ‘maxLengthEnforced’.
- 类似这种的报错, 都是升级了Flutter旧代码不兼容
- 找到对应的包, 一个一个升级, 很多Sdk得去看文档, 很多签名方法都会变
No signature of method: .android() is applicable for argument types. Exception in build.gradle (app)
- 删除android/app/build.gradle文件中的useProguard配置
android {
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            // 删除这一行
            // useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
}
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpat
- 版本不匹配问题
buildscript {
    // 修改这里的版本
    ext.kotlin_version = '1.7.10'
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://repo1.maven.org/maven2/' }
    }
    dependencies {
        // 修改这里的版本
        classpath 'com.android.tools.build:gradle:7.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
- 具体改成什么版本, 可以自己flutter new app然后看新生成的文件, 对应改一下
