离线打包集成百度地图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动态申请权限的问题(以获取地理位置信息为例)