开发工具
Android开发工具很多,在这我们推荐各位开发者使用Eclipse和Android Studio作为自己的开发工具。本节将介绍鹰眼 Android SDK的工程配置方法。
导入库文件
1下载库文件
参见相关下载
2导入库文件
解压lib压缩文件,将各架构的SO文件置于APP对应架构下的文件夹中(建议全部放入以提高程序兼容性),将jar文件拷贝到工程的libs目录下。若使用鹰眼的图像存储功能,需导入bos-android-sdk-1.0.2.jar
3配置so文件
在build.gradle中配置SO文件的使用,如下所示:(仅使用Android Studio开发工具的需要此步操作)
sourceSets { main { jniLibs.srcDir 'libs' } }
注意:鹰眼SDK的jar包和SO文件版本号保持一致,如jar包名称是BaiduTraceSDK_v3_0_1.jar,则SO文件名称是libBaiduTraceSDK_red|v3_0_1.so, 因此,如果更新了jar包,则需要一并更新SO文件。
如果开发的是系统应用,除了需要在工程中配置SO文件,还需要手动把对应架构的SO文件拷贝到/system/lib下。如果是64位系统,则需要将64位的SO文件拷贝到/sytem/lib64下。
设置AndroidManifest.xml
1声明service组件
在Application标签中声明service组件,每个APP拥有自己独立的鹰眼追踪service
<service android:name="com.baidu.trace.LBSTraceService" android:enabled="true" android:process=":remote"> </service>
2声明使用权限
<!-- 以下是鹰眼SDK基础权限 --> <!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <!-- 这个权限用于访问卫星系统接口提供的卫星定位信息--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <!-- 写入扩展存储,向扩展卡写入数据,用于写入对象存储BOS数据--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <!-- Android O之后开启前台服务需要申请该权限 --> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- Android Q之后,后台定位需要申请该权限 --> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- 以下不是鹰眼SDK需要的基础权限,可选 --> <!-- 用于加快首次卫星定位,可选权限,非必须--> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission> <!-- 用于Android M及以上系统,申请加入忽略电池优化白名单,可选权限,非必须--> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"></uses-permission>
设置AccessKey
在Mainfest.xml正确设置AccessKey(AK),如果设置错误将会导致鹰眼服务无法正常使用。需在Application标签中加入以下代码,并填入开发者自己的 Android 类型 AK。AK申请方法参见申请密钥。
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="AK" /> //key:开发者申请的Key
import 相关类
import com.baidu.trace.Trace; import com.baidu.trace.LBSTraceClient; import com.baidu.trace.model.OnCustomAttributeListener; import com.baidu.trace.model.OnTraceListener; import com.baidu.trace.api.track.OnTrackListener; import com.baidu.trace.api.fence.OnFenceListener; import com.baidu.trace.api.entity.OnEntityListener; import com.baidu.trace.api.analysis.OnAnalysisListener; import com.baidu.trace.api.bos.OnBosListener;