docs: map existing codebase
This commit is contained in:
109
.planning/codebase/STACK.md
Normal file
109
.planning/codebase/STACK.md
Normal 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 SDK(compileSdk 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*
|
||||
Reference in New Issue
Block a user