第12行: | 第12行: | ||
下图为Android定位SDK文件结构示意图: | 下图为Android定位SDK文件结构示意图: | ||
− | http://mapopen-pub-androidsdk. | + | http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas1.png |
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例: | 下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例: | ||
− | http://mapopen-pub-androidsdk. | + | http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas2.png |
'''注意:''' | '''注意:''' | ||
第26行: | 第26行: | ||
<div class="devguidecenter">如下图所示,配置build.gradle文件,注意设置sourceSets。 | <div class="devguidecenter">如下图所示,配置build.gradle文件,注意设置sourceSets。 | ||
− | http://mapopen-pub-androidsdk. | + | http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas3.png</div> |
<div class="devguideorder"><span>4</span>第四步,添加AK</div> | <div class="devguideorder"><span>4</span>第四步,添加AK</div> | ||
<div class="devguidecenter">Android定位SDK自v4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。 | <div class="devguidecenter">Android定位SDK自v4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。 | ||
第40行: | 第40行: | ||
如下图所示: | 如下图所示: | ||
− | http://mapopen-pub-androidsdk. | + | http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas4.png</div> |
<div class="devguideorder"><span>5</span>第五步,添加定位权限</div> | <div class="devguideorder"><span>5</span>第五步,添加定位权限</div> | ||
<div class="devguidecenter">使用定位SDK,需在Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下: | <div class="devguidecenter">使用定位SDK,需在Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下: |
2017年12月13日 (三) 18:31的版本
1第一步,打开/创建一个Android工程
根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。
这里以新建一个Android工程为例讲解。
2第二步,添加SDK(jar + so)
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。
注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。
下图为Android定位SDK文件结构示意图:
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例:
注意:
1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。
2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。3第三步,配置build.gradle文件
如下图所示,配置build.gradle文件,注意设置sourceSets。
4第四步,添加AK
Android定位SDK自v4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。
在Application标签中增加如下代码:
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者申请的AK" > </meta-data>
如下图所示:
5第五步,添加定位权限
使用定位SDK,需在Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下:
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
除添加service组件外,使用定位SDK还需添加如下权限:
<!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <!-- 这个权限用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <!-- 用于读取手机当前的状态--> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET" /> <!-- SD卡读取权限,用户写入离线定位数据--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>