Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)

离线打包集成百度地图SDK


  • 官方文档【Android离线打包地图插件配置】
  • HBuilder中地图的配置和百度地图AppKey的申请说明

  这里我将百度地位和百度地图需要的SDK都集成到Android原生项目中。这一章只是让地图能正常的显示出来,定位这里将会在下一章的动态权限请求中用到。这一章只要地图能正常显示就集成成功了,Andorid原生项目集成5+SDK运行Mui的项目请参考Mui本地打包笔记(一)

原生未集成百度地图插件时的效果

  这里先用HBuilder创建一个项目,然后在主页上加载地图。设置的代码如下:


<html>

	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title>title>
		<script src="js/mui.min.js">script>
		<link href="css/mui.min.css" rel="stylesheet" />
		<style type="text/css">
			#map {
				width: 100%;
				position: fixed;
				height: 100%;
			}
		style>

	head>

	<body>
		<div id="map">div>
		<script type="text/javascript" charset="utf-8">
			mui.init();
			mui.plusReady(function() {
				new plus.maps.Map("map");
			});
		script>
	body>

html>

  使用HBuilder运行项目,效果如下图所示:
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第1张图片

再将Mui项目打包之前,先在HBuilder中配置下百度地图的Appkey,然后在打包。这里我只配置了Android的Appkey,ios那个空着也没事,别看文件报错在安卓手机上运行是没有影响的。配置manifest.json,像下图那样就完事了,然后就打包到Android中就不用管了,剩下的都是在AndroidStudio中配置了。
  Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第2张图片
  打包项目到Android中,运行Android项目,效果如下图所示:
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第3张图片

集成需要的SDK并配置对应的配置文件

1.导入百度地图和百度定位需要的SDK

  下载5+SDK,解压后会出现这三个文件,如下图所示:
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第4张图片

文件 功能
HBuilder-Integrate-AS AndroidStuido官方示例
SDK 资源文件包括一些第三方Jar
Feature-Android.xls 配置插件的说明文档

  需要哪些jar包,我们需要打开Feature-Android.xls这个文件,来查看想要配置的插件所需要的jar包和配置,具体说明如下图所示:
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第5张图片
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第6张图片

  导入所有所需的jar包后libs目录的结构图:
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第7张图片

2.配置AndroidManifest.xml和dcloud_properties.xml配置文件

  在AndroidManifest.xml配置权限、百度地图的appkey和百度地位服务:


<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

  ※百度地图AppKey需要与mui项目中配置AppKey要一致。

 
 <meta-data
     android:name="com.baidu.lbsapi.API_KEY"
     android:value="IsD3GegmOpA6fzIRibKZIR4s6OgozmnU" />
 
 <service
     android:name="com.baidu.location.f"
     android:enabled="true"
     android:process=":remote" />

  在dcloud_properties.xml中配置要导入的模块(对此处不理解可参考Mui本地打包笔记(一))
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第8张图片
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第9张图片
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第10张图片
  以上就是按照官网的配置导入的map模块,接下来运行项目。不用担心肯定会报错,因为少倒了一样东西就是.so文件。
Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第11张图片

3.修改app目录下的build.gradle文件

Mui本地打包笔记(二)集成第三方SDK(以百度地图为例)_第12张图片
  【懒人专用】↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

  这样再运行项目,地图就能显示了,这里就不贴效果图了!效果与用HBuilder运行的效果是一样的。在下一章中将会动态申请权限,然后获取定位的地理位置信息。Mui本地打包笔记(三)Android动态申请权限的问题(以获取地理位置信息为例)

你可能感兴趣的:(mui混合开发)