美文网首页
flutter集成高德地图

flutter集成高德地图

作者: 全栈的猫南北 | 来源:发表于2022-03-29 09:34 被阅读0次

    安卓权限列表

    <!--允许访问网络,必选权限-->
    <uses-permission android:name="android.permission.INTERNET" />  
    
    <!--允许获取粗略位置,若用GPS实现定位小蓝点功能则必选-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    
    <!--允许获取设备和运营商信息,用于问题排查和网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    
    
    <!--允许获取网络状态,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
    
    <!--允许获取wifi网络信息,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    
    <!--允许获取wifi状态改变,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    
    <!--允许写入扩展存储,用于数据缓存,若无此权限则写到私有目录-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    
    <!--允许写设备缓存,用于问题排查-->
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />  
    
    <!--允许读设备等信息,用于问题排查-->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    
    
    

    flutter集成高德、百度等时候会用到apikey,调试版和正式版的md5获取方式

    //调试
    keytool -list -v -keystore ~/.android/debug.keystore 
    密码默认:android 
    //正式
    keytool -v -list -keystore /Users/liusen/Desktop/farmland.jks
    
    

    flutter集成高德定位最大的坑

    图片.png

    解决方式:


    图片.png

    flutter集成高德地图debug正常release打开地图崩溃的解决方法。注意:开发过程中,当使用新的设备或变更到其他设备上开发,调试版安全码SHA1需要重新生成,不然就会报错。

    errorCode: 7, errorInfo: KEY错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:auth fail:INVALID_USER_SCODE#SHA1AndPackage#
    

    我是在.android/app/build.gradle下面做的改变,有的说是在.android/build.gradle.

    图片.png

    build.gradle文件添加

        buildTypes {
            release {
                minifyEnabled true
                consumerProguardFiles "proguard-rules.pro"
            }
    //        release {
    //            signingConfig signingConfigs.debug
    //            //关闭混淆, 否则在运行release包后可能出现运行崩溃, TODO后续进行混淆配置
    //            minifyEnabled false //删除无用代码
    //            shrinkResources false //删除无用资源
    //        }
        }
    

    新建proguard-rules.pro文件,内容为

    #Flutter Wrapper
    #-keep class io.flutter.app.** { *; }
    #-keep class io.flutter.plugin.**  { *; }
    #-keep class io.flutter.util.**  { *; }
    #-keep class io.flutter.view.**  { *; }
    #-keep class io.flutter.**  { *; }
    #-keep class io.flutter.plugins.**  { *; }
    #搜索
    #-keep   class com.amap.api.services.**{*;}
    #
    #2D地图
    #-keep class com.amap.api.maps2d.**{*;}
    #-keep class com.amap.api.mapcore2d.**{*;}
    #
    #导航
    #-keep class com.amap.api.navi.**{*;}
    #-keep class com.autonavi.**{*;}
    #3D 地图 V5.0.0之后:
    -keep   class com.amap.api.maps.**{*;}
    -keep   class com.autonavi.**{*;}
    -keep   class com.amap.api.trace.**{*;}
    
    #高德定位
    -keep class com.amap.api.location.**{*;}
    -keep class com.amap.api.fence.**{*;}
    -keep class com.autonavi.aps.amapapi.model.**{*;}
    
    -keep class com.loc.**{*;}
    

    相关文章

      网友评论

          本文标题:flutter集成高德地图

          本文链接:https://www.haomeiwen.com/subject/cqdvjrtx.html