您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页Android:使用百度地图SDK实现定位:下载SDK、申请密钥

Android:使用百度地图SDK实现定位:下载SDK、申请密钥

来源:伴沃教育

最近想实现一个打卡的功能,想到可以利用百度地图的SDK。网上有很多关于百度地图SDK定位、地图功能应用的demo,这部分倒不是很困难。但网上很多博客写的内容一般都着重于代码部分,很多下载配置和编译器设置的过程没有涉及,官方的文档也基本没有这类的介绍。这篇博文就主要记录一下遇到的非代码部分的坑,虽然大多数问题都被博学的网友解决了,但统一整理一下,可以让之后想简单使用百度SDK的朋友少花点时间。

下载SDK至libs

在百度地图SDK的网站上选择自己需要的功能下载。

下载SDK
然后照常放进libs中,并且添加依赖。
添加依赖
但这样编译运行后会跳出found libBaiduMapSDK_base_vx_x_x.so error的错误,我看了看.so文件都在libs里呀,那是为什么呢?
查阅后发现需要在app:build.gradle里添加这样几行。
sourceSets{
        main{
            jniLibs.srcDir 'libs'
            //说明so的路径为该libs路径,关联所有地图SDK的so文件
        }
    }

申请密钥

百度地图SDK为了防止被恶意攻击,需要开发者申请密钥使用。但好在申请过程很简单并且免费,同时可以申请多个。


申请密钥

申请密钥时需要提供SHA1和包名,SHA1是安全哈希算法,应用于数字签名。包名就是APP的包名,如果多个APP要使用,就需要申请多个密钥,但在同一台计算机上编译运行,SHA1似乎都是一样的。AndroidStudio可以通过如图的操作查看SHA1,很方便。

查看SHA1 查看SHA1

随后将获得的密钥填入AndroidManifest中。


填写配置

申请权限

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_PROFILE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

其中,

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务