资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

Android-服务端接入指南

1. 文档说明

文档名称 人脸实名认证APP方案 6.4版本集成文档
所属平台 Android
提交日期 2025-04-27

2. 版本说明

名称 版本号
名镜方案 6.4.3
系统支持 android 5.1+
架构支持 CPU架构平台,armeabi-v7a、arm64-v8a

3. SDK说明

文件名称 版本号 说明
lib-logic.aar 1.0.3 名镜SDK,业务逻辑封装
faceplatform-ui.aar 6.4 人脸SDK的UI层,封装采集和活体UI等功能,以及各平台so库
lib-liantian.aar 3.8.0.2 安全SDK
ocr_ui.aar 1.3.0 百度OCR身份识别库

4. Demo运行

4.1 配置包名和签名

从百度云控制台下载Demo之后,需要在build.gradle中配置好包名和签名信息。

安卓4.1.png

4.2 修改accessToken

以下两处修改为AI开放平台AK、SK获取到的access_token,正式环境需要APP服务端通过AK、SK来获取access_token,移动端测试可以链接拼接AK、SK的方式来获取access_token。【此处需要注意】 access_token存在有效期,正式环境需要APP服务端通过AK、SK来获取access_token,此处只测试使用。https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【百度云应用的AK】&client_secret=【百度云应用的SK】)。

测试实名认证,请将获取到的access_token填在如下地方:

安卓4.21.png

测试在线活体,请将获取到的access_token填在如下地方: 安卓4.22.png

5. SDK集成

首先在app工程中增加lib-liantian.aar、faceplatform-ui.aar、lib-logic.aar、ocr-ui.aar。此处需要注意,如果需要使用OCR身份证识别能力,则需要增加此ocr-ui-release.aar,如果不使用则不需要增加。在app工程的build.gradle中添加相关依赖,然后点击运行。

安卓5.png

6. 授权文件、加密文件

请将百度云控制台创建应用时获取的人脸授权文件(idl-license.face-android)、加密文件(idl-key.face-android)放置于Assets目录下。如果使用OCR身份证识别功能,请将OCR身份证识别授权文件(aip.license)也放置于Assets目录下,如下图所示。

安卓6.png

7. 人脸相关接口


7.1 初始化接口

初始化接口调用

返回值 API 描述
void init(Context context, String licenseKey, String licenseName,FaceInitCallback FaceInitCallback) 人脸初始化接口

入参说明

参数 类型 说明
context Context 上下文
licenseKey String 授权Key
licenseName String 授权文件名称

onCallback回调说明

参数 类型 含义
resultCode int 错误码 1000为成功,其他为失败,详情参考resultCode错误码说明
resultMsg String 详情见resultCode错误码说明

resultCode错误码说明

resultCode resultMsg 自查方案
1001 License未初始化 请按照集成文档说明完成SDK初始化
1002 License数据解密失败 请检查License文件是否正确
1003 Licesen数据格式错误 请检查license文件内容有被修改过
1004 License-Key校验错误 请检查工程代码初始化参数中的licenseId,和申请license文件的licenseId是否匹配
1005 算法ID校验错误 请提交工单或者线下联系百度产研人员
1006 MD5校验错误 请检查工程所使用的签名文件,和申请license文件的签名信息是否匹配
1007 设备ID校验错误 采集SDK的授权模式不会出现这个错误码
1008 包名(应用名校验错误) 请检查工程代码中的applicationId(包名)和申请license文件的applicationId(包名)是否匹配
1009 过期时间不正确 请提交工单或者线下联系百度产研人员
1010 功能未授权 请查看授权文件中是否缺少必要的采集SDK功能声明(funclist参数),例如炫瞳活体
1011 授权已过期 请查看当前设备时间是否已不在授权文件有效期内
1012 本地文件读取失败 请检查授权文件名称以及路径
1013 远程数据拉取失败 本地鉴权失败之后,会远程拉取授权文件;若远程鉴权依然失败,可以关闭网络后重试
1014 本地时间校验错误 请检查当前设备时间是否早于实际时间
2001 非法的参数 请提交工单或者线下联系百度产研人员
2002 内存分配失败 请提交工单或者线下联系百度产研人员
2003 实例对象为空 请提交工单或者线下联系百度产研人员
2004 模型内容为空 请提交工单或者线下联系百度产研人员
2005 不支持的能力类型 请提交工单或者线下联系百度产研人员
2006 不支持的预测库类型 请提交工单或者线下联系百度产研人员
2007 预测库对象创建失 请提交工单或者线下联系百度产研人员
2009 预测库对象初始化失败 请提交工单或者线下联系百度产研人员
2010 人脸能力初始化失败 请按照集成文档说明正常完成SDK初始化
2011 能力未加载 请确认当前人脸相关资源库是否完整引用
2012 人脸能力已加载 底层已做过滤,无需关注
2013 未授权 检查授权文件是否按照集成文档正常使用
2014 人脸能力运行异常 请提交工单或者线下联系百度产研人员
2015 不支持的图像类型 请提交工单或者线下联系百度产研人员
2016 图像转换失败 检查摄像头分辨率,格式要求 %2==0

7.2 人脸信息加密采集接口

包含本地质量和本地活体,本地质量可以确保采集到的人脸图像符合各条件校验(满足姿态角、光照、模糊度、遮挡等校验),本地活体分静默活体、炫瞳活体、动作活体三种。

  • 此处最终采集到的数据经过加密处理,需要配合服务端的 人脸实名认证V4人脸对比V4在线图片活体V4 来使用。分别用来实现「权威数据源身份信息核验」、「本地图片无源比对」以及「仅活体检测」,适用于不同的业务场景需要。
  • sKey、xDeviceId、data 为此接口的成功回调结果信息,作为上述3个服务端接口重要字段入参
返回值 API 描述
void startFaceCollect(Context context, FaceServiceCallbck FaceServiceCallbck) 人脸采集接口

onCallback回调说明

参数 类型 含义
resultCode int 错误码 0为成功,其他为失败,详情参考实名认证resultCode错误码说明
resultMap HashMap 回调结果Map 详情见下表

resultMap key值列表说明:

Key值 类型 含义
resultMsg String 详情见resultCode错误码说明
sKey String 安全相关:sKey
xDeviceId String 安全相关:xDeviceId
data String 安全相关数据

7.3 人脸释放接口

人脸释放接口调用,实现对采集功能、模型的释放,减小内存。

返回值 API 描述
void release() 人脸释放接口

8. OCR身份证识别相关接口

8.1 OCR身份证识别初始化接口

返回值 API 描述
void initAccessToken(OnResultListener listener, Context context) OCR初始化接口

入参说明

参数 类型 含义
context Context 上下文

onError回调参数说明:

参数 类型 含义
errorCode int 服务端返回错误码,详情见鉴权机制接口:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
errorMessage String 服务端返回错误信息,详情见鉴权机制接口:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu

8.2 OCR身份证识别接口

支持对二代居民身份证字段进行结构化识别,包括姓名、性别,调用参考OCR身份证识别接口文档。

返回值 API 描述
void startOcrRecognize(Context context, OcrConfig ocrConfig, OcrRecognizeCallback ocrRecognizeCallback) OCR识别接口

入参说明

参数 类型 含义
context Context 上下文
ocrConfig OcrConfig OCR配置类

OcrConfig配置字段说明

参数 类型 含义
ocrPageNavigationColor int OCR页面导航栏背景色,默认为白色
ocrPageTitleText String OCR标题内容,默认为"身份信息采集"
ocrPageTitleColor int OCR标题颜色,默认为黑色
ocrPageTopText String OCR顶部扫描文字,默认为"请将您本人的\n身份证人像面放入框内"
ocrPageTopTextColor int OCR 顶部扫描文字颜色,默认为白色

onError回调参数说明

参数 类型 含义
errorCode int 错误码 服务端返回错误码,详情见在线身份证识别接口:https://ai.baidu.com/ai-doc/OCR/rk3h7xzck
errorMessage String 回调结果Map 服务端返回错误信息,详情见在线身份证识别接口:https://ai.baidu.com/ai-doc/OCR/rk3h7xzck

9. 代码混淆

-dontwarn com.baidu.idl.**
-keep class com.baidu.idl.** { *; }
-dontwarn com.baidu.vis.**
-keep class com.baidu.vis.** { *; }
-dontwarn com.baidu.liantian.**
-keep class com.baidu.liantian.** { *; }
-dontwarn com.baidu.protect.**
-keep class com.baidu.protect.** { *; }
-dontwarn com.baidu.ocr.**
-keep class com.baidu.ocr.** { *; }

10. 权限

名称 说明 必选
需要动态申请的权限
android.permission.CAMERA 拍照权限
android.permission.RECORD_AUDIO 录音权限(录制视频)
android.permission.READ_EXTERNAL_STORAGE 读取手机外部存储权限(安全相关、OCR相关)
android.permission.READ_EXTERNAL_STORAGE 写入手机外部存储权限(安全相关、OCR相关)
不需要动态申请的权限
android.permission.INTERNET 允许访问网络
android.permission.ACCESS_NETWORK_STATE 获取网络状态权限
android.permission.READ_PHONE_STATE 允许访问电话状态权限
android.hardware.camera.autofocus 允许相机对焦(OCR相关)
android.permission.ACCESS_WIFI_STATE 获取wifi权限
android.permission.WAKE_LOCK 屏幕常亮权限

11. 不使用OCR,只使用人脸相关能力

不使用OCR,可以删除ocr-ui.aar、aip.license,以及OCR相关代码。 OCR初始化代码如下图所示:

安卓11.1.png

OCR调用代码如下图所示:

安卓11.2.png

设置页面,关闭OCR运行Demo即可。

安卓11.3.png

上一篇
服务端接入-方案简介
下一篇
iOS-服务端接入指南