# 实人认证-活体检测-人脸核身 android-demo **Repository Path**: eshunda/android-demo ## Basic Information - **Project Name**: 实人认证-活体检测-人脸核身 android-demo - **Description**: 实人认证-活体检测-人脸核身 android demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-29 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 易顺达 Android 活体检测 SDK 易顺达活体检测 SDK 是一个功能强大的 Android 活体检测解决方案,支持多种检测类型。 **开发环境**: Android Studio **最低支持版本**: Android 5.0 (API 21) **目标版本**: Android 13 (API 33) --- ## 目录 - [章节一:使用 Demo](#模块一使用-demo) - [章节二:集成到自己的项目](#模块二集成到自己的项目) - [API 文档](#api-文档) --- ## 使用 Demo 本节介绍如何运行本示例项目。 ### 1.1 环境要求 - Android Studio Arctic Fox 或更高版本 - JDK 8 或更高版本 - Android SDK API 21+ (Android 5.0+) - Gradle 7.0+ ### 1.2 快速开始 1. **克隆项目** ```bash git clone git@gitee.com:eshunda/android-demo.git cd android_demo ``` 2. **配置 SDK** - 从 [Releases](../../releases) 下载最新版本的 SDK (`.aar` 文件) - 将 `.aar` 文件放入 `app/libs/` 目录 - 确保 `build.gradle` 中已正确配置依赖 3. **打开项目** - 使用 Android Studio 打开项目 - 等待 Gradle 同步完成 4. **运行应用** - 连接 Android 设备或启动模拟器 - 点击运行按钮 (Run 'app') --- ## 集成到自己的项目 本节介绍如何将易顺达活体检测 SDK 集成到您自己的 Android 项目中。 ### 2.1 准备工作 从 [Releases](../../releases) 下载最新版本的 SDK: - `eshunda-ldt-release_x.x.x.aar` ### 2.2 添加 SDK 到项目 #### 步骤 1: 放置 AAR 文件 将下载的 `.aar` 文件复制到您项目的 `app/libs/` 目录下: ``` your-project/ ├── app/ │ ├── libs/ │ │ └── eshunda-ldt-release_1.0.0.aar ← 放在这里 │ └── build.gradle ``` #### 步骤 2: 配置 build.gradle 在 `app/build.gradle` 中添加依赖: ```gradle dependencies { // 易顺达活体检测 SDK implementation files('libs/eshunda-ldt-release_1.0.0.aar') // 必需的依赖库 implementation 'com.alibaba:fastjson:1.2.83' implementation 'androidx.appcompat:appcompat:1.6.1' } ``` 如果您的项目根目录 `build.gradle` 中还没有配置仓库,请添加: ```gradle allprojects { repositories { google() mavenCentral() } } ``` ### 2.3 配置权限 #### 步骤 3: 添加权限声明 在您项目的 `AndroidManifest.xml` 文件中添加以下权限配置: ```xml ... ``` **权限说明:** | 权限 | 用途 | 是否必需 | |------|------|---------| | `CAMERA` | 访问摄像头进行活体检测 | 必需 | | `INTERNET` | 网络请求,获取检测 Token | 必需 | | `RECORD_AUDIO` | 录制音频(部分检测功能需要) | 可选 | | `WRITE_EXTERNAL_STORAGE` | 保存检测视频录像 | 可选 | | `SYSTEM_ALERT_WINDOW` | 系统弹窗提示 | 可选 | ### 2.4 初始化 SDK 在 Application 或 Activity 中初始化 SDK: ```java import com.eshunda.ldt.SdkManager; public class YourActivity extends AppCompatActivity { private SdkManager sdkManager; private static final String CAMERA_ID = "1"; // 1=前置摄像头, 0=后置摄像头 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化 SDK(建议在 Application 中调用) SdkManager.Init(); SdkManager.cameraID = CAMERA_ID; // 创建 SDK 管理器实例 sdkManager = new SdkManager(this); } } ``` ### 2.5 使用 SDK 进行活体检测 #### 完整的检测流程 ```java import com.eshunda.ldt.bean.DetectResult; import com.eshunda.ldt.bean.InitConfig; import com.eshunda.ldt.biz.DetectCallback; // 1. 配置检测类型 int livingType = 12; // 示例:远近检测(1) + 眨眼检测(2) = 12 // 2. 初始化检测配置 InitConfig config = new InitConfig(livingType); DetectResult initResult = sdkManager.authInit(config); if (initResult != null && initResult.getData() != null) { // 3. 调用后端服务获取 Token(需要您自己实现) String token = getTokenFromYourBackend(initResult.getData()); // 4. 开始活体检测 sdkManager.startLivingDetect(token, new DetectCallback() { @Override public void onFinish(final DetectResult result) { // 5. 处理检测结果 if (result != null) { // 检测完成,处理结果 handleDetectionResult(result); } } }); } ``` --- ## API 文档 ### 检测类型编码 | 检测类型 | 类型编码 | 说明 | |---------|---------|------| | 远近检测 | 1 | 检测用户靠近或远离摄像头的动作 | | 眨眼检测 | 2 | 检测用户眨眼的动作 | | 摇头检测 | 3 | 检测用户左右摇头的动作 | | 点头检测 | 4 | 检测用户上下点头的动作 | | 张嘴检测 | 5 | 检测用户张嘴的动作 | | 炫彩活体 | 6 | 基于光线变化的弱光活体检测 | ### 检测类型组合规则 多个检测类型组合时,按照 `类型1 * 10 + 类型2 * 10 + ...` 的方式计算: **示例:** - 单个检测:`livingType = 1` (仅远近检测) - 两个检测:`livingType = 12` (远近 + 眨眼) - 三个检测:`livingType = 123` (远近 + 眨眼 + 摇头) - 四个检测:`livingType = 1234` (远近 + 眨眼 + 摇头 + 点头) **注意:** 最多支持选择 4 个检测类型。 ### 核心类说明 #### SdkManager SDK 管理器,负责 SDK 初始化和活体检测。 **静态方法:** ```java // 初始化 SDK(建议在 Application 中调用) SdkManager.Init(); // 设置摄像头 ID(1=前置,0=后置) SdkManager.cameraID = "1"; // 是否开启视频录制 SdkManager.s_isOpenVideoRecorder = true; ``` **实例方法:** ```java // 认证初始化 DetectResult authInit(InitConfig config); // 开始活体检测 void startLivingDetect(String token, DetectCallback callback); ``` #### InitConfig 检测初始化配置类。 ```java // 构造函数 InitConfig(int livingType); ``` #### DetectResult 检测结果类。 ```java // 获取检测数据 Object getData(); ``` #### DetectCallback 检测回调接口。 ```java public interface DetectCallback { void onFinish(DetectResult result); } ``` ### 常见问题 **Q: 如何选择摄像头?** A: 通过 `SdkManager.cameraID` 设置,`"1"` 为前置摄像头,`"0"` 为后置摄像头。 **Q: 如何获取 Token?** A: Token 需要通过您的后端服务调用易顺达服务端 API 获取,具体请参考服务端 API 文档。 **Q: 支持哪些 Android 版本?** A: 最低支持 Android 5.0 (API 21),建议 Android 6.0 (API 23) 及以上。 --- ### 技术支持 如有问题,请通过以下方式联系: - 提交 Issue - 访问官网:[www.eshunda.com](https://www.eshunda.com) --- **版权所有 © 易顺达科技**