Flutter项目编译报错:Parameter format not correct及API弃用警告
Flutter编译报错:"Parameter format not correct"及弃用警告导致构建失败
错误详情
Parameter format not correct - C:\Users\gaura\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\geolocator_android-3.2.1\android\src\main\java\com\baseflow\geolocator\GeolocatorLocationService.java:134: 警告: [deprecation] Service中的stopForeground(boolean)已被弃用 stopForeground(true); ^ 错误: 发现警告且已指定-Werror C:\Users\gaura\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\geolocator_android-3.2.1\android\src\main\java\com\baseflow\geolocator\permission\PermissionUtils.java:27: 警告: [deprecation] PackageManager中的getPackageInfo(String,int)已被弃用 .getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS); ^ 1个错误 2个警告 FAILURE: 构建因异常失败。 * 出错原因: 任务':geolocator_android:compileDebugJavaWithJavac'执行失败。 > 编译失败;请查看编译器错误输出了解详情。 * 建议操作: > 使用--stacktrace选项获取堆栈跟踪。 > 使用--info或--debug选项获取更多日志输出。 > 使用--scan选项获取完整分析信息。 * 如需更多帮助请访问https://help.gradle.org 构建失败,耗时9分钟 正在运行Gradle任务'assembleDebug'... 547.0秒 异常: Gradle任务assembleDebug执行失败,退出码为1
解决步骤
1. 修复弃用警告导致的编译失败
错误核心是geolocator_android插件使用了已弃用的Android API,且编译时将警告视为错误(-Werror),导致构建中断。有两种解决方式:
方案一:升级geolocator插件
执行命令更新到最新版本,新版本通常会替换弃用API:flutter pub upgrade geolocator更新后执行
flutter pub get,再重新编译。方案二:关闭警告转错误的编译规则
如果暂时无法升级插件,修改项目的Gradle配置,让警告不阻断编译:
打开项目根目录下的android/build.gradle文件,添加以下配置:subprojects { afterEvaluate { project -> if (project.hasProperty('android')) { android { lintOptions { abortOnError false } } } } }保存后重新执行编译。
2. 解决"Parameter format not correct"错误
这个错误通常是Windows路径包含空格、中文或特殊字符导致的:
- 将Flutter项目移动到无空格、无特殊字符的路径下,比如从
C:\Users\gaura\My Flutter App改为C:\FlutterProjects\MyApp - 检查Gradle环境变量(
GRADLE_HOME)的路径是否包含空格,若有则修改为短路径或无空格路径
内容的提问来源于stack exchange,提问作者Gaurav Kor
相关产品推荐
相关产品推荐

