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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_32377671/article/details/79663725

离线打包集成百度地图SDK



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

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

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

<!DOCTYPE html>
<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项目打包之前,先在HBuilder中配置下百度地图的Appkey,然后在打包。这里我只配置了Android的Appkey,ios那个空着也没事,别看文件报错在安卓手机上运行是没有影响的。配置manifest.json,像下图那样就完事了,然后就打包到Android中就不用管了,剩下的都是在AndroidStudio中配置了。
  这里写图片描述
  打包项目到Android中,运行Android项目,效果如下图所示:

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

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

下载5+SDK,解压后会出现这三个文件,如下图所示:
这里写图片描述

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

需要哪些jar包,我们需要打开Feature-Android.xls这个文件,来查看想要配置的插件所需要的jar包和配置,具体说明如下图所示:
这里写图片描述
这里写图片描述

导入所有所需的jar包后libs目录的结构图:
这里写图片描述

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要一致。

 <!-- 配置百度地图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本地打包笔记(一)
文件所在位置
这里写图片描述
这里写图片描述
  以上就是按照官网的配置导入的map模块,接下来运行项目。不用担心肯定会报错,因为少倒了一样东西就是.so文件。
这里写图片描述

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

这里写图片描述
  【懒人专用】↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

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

猜你喜欢

转载自blog.csdn.net/baidu_32377671/article/details/79663725