0
点赞
收藏
分享

微信扫一扫

Android Studio集成百度地图SDK


1、建议先阅读百度地图官方的继承指南,针对了Eclipse和Android Studio。

百度官方集成指南

2、下载百度地图SDK

Android SDK v4.1.1

下载有两种:

1、一键下载(下载所有百度地图SDK功能)

2、自定义下载(结合自身需求、自定义选择业务功能,打包下载所选功能开发包)

Android Studio集成百度地图SDK_移动开发

下载完成之后会得到这样的文件

Android Studio集成百度地图SDK_百度地图_02

  • BaiduLAB_Android.jar 文件就是包含了你需要的所有功能的jar包
  • arm64-v8a 等文件夹里就是针对不同手机CPU架构的so文件,里面的文件后面会用到

3、集成到AS

设置AS工程目录

  • 1、在app文件夹下的新建libs文件夹(默认应该有),将BaiduLAB_Android.jar文件拷入
  • 2、在src文件夹下的的main文件夹下新建jniLibs文件夹,将以下这些文件夹拷入
经过上面步骤,应该就能看到上图的Project视图结构

设置gradle

  • 在File菜单里选择Project Structure选项(项目结构),进入项目结构设置
  • Android Studio集成百度地图SDK_移动开发_03

  • BaiduLAB_Android.jar作为File dependency导入
  • Android Studio集成百度地图SDK_java_04

  • 经过这样操作之后,你的app目录下的build.gradle文件里的dependence就会增加这个依赖
  • 在你的app目录下的build.gradle文件里新增ndk字段ndk { //选择要添加的对应cpu类型的.so库。 abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', 'x86', 'x86_64', 'mips', 'mips64'}

5、配置manifest文件

Android Studio集成百度地图SDK_百度地图_05

权限配置

 

<!-- OpenGLES 2.0 -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
    <!--****************一般权限,6.0以上系统不需要额外申请******************-->
    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- 访问网络,网络定位需要上网 -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!--********************特殊权限,6.0以上系统需要动态申请*******************-->
    <!-- 这个权限用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <!-- 这个权限用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <!-- 用于读取手机当前的状态 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- SD卡读取权限,用户写入离线定位数据-->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!--地图所需权限-->
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>

 参考官方配置

 

6、修改混淆文件(如果你打开了代码混淆)

Android Studio集成百度地图SDK_java_06

这样就成功将百度地图SDK集成到项目中了

7、要想使用百度地图的服务还需要最后一步,申请百度地图AppKey

  • 申请步骤请参考官方指南(需要登录百度账号)
  • 申请过程需要SHA1码和md5码。这里给出网友的教程
    [android studio 中获得发布版 SHA1 和开发版 SHA1

8、具体显示地图和定位等请参考官方指南hello baiduMap

先初始化:

DemoApplication.java

public class DemoApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        // 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
        SDKInitializer.initialize(this);
    }

}

 

<application
        android:name=".DemoApplication"
        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="开发者 key"/>

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

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

 

 

举报

相关推荐

0 条评论