使用geocoding2.0.1 Android编译提示GeocodingPlugin.java用了废弃API怎么办
Flutter 引入 geocoding ^2.0.1 安卓端编译废弃API警告处理方案
编译提示信息:
Note: /Users/jouleslabs/AndroidStudioProjects/flutter/.pub-cache/hosted/pub.dartlang.org/geocoding-2.0.1/android/src/main/java/com/baseflow/geocoding/GeocodingPlugin.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use or override a deprecated API.
该警告是geocoding 2.0.1版本的安卓原生层代码调用了系统已标记废弃的API导致,不会直接阻断编译流程,也不会影响绝大多数场景下的地理编码功能正常运行,可按需选择以下处理方案:
- 方案1:升级geocoding依赖版本
这是最优先的解决方式,官方后续版本已经修复了废弃API的使用问题。直接修改项目pubspec.yaml中geocoding的依赖版本为更高的稳定版,随后执行flutter pub get拉取新版本依赖,重新编译即可消除警告。 - 方案2:手动忽略编译警告
如果项目受兼容性限制无法升级geocoding版本,可通过配置安卓编译规则忽略该类警告。打开项目根目录下android/build.gradle文件,在allprojects代码块中添加如下配置:
重新编译后警告就不会再弹出。allprojects { // 原有配置保留即可 gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:-deprecation" } } } - 方案3:查看具体废弃细节自行修复
如果需要定位具体的API调用问题,打开项目根目录下android/gradle.properties文件,添加如下编译参数:
重新编译即可输出废弃API的具体调用位置,你可以fork对应版本的geocoding源码修改后,以本地依赖的方式引入项目使用。org.gradle.jvmargs=-Xlint:deprecation
如果实际运行过程中地理编码的正向/反向解析功能无异常,也可以不做任何处理,该警告不会导致APP运行崩溃。
内容的提问来源于stack exchange,提问作者segun code
相关产品推荐
相关产品推荐

