升级Android Studio后无法运行Flutter应用问题求助
报错原因
该错误由Android Studio Arctic Fox版本自带的JDK与项目Android Gradle插件版本不兼容导致,单独降级系统JDK不生效是因为Android Studio默认优先使用内置JDK运行构建任务。
报错详情(附翻译)
原始报错:
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugMainManifest'. > Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @6c74731c * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.中文翻译:
构建失败,触发异常:
执行任务:app:processDebugMainManifest失败。无法访问java.io.File的私有终态字段java.lang.String java.io.File.path,原因为java.base模块未向位于@6c74731c的匿名模块开放java.io包权限。
建议尝试:添加--stacktrace参数运行获取堆栈信息,添加--info或--debug参数运行获取更多日志输出,添加--scan参数运行获取完整洞察报告。
解决方案
方案1(优先采用,无需升级依赖)
- 打开Flutter项目根目录下的
android/gradle.properties文件 - 找到
org.gradle.jvmargs配置项,在原有参数末尾追加两个开放模块权限的参数,修改后示例如下:
org.gradle.jvmargs=-Xmx1536M --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED
- 保存文件后执行
flutter clean清理构建缓存,重新运行项目即可。
方案2(升级Gradle相关版本适配)
- 打开
android/build.gradle文件,将Android Gradle插件版本升级至4.2.0及以上,示例如下:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:4.2.2' } }
- 打开
android/gradle/wrapper/gradle-wrapper.properties文件,将Gradle发行版版本升级至对应匹配的6.7.1及以上,示例如下:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
- 同步Gradle配置后重新运行项目。
方案3(强制使用自定义JDK)
- 打开Android Studio设置页,路径为
File > Settings > Build, Execution, Deployment > Build Tools > Gradle(Mac系统路径为Android Studio > Preferences > Build, Execution, Deployment > Build Tools > Gradle) - 在
Gradle JDK选项中,取消选择默认的Embedded JDK,改为选择你本地已安装的兼容JDK版本(JDK8或JDK11均可) - 保存设置后执行
flutter clean,重新运行项目。
内容的提问来源于stack exchange,提问作者Ben Ajax
相关产品推荐
相关产品推荐

