因为SHA1
的问题折腾了两三天, 最后看这位阿婆主(为中华之崛起而敲代码)的视频才解决问题, 在这里记录一下, 阿婆主贼有意思哈哈哈哈, 讲的也很细
首先第一步, 注册账号, 成为开发者
第二步, 下载提供的SDK Demo
第三步, 复制 基础定位功能 代码
可以看开头那位阿婆主的分析视频, 这里直接复制
- 先复制
libs
目录下的文件
将demo中libs
目录下的文件复制到自己项目的libs
目录下.
- 修改自己项目的app层级下的
build.gradle
文件, 修改的内容如下
android {// 在此层级下添加sourceSets
//...
sourceSets {// 新增部分
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {// 将libs下的BaiduLBS_Android.jar添加到依赖中
// ...
//... 新增内容
implementation files('libs\\BaiduLBS_Android.jar')
}
第三步, 复制权限
将系统所需要的权限拷贝到 AndroidManifest.xml
文件中
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 允许挂载和反挂载文件系统可移动存储 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 允许程序读取底层系统日志文件 -->
<uses-permission android:name="android.permission.READ_LOGS" />
<!-- 允许访问振动设备 -->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- 允许程序读取或写入系统设置 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- android 9.0上使用前台服务,需要添加权限 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 读取缓存数据 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 获取模拟定位信息 -->
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
先写这些吧, 复制粘贴好累…
Demo地址 效果图如下