配置工程

开发工具

Android开发工具很多,在这我们推荐各位开发者使用Eclipse和Android Studio作为自己的开发工具。本节将介绍鹰眼 Android SDK的工程配置方法。

导入库文件

1、下载库文件,参见相关下载


2、解压lib压缩文件,将各架构的SO文件置于APP对应架构下的文件夹中(建议全部放入以提高程序兼容性),将JAR文件拷贝到工程的libs目录下。若使用鹰眼的图像存储功能,需导入bos-android-sdk-1.0.2.jar


3、在build.gradle中配置SO文件的使用,如下所示:(仅使用Android Studio开发工具的需要此步操作)

sourceSets {
    main {
        jniLibs.srcDir 'libs'
    }
}

注意:鹰眼SDK的JAR包和SO文件版本号保持一致,如JAR包名称是BaiduTraceSDK_v3_0_1.jar,则SO文件名称是libBaiduTraceSDK_v3_0_1.so, 因此,如果更新了JAR包,则需要一并更新SO文件。


如果开发的是系统应用,除了需要在工程中配置SO文件,还需要手动把对应架构的SO文件拷贝到/system/lib下。如果是64位系统,则需要将64位的SO文件拷贝到/sytem/lib64下。

设置AndroidManifest.xml

1、在Application标签中声明SERVICE组件,每个APP拥有自己独立的鹰眼追踪service

<service 
          android:name="com.baidu.trace.LBSTraceService" 
          android:enabled="true"
          android:process=":remote"> 
</service>


2、声明使用权限:

<!-- 这个权限用于进行网络定位--> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
<!-- 这个权限用于访问GPS定位--> 
<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>
 <!-- 用于读取手机当前的状态--> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> 
<!-- 写入扩展存储,向扩展卡写入数据,用于写入对象存储BOS数据--> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
 <!-- 访问网络,网络定位需要上网-->
 <uses-permission android:name="android.permission.INTERNET" /> 
<!-- SD卡读取权限,用于写入对象存储BOS数据-->
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<!-- 用于加快GPS首次定位-->
<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;