1、前言
正在使用的插件amap_location今天突然报错,项目无法运行,报错提示如
2、错误提示
.../amaplocation/AmapLocationPlugin.java:287:错误:未报告的异常错误Exception;必须对其进行捕获或声明以便抛出 locationClient = new AMapLocationClient(getApplicationContext());
3、原因排查
修改了一通无果,一通查找资料,偶然间看到群里在讨论,知道了是隐私政策的问题导致,暂时的解决方案是不用最新的高德com.amap.api:location,最新的有隐私政策,最优方案应该是接入最新的政策,具体未实践
4、解决方法
- 1、把高德的amap_location包根据上面路径找到,在flutter/.pub-cache/hosted/…里面,拿到后复制一份出来,将android/build.gradle里面的依赖最新的改掉,目前我这里是改成5.5.1
- 2、把包里面的example删除,在项目里面创建本地插件文件plugins,将插件包放入,在yaml里,引入本地插件
本地插件引入参考:flutter引用插件的两种方式:pub库引用/本地库引用
执行pub get,错误消失,项目可以运行