这个错误是因为在Flutter项目中,某个依赖库在运行时需要访问Java的私有字段,但是Java模块并没有将这个字段开放给未命名模块(即Flutter应用程序),导致访问失败。

解决这个问题需要做以下几个步骤:

  1. 升级Flutter SDK和依赖库的版本,看看是否有更新可以修复这个问题。

  2. 在Flutter应用程序的build.gradle文件中添加以下代码,以允许访问Java模块的私有字段:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    // add this block
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        options.release = 11
    }

    // add this block
    configurations.all {
        resolutionStrategy {
            force 'javax.annotation:javax.annotation-api:1.3.2'
        }
    }
}
  1. 如果上述步骤都没有解决问题,尝试将Java版本降级到8或9。

  2. 如果仍然无法解决问题,请检查依赖库的文档或报告该问题,并等待开发者修复它


原文地址: https://www.cveoy.top/t/topic/fdlW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录