第5行: | 第5行: | ||
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。 | 根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。 | ||
− | + | ||
</div> | </div> | ||
<div class="devguideorder service-page-anchor"><span>2</span>添加SDK(jar + so)</div> | <div class="devguideorder service-page-anchor"><span>2</span>添加SDK(jar + so)</div> | ||
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。 | 下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。 | ||
− | + | ||
<span style="color:#F39700;">注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。</span> | <span style="color:#F39700;">注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。</span> | ||
− | + | ||
下图为Android定位SDK文件结构示意图: | 下图为Android定位SDK文件结构示意图: | ||
− | + | ||
https://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildeclipse1.png | https://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildeclipse1.png | ||
− | + | ||
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例: | 下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例: | ||
− | + | ||
https://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildeclipse2.png | https://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildeclipse2.png | ||
− | + | ||
<span style="color:#F39700;">'''注意:'''</span> | <span style="color:#F39700;">'''注意:'''</span> | ||
− | + | ||
<span style="color:#F39700;">1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。</span> | <span style="color:#F39700;">1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。</span> | ||
− | + | ||
<span style="color:#F39700;">2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。</span></div> | <span style="color:#F39700;">2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。</span></div> | ||
<div class="devguideorder service-page-anchor"><span>3</span>添加AK</div> | <div class="devguideorder service-page-anchor"><span>3</span>添加AK</div> | ||
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
Android定位SDK自V4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。 | Android定位SDK自V4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。 | ||
− | + | ||
[http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/create-project/key AK如何获取?] | [http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/create-project/key AK如何获取?] | ||
− | + | ||
在Application标签中增加如下代码: | 在Application标签中增加如下代码: | ||
<div class="the-prettyprint01"> | <div class="the-prettyprint01"> | ||
− | + | <div class="copy-btn" data-title="复制" data-clipboard-action="copy" data-clipboard-target="#code_dd01">https://mapopen-website-wiki.cdn.bcebos.com/wiki/android-loc-sdk/copy.png</div> | |
− | + | <pre class="prettyprint codestyle" id="code_dd01"> | |
− | + | <meta-data | |
− | + | android:name="com.baidu.lbsapi.API_KEY" | |
− | + | android:value="AK" > | |
− | + | </meta-data> | |
− | + | </pre> | |
</div> | </div> | ||
− | + | <div >LocationClient.setKey(xxxxxx);<br/> | |
+ | 可在使用该接口与AndroidManifest.xml中配置AK值两种方法中任选一样进行设置。</div> | ||
</div> | </div> | ||
<div class="devguideorder service-page-anchor"><span>4</span>添加定位权限</div> | <div class="devguideorder service-page-anchor"><span>4</span>添加定位权限</div> | ||
第50行: | 第51行: | ||
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service> | <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service> | ||
</pre> | </pre> | ||
− | + | ||
除添加service组件外,使用定位SDK还需添加如下权限: | 除添加service组件外,使用定位SDK还需添加如下权限: | ||
<div class="the-prettyprint01"> | <div class="the-prettyprint01"> |
2022年8月5日 (五) 13:51的版本
1打开/创建一个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添加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>
LocationClient.setKey(xxxxxx);
可在使用该接口与AndroidManifest.xml中配置AK值两种方法中任选一样进行设置。
可在使用该接口与AndroidManifest.xml中配置AK值两种方法中任选一样进行设置。
4添加定位权限
使用定位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.WRITE_EXTERNAL_STORAGE"></uses-permission> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET"></uses-permission>