Android Studio百度地图SKD应用

用了许久的eclipse,最近改换android studio。在app中使用百度地图SDK应用时候,按教程遇到了一些问题。然后各种百度,发现大家记录的不全,所以在此记录一下完整的使用过程。要使用百度地图SDK,首先得成为百度开发者这就不详细介绍,打开http://developer.baidu.com/user/reg注册就好。

以下是具体步骤:

(1)现在你已经是一名百度开发者,要想在自己的程序里加入百度地图的功能,首先得申请一个APIKey,访问http://lbsyun.baidu.com/apiconsole/key这个地址,然后同意百度开发者协议,会看到如下图界面。


(2)点击创建应用,选择应用类型Android SDK,输入应用名称,随你喜欢。主要是安全码的获取(图中的详细配置是eclipse的安全码获取)。Android studio的安全码获取请看(3)。

(3)Android studio获取安全码

1>点击build->generate signed apk,如下图所示

   

2>点击next,进入下图所示的页面,这是我自己已经创建过KeyStore.jks签名

3>点击Create new按钮,如果你之前没有Key文件的话,然后,会出现如下图所示的界面,然后按照自己的需要填写完毕,点击OK按钮,然后往下做就可以创建一个。和eclipse的签名一样,填写完整。

4>接下来,可以使用keytool这个工具来获得我们这个签名文件的SHA1值,命令如下图所示。在Android Studio下的Terminal中,输入keytool -list -v -keystore D:/SoftWare/AndroidStudioProjects/KeyStore.jks,最后一个参数为数字签名所在目录。输入口令后,显示如下。

往下拉就看到我们需要的,SHA1:7C:65:06:30:16:CD:02:9A:6A:A4:FA:7D:03:56:4E:B5:41:7E:1B:28,这是我的指纹,大家肯定和我的不一样。

5>包名很好找,在Android项目的AndroidManifest.xml文件中manifest标签中即可找到。

5>最后,只要把这个SHA1的值和包名用分号“;”拼起来,填入安全码即可。然后,你在百度开放平台的API终端上,就可以看到如下所示的AK了,如下图所示,它在Android项目的配置文件中,是需要使用的。


(4)在http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download地址下载Android版SDK。往往Android Studio用户在导入SDK的时候会产生如下图错误。解决方法如下

1>引用jar文件
    -1.将jar文件复制、粘贴到app的libs目录中;
  -2.右键点击jar文件,并点击弹出菜单中的“Add As Library”,将jar文件作为类库添加到项目中;
    -3.选择指定的类库。
    注:如果不执行2、3步,jar文件将不起作用,并且不能使用import语句引用。

2> 引用so文件
    网上有很多引用so文件的方法,多数都很麻烦,在KYLE THIELK的博客中找到了一种简单的方法。
    1.在“src/main”目录中新建名为“jniLibs”的目录;
    2.将so文件复制、粘贴到“jniLibs”目录内。
    注:如果没有引用so文件,可能会在程序执行的时候加载类库失败,有类似如下的DEBUG提示:java.lang. UnsatisfiedLinkError: Couldn't load library xxxx from loader dalvik.system.PathClassLoader

(5)添加权限

<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="android.permission.INTERNET"/>
    <uses-permission android:name="android.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.ACCESS_FINE_LOCATION"/>


(6)接下来,就是怎样让Android在调试的时候自动使用签名。

1>首先,需要编辑应用所在Module的build.gradle文件,在android下添加如下的内容,每一项的内容与刚才创建签名文件时的填写的内容对应。这样在调试的时候,Android Studio就会将签名文件添加到apk中了。

2>继续修改AndroidManifest.xml文件,在<application>标签中添加如下代码:

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

<meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="MqVkcil9sgs7KuHmXgEvFHRE" />

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

其中,com.baidu.lbsapi.API_KEY这个值是固定的,而MqVkcil9sgs7KuHmXgEvFHRE这个值就是我们之前申请到的API Key 了(就是AK)。到此我们的百度地图SDK就应该能使用了。

PS:如有问题,请指正。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值