tip:最近接触到了一个安卓项目,需要编译通后修改百度地图的配置,本文仅记录使用过程的心得及注意事项,避免下次碰到同样的问题无从下手。

1.Android目录结构

    了解安卓的目录结构有利于更快的适应安卓的开发方式,AndroidManifest.xml中对安卓的权限进行配置,Java目录为代码编译区,drawable目录放置图片、layout目录为页面的布局,与Java代码中每个activity对应、values目录存常量、样式。gradle引入依赖。

Android studio kts 引入room android studio keymap_Android

2.百度地图秘钥申请

    要想使用百度地图的SDK包,创建工程时要先申请百度地图的应用,根据需要选择对应的应用名、类型、启用服务,包名为创建项目的包名(必须对应)。

Android studio kts 引入room android studio keymap_百度地图_02

    开发版SHA1的申请很简单,以Mac系统为例(Windows系统类似),进入.android目录后输入以下命令keytool -list -v -keystore debug.keystore,秘钥库口令默认为android。该步骤完成后得到如下图所示秘钥

Android studio kts 引入room android studio keymap_Android_03

    发布版SHA1的申请本篇以Android studio软件为例,其余方式自行百度,build/generate signed bundle/APK,进入页面后选择APK,点击创建(切记创建时保存的文件后缀名为jks),密码、别名自行填写即可。

Android studio kts 引入room android studio keymap_Android_04

Android studio kts 引入room android studio keymap_百度地图_05

Android studio kts 引入room android studio keymap_android_06

    本操作完成后用命令窗口打开刚才创建的文件所在目录,输入

keytool -list -v -keystore shuili.jks(shuili.jks为自行创建的文件),秘钥库口令为刚才设置的密码,全部填写完成后会得到该文件对应的秘钥。

Android studio kts 引入room android studio keymap_android_07

    将刚才申请的SHA1填入到百度地图的应用下即可完成申请,通过后会得到一个访问应用AK,作用稍后再说。

    3.APK编译打包

    最令人苦恼的就是工程的编译和打包了,苦苦奋战了很久才知道大概的流程(当然我第一次接触哈

Android studio kts 引入room android studio keymap_android_08

),编译的话还好,有编译器报错提示自动修改,使用Android Studio需要注意的是包放在lib目录下,并且要在gradle文件中添加这一行命令,编译的时候会创建jnLibs并解析。

android {    sourceSets {        main {            jniLibs.srcDir 'libs'            jni.srcDirs = []            }    }}

    APK打包时如果不选择刚才创建的jks文件作为秘钥的话,打包完成的APK即使能装到手机上,在地图页面也显示不出来,因为秘钥和应用AK对应不上,系统当然获取不到地图数据咯。

    4.百度地图配置

    本配置不想多哔哔,官网有现成的,根据自己的需求选择即可,需要注意的事,在地图服务和位置监听服务开启后,要在不适用时或activity销毁前关闭,没有的话结果懂得。

Android studio kts 引入room android studio keymap_百度地图_09

       我们下次见~