运行报错
来源:4-3 Windows电脑搭建Flutter开发环境教程以及常见问题汇总

saw希望
2025-01-07
flutter version 3.27.1
jdk 17
报错
[ +173 ms] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
[ +3 ms] Picked up _JAVA_OPTIONS: -Dfile.encoding=utf-8
[ +212 ms] 错误: 找不到或无法加载主类 Dfile.encoding=utf-8
[ +1 ms] 原因: java.lang.ClassNotFoundException: Dfile.encoding=utf-8
具体info 如下
PS F:\project_mix\fluter_v2\navers> flutter run -v
[ +458 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ +2 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +108 ms] executing: E:\android_sdk\platform-tools\adb.exe devices -l
[ +344 ms] List of devices attached
emulator-5554 device product:MI 9 model:MI_9 device:star2qltechn transport_id:1
[ +13 ms] E:\android_sdk\platform-tools\adb.exe -s emulator-5554 shell getprop
[ +261 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ +16 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +296 ms] Skipping pub get: version match.
[ +219 ms] Generating F:\project_mix\fluter_v2\navers\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +105 ms] ro.hardware = qcom
[ +159 ms] No packages with native assets. Skipping native assets compilation.
[ +5 ms] Initializing file store
[ +17 ms] Skipping target: gen_localizations
[ +7 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: F:\project_mix\fluter_v2\navers\.dart_tool\package_config_subset}
[ +297 ms] gen_dart_plugin_registrant: Complete
[ +1 ms] Skipping target: _composite
[ +2 ms] complete
[ +8 ms] Launching lib\main.dart on MI 9 in debug mode...
[ +5 ms] F:\flutter_folder\flutter\bin\cache\dart-sdk\bin\dartaotruntime.exe F:\flutter_folder\flutter\bin\cache\dart-sdk\bin\snapshots\frontend_server_aot.dart.snapshot --sdk-root F:\flutter_folder\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/
--incremental --target=flutter --experimental-emit-debug-metadata --output-dill C:\Users\ADMINI~1\AppData\Local\Temp\flutter_tools.2528eb50\flutter_tool.b0386b9e\app.dill --packages F:\project_mix\fluter_v2\navers\.dart_tool\package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill build\cache.dill.track.dill --verbosity=error --enable-experiment=alternative-invalidation-strategy
[ +35 ms] executing: E:\android_sdk\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
[ +191 ms] <- compile package:navers/main.dart
[ +189 ms] --------- beginning of main
01-07 11:12:18.503 I/Finsky ( 3039): [166] pls.h(7): Already at the latest configurations for experiment package com.google.android.finsky.regular.
[ +111 ms] executing: E:\android_sdk\platform-tools\adb.exe version
[ +191 ms] Android Debug Bridge version 1.0.41
Version 35.0.1-11580240
Installed as E:\android_sdk\platform-tools\adb.exe
Running on Windows 10.0.19042
[ +2 ms] executing: E:\android_sdk\platform-tools\adb.exe start-server
[ +180 ms] Building APK
[ +16 ms] executing: F:\android_studio_el\jbr\bin\java -version
[ +264 ms] Exit code 0 from: F:\android_studio_el\jbr\bin\java -version
[ +1 ms] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
Picked up _JAVA_OPTIONS: -Dfile.encoding=utf-8
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-9505619)
OpenJDK 64-Bit Server VM (build 11.0.15+0-b2043.56-9505619, mixed mode)
[ +3 ms] executing: F:\JetBrainsToolbox\Android Studio\jbr\bin\java -version
[ +334 ms] Exit code 0 from: F:\JetBrainsToolbox\Android Studio\jbr\bin\java -version
[ +1 ms] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
Picked up _JAVA_OPTIONS: -Dfile.encoding=utf-8
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+0--11852314)
OpenJDK 64-Bit Server VM (build 17.0.11+0--11852314, mixed mode)
[ +7 ms] executing: F:\JetBrainsToolbox\Android Studio\jbr\bin\java -version
[ +352 ms] Exit code 0 from: F:\JetBrainsToolbox\Android Studio\jbr\bin\java -version
[ ] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
Picked up _JAVA_OPTIONS: -Dfile.encoding=utf-8
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+0--11852314)
OpenJDK 64-Bit Server VM (build 17.0.11+0--11852314, mixed mode)
[ +18 ms] executing: F:\JetBrainsToolbox\Android Studio\jbr\bin\java --version
[ +257 ms] Exit code 0 from: F:\JetBrainsToolbox\Android Studio\jbr\bin\java --version
[ ] openjdk 17.0.11 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+0--11852314)
OpenJDK 64-Bit Server VM (build 17.0.11+0--11852314, mixed mode)
[ ] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
Picked up _JAVA_OPTIONS: -Dfile.encoding=utf-8
[ +18 ms] CMake project not found, skipping support Android 15 16k page size migration.
[ +26 ms] Using gradle from F:\project_mix\fluter_v2\navers\android\gradlew.bat.
[ +2 ms] Running Gradle task 'assembleDebug'...
[ +6 ms] executing: [F:\project_mix\fluter_v2\navers\android/] F:\project_mix\fluter_v2\navers\android\gradlew.bat --full-stacktrace --info -Pverbose=true -Ptarget-platform=android-x64 -Ptarget=F:\project_mix\fluter_v2\navers\lib\main.dart
-Pbase-application-name=android.app.Application -Pdart-obfuscation=false -Ptrack-widget-creation=true -Ptree-shake-icons=false -Pfilesystem-scheme=org-dartlang-root assembleDebug
[ +173 ms] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
[ +3 ms] Picked up _JAVA_OPTIONS: -Dfile.encoding=utf-8
[ +212 ms] 错误: 找不到或无法加载主类 Dfile.encoding=utf-8
[ +1 ms] 原因: java.lang.ClassNotFoundException: Dfile.encoding=utf-8
[ +24 ms] Running Gradle task 'assembleDebug'... (completed in 405ms)
[+8399 ms] Error: Gradle task assembleDebug failed with exit code 1
[ +1 ms] "flutter run" took 12,980ms.
[ +26 ms]
#0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:860:9)
<asynchronous suspension>
#2 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1450:27)
<asynchronous suspension>
#3 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#4 CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#5 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:421:9)
<asynchronous suspension>
#6 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#7 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:364:5)
<asynchronous suspension>
#8 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:131:9)
<asynchronous suspension>
#9 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#10 main (package:flutter_tools/executable.dart:94:3)
<asynchronous suspension>
[ +89 ms] ensureAnalyticsSent: 86ms
[ ] Running 2 shutdown hooks
[ +5 ms] Shutdown hooks complete
[ +7 ms] exiting with code 1
1回答
-
CrazyCodeBoy
2025-01-08
从日志和错误信息来看,问题的主要原因是环境变量 JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 的设置有误,具体表现为 Java 在运行时将 -Dfile.encoding=utf-8 误解为主类,而不是正确的 JVM 参数。
解决步骤:
1. 检查并移除错误的环境变量
你需要检查系统的环境变量设置,并移除 JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 中的错误配置。
Windows 系统
1. 打开 "系统属性" > "高级" > "环境变量"。
2. 在 "系统变量" 和 "用户变量" 中找到 JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS。
3. 检查它们的值是否包含 -Dfile.encoding=utf-8。如果存在,将其删除或修改为正确的格式。
临时解决方案 如果不方便修改系统环境变量,可以在运行命令时清除这两个变量:
set JAVA_TOOL_OPTIONS=
set _JAVA_OPTIONS=
flutter run
2. 设置正确的文件编码(可选)
如果你需要强制指定文件编码为 UTF-8,可以使用以下命令运行:
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
set _JAVA_OPTIONS=-Dfile.encoding=UTF-8
flutter run
3. 检查 Java 版本
根据日志,你的项目使用的是 JDK 11 和 JDK 17。需要确保:
系统使用的是 Flutter 支持的 JDK 版本(推荐 JDK 11 或 JDK 17)。
如果使用多个 JDK,确保 JAVA_HOME 指向正确的 JDK 版本。
运行以下命令检查 JAVA_HOME 是否正确:
echo %JAVA_HOME%
确保路径指向你期望的 JDK。
4. 清理 Flutter 和 Gradle 缓存
清理缓存并重新构建项目可能会解决一些潜在问题:
flutter clean
flutter pub get
删除 .gradle 文件夹:
cd android
gradlew clean
然后重新运行项目:
flutter run
5. 如果问题依旧存在
尝试通过以下步骤进一步定位问题:
1. 检查 gradle.properties 文件,确保没有错误的 JVM 配置。
2. 强制同步 Gradle 配置:
cd android
./gradlew assembleDebug --refresh-dependencies
3. 确保 Flutter 和 Android Studio 是最新版本,并正确配置了 Android SDK 和 NDK。
完成以上步骤后,问题应该能解决。如果仍然有问题,可以提供最新的错误日志以进一步排查。00
相似问题