Google Exposure Notifications Internals 项目教程
1. 项目目录结构及介绍
exposure-notifications-internals/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── com/
│ │ │ │ │ ├── google/
│ │ │ │ │ │ ├── samples/
│ │ │ │ │ │ │ ├── exposurenotification/
│ │ │ │ │ │ │ │ ├── ble/
│ │ │ │ │ │ │ │ ├── data/
│ │ │ │ │ │ │ │ ├── matching/
│ │ │ │ │ │ │ │ ├── ...
├── gradle/
│ ├── wrapper/
├── images/
├── third_party/
├── .gitignore
├── BUILD.md
├── CONTRIBUTING.md
├── CRYPTO.md
├── LICENSE
├── README.md
├── build.gradle
├── en-risks-and-mitigations-faq.md
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
目录结构介绍
- app/: 包含项目的核心代码,主要分为以下几个子目录:
- ble/: 处理蓝牙低功耗(BLE)相关的代码。
- data/: 处理数据生成和管理的代码。
- matching/: 处理密钥匹配的代码。
- gradle/: 包含Gradle构建工具的配置文件。
- images/: 存放项目相关的图片资源。
- third_party/: 存放第三方库或依赖。
- .gitignore: Git忽略文件配置。
- BUILD.md: 构建项目的说明文档。
- CONTRIBUTING.md: 贡献指南。
- CRYPTO.md: 加密相关的说明文档。
- LICENSE: 项目许可证。
- README.md: 项目介绍和使用说明。
- build.gradle: 项目的Gradle构建配置文件。
- en-risks-and-mitigations-faq.md: 风险和缓解措施的FAQ文档。
- gradle.properties: Gradle属性配置文件。
- gradlew: Gradle包装器脚本。
- gradlew.bat: Gradle包装器脚本的Windows批处理版本。
- settings.gradle: Gradle设置文件。
2. 项目启动文件介绍
项目的启动文件主要位于 app/src/main/java/com/google/samples/exposurenotification/
目录下。以下是一些关键的启动文件:
- BleAdvertiser.java: 处理BLE广告的启动和管理。
- RollingProximityIdManager.java: 管理滚动接近标识符(RPI)的生成和使用。
- TemporaryExposureKeyGenerator.java: 生成临时暴露密钥(TEK)。
- MatchingJni.java: 处理密钥匹配的JNI接口。
这些文件是项目启动和运行的核心组件,负责处理蓝牙通信、密钥生成和匹配等关键功能。
3. 项目配置文件介绍
项目的配置文件主要位于项目根目录和 gradle/
目录下。以下是一些关键的配置文件:
- build.gradle: 项目的Gradle构建配置文件,定义了项目的依赖、插件和其他构建相关的配置。
- gradle.properties: Gradle属性配置文件,定义了项目的环境变量和属性。
- settings.gradle: Gradle设置文件,定义了项目的模块和依赖关系。
这些配置文件是项目构建和运行的重要组成部分,确保项目能够正确编译和运行。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考