docs: map existing codebase

This commit is contained in:
2026-03-30 15:21:07 +08:00
commit 3c2bb02e33
7 changed files with 1320 additions and 0 deletions

109
.planning/codebase/STACK.md Normal file
View File

@@ -0,0 +1,109 @@
# Technology Stack
**Analysis Date:** 2026-03-30
## Languages
**Primary:**
- Dart 3.9.0+ - Flutter 插件层代码(`lib/*.dart`
- Java 11 - Android 原生实现(`android/src/main/java/**/*.java`
**Secondary:**
- Kotlin - 未使用(纯 Java 实现)
- C/C++ (Native) - 虹软 SDK native 库(`libarcsoft_face.so`, `libarcsoft_face_engine.so`, `libarcsoft_image_util.so`
## Runtime
**Environment:**
- Flutter SDK 3.18.0+ (stable channel)
- Dart SDK 3.9.0+ (<4.0.0)
- Android SDK compileSdk 36, minSdk 24
**Package Manager:**
- pub (Flutter/Dart 包管理器)
- Gradle 8.9.1 (Android 构建)
- Lockfile: `pubspec.lock` (present), `pubspec.yaml` (present)
## Frameworks
**Core:**
- Flutter SDK - 跨平台移动应用框架
- Flutter Plugin Architecture - 平台通道通信机制
**Testing:**
- flutter_test - Flutter 单元测试框架
- flutter_lints 5.0.0 - Dart/Flutter 代码规范检查
- JUnit 4.13.2 - Java 单元测试
- Mockito 5.0.0 - Java mock 测试框架
**Build/Dev:**
- Gradle 8.9.1 - Android 构建系统
- Android Gradle Plugin 8.9.1 - Android 构建插件
- Flutter CLI - Flutter 命令行工具
## Key Dependencies
**Critical:**
- `plugin_platform_interface` 2.0.2 - Flutter 插件平台接口抽象层
- `arcsoft_face.jar` - 虹软人脸识别核心 SDK
- `arcsoft_image_util.jar` - 虹软图像处理工具库
- `libarcsoft_face.so` (~87MB) - 虹软人脸识别 native 库arm64-v8a
- `libarcsoft_face_engine.so` (~1.3MB) - 虹软人脸引擎 native 库
- `libarcsoft_image_util.so` (~80KB) - 虹软图像处理 native 库
**Infrastructure (Example App):**
- `camera` 0.11.1 - 摄像头访问插件(用于实时人脸检测)
- `cupertino_icons` 1.0.8 - iOS 风格图标
## Configuration
**Environment:**
- Dart SDK 版本约束: `^3.9.0``pubspec.yaml`
- Flutter SDK 版本约束: `>=3.3.0``pubspec.yaml`
- Java 版本: 11`android/build.gradle`
- Pub 仓库源: `https://pub.flutter-io.cn`(中国镜像)
**Build:**
- `pubspec.yaml` - Dart/Flutter 包配置
- `pubspec.lock` - 依赖锁定文件
- `analysis_options.yaml` - Dart 代码分析配置(继承 flutter_lints
- `android/build.gradle` - Android 构建配置
- `android/settings.gradle` - Android 项目设置
## Platform Requirements
**Development:**
- Flutter SDK 3.18.0+ 安装
- Dart SDK 3.9.0+ 安装
- Android Studio / Android SDKcompileSdk 36
- JDK 11
**Production:**
- Android 设备API 24+,即 Android 7.0+
- ARM64-v8a 或 armeabi-v7a 架构支持
- 摄像头权限(用于人脸检测)
- 虹软 SDK 有效激活AppId、SdkKey、ActiveKey
## Architecture Support
**Native Libraries:**
- `arm64-v8a` - 64位 ARM 设备(主流现代设备)
- `armeabi-v7a` - 32位 ARM 设备(兼容旧设备)
**SDK 功能掩码常量:**
```java
ASF_FACE_DETECT = 0x00000001 // 人脸检测
ASF_FACE_RECOGNITION = 0x00000004 // 人脸特征
ASF_AGE = 0x00000008 // 年龄检测
ASF_GENDER = 0x00000010 // 性别检测
ASF_LIVENESS = 0x00000080 // RGB 活体检测
ASF_IMAGEQUALITY = 0x00000200 // 图像质量检测
ASF_MASK_DETECT = 0x00001000 // 口罩检测
ASF_UPDATE_FACEDATA = 0x00002000 // 人脸信息更新
```
**默认功能掩码:** 0x85 = 人脸检测 + 人脸特征 + RGB活体检测
---
*Stack analysis: 2026-03-30*