# BuildInfo 与数据库字段对应关系 ## 数据库表 `phone.build` 字段映射 ### ✅ 已完全实现的字段 | 数据库字段 | BuildInfo 属性 | Android API | 说明 | |-----------|---------------|-------------|------| | brand | `brand` | `Build.BRAND` | 品牌 | | model | `model` | `Build.MODEL` | 机型 | | product | `product` | `Build.PRODUCT` | 产品名称 (如 x1seea) | | sdkInt | `versionSdkInt` | `Build.VERSION.SDK_INT` | SDK 版本 | | androidVersion | `versionRelease` | `Build.VERSION.RELEASE` | Android 版本 | | buildId | `id` | `Build.ID` | 构建 ID (如 AP3A.240905.015.A2) | | bootloader | `bootloaderVersion` | `Build.BOOTLOADER` | Bootloader 版本 | | display | `display` | `Build.DISPLAY` | 显示 ID | | buildUser | `user` | `Build.USER` | 构建用户 | | incremental | `incremental` | `Build.VERSION.INCREMENTAL` | 增量版本 | | buildHost | `host` | `Build.HOST` | 构建主机 | | buildFingerprint | `fingerprint` | `Build.FINGERPRINT` | 构建指纹 | | kernelVersion | `kernelVersion` | `System.getProperty("os.version")` | 内核版本 | | securityPatch | `securityPatch` | `Build.VERSION.SECURITY_PATCH` | 安全补丁日期 | | releaseDate | `buildDate` | `Build.TIME` | 构建时间 | ### ✅ 新增的字段(三星设备特定) | 数据库字段 | BuildInfo 属性 | 系统属性 | 说明 | |-----------|---------------|---------|------| | rilProductCode | `rilProductCode` | `ro.ril.product_code` | RIL 产品代码 | | rilOfficialCscver | `rilOfficialCscver` | `ro.ril.official_cscver` | RIL 官方 CSC 版本 | | cscSalesCode | `cscSalesCode` | `ro.csc.sales_code` | CSC 销售代码 | | countryISO | `countryISO` | `ro.product.locale.region` | 国家/地区 ISO 代码 | ### 📝 需要在应用层处理的字段 | 数据库字段 | 说明 | 建议获取方式 | |-----------|------|-------------| | buildIdGD | 人工生成的构建 ID | 应用层生成 | | incrementalGD | 人工生成的增量版本 | 应用层生成 | | isManual | 是否人工录入 | 应用层标记 | | sourceId | 数据源 ID | 应用层管理 | | sourceTable | 数据源表 | 应用层管理 | | updatedOn | 更新时间 | 数据库自动生成 | | dataStatus | 数据状态 (1为准确可用) | 应用层管理 | --- ## 数据库表 `phone.hardware_new` 字段映射 ### ✅ 已完全实现的字段 | 数据库字段 | BuildInfo/其他模块 属性 | Android API | 说明 | |-----------|----------------------|-------------|------| | brand | `brand` | `Build.BRAND` | 品牌 | | model | `model` | `Build.MODEL` | 设备型号 | | device | `device` | `Build.DEVICE` | 设备代号 | | board | `board` | `Build.BOARD` | 主板名称 | | manufacturer | `manufacturer` | `Build.MANUFACTURER` | 制造商 | | hardware | `hardware` | `Build.HARDWARE` | 硬件标识 | | formFactor | `formFactor` | 复合判断 | 设备类型 (Phone/Tablet) | | linuxArchitecture | `kernelArchitecture` | `System.getProperty("os.arch")` | Linux 架构 | ### ⚠️ 部分实现或需要其他模块的字段 | 数据库字段 | 对应模块 | 说明 | |-----------|---------|------| | marketingName | ❌ 未实现 | 需要从设备数据库或 API 获取 | | shortName | ❌ 未实现 | 需要从 marketingName 处理生成 | | systemonChip | ⚠️ CpuInfo | 需要从 CPU 信息推导 SoC 名称 | | screenSize | ⚠️ DisplayInfo | 屏幕尺寸(英寸) | | screenSizecm | ⚠️ DisplayInfo | 屏幕尺寸(平方厘米) | | maxWidthPixels | ⚠️ DisplayInfo | 最大宽度像素 | | maxHeightPixels | ⚠️ DisplayInfo | 最大高度像素 | | dpi | ⚠️ DisplayInfo | 物理 DPI | | maxRefreshRate | ⚠️ DisplayInfo | 最大刷新率 | | ramType | ⚠️ MemInfo | RAM 类型 (LPDDR5 等) | | totalMemoryGB | ⚠️ DeviceInfo/MemInfo | 总内存 | | totalStorageGB | ⚠️ StorageInfo | 总存储空间 | | supportEsim | ⚠️ NetworkInfo | 是否支持 eSIM | | simSlotCount | ⚠️ NetworkInfo | SIM 卡槽数量 | | batteryDesignCapacity | ⚠️ BatteryInfo | 电池设计容量 | | batteryWirelessSupported | ⚠️ BatteryInfo | 是否支持无线充电 | | cellularGen | ⚠️ NetworkInfo | 最大网络类型 (3G/4G/5G) | | maxWifiVersion | ⚠️ NetworkInfo | 最大 Wi-Fi 版本 | | bluetoothVersion | ⚠️ BluetoothInfo | 蓝牙版本 | | hasNFC | ⚠️ 未实现 | 是否支持 NFC | ### 📝 需要外部数据或人工处理的字段 | 数据库字段 | 说明 | 建议获取方式 | |-----------|------|-------------| | boardGD | 人工生成的主板名称 | 应用层生成 | | hardwareGD | 人工生成的硬件标识 | 应用层生成 | | isFold | 是否折叠机 | 需要外部数据库或规则判断 | | releasedDate | 产品发布时间 | 需要外部数据库 | | weight | 设备重量 | 需要外部数据库 | | releasedAndroidVersion | 发布时 Android 版本 | 需要外部数据库 | | supportAndroidMaxVersion | 最大支持 Android 版本 | 需要外部数据库 | | price | 价格(美元) | 需要外部数据库 | | sourceId | 数据源 ID | 应用层管理 | | updatedOn | 更新时间 | 数据库自动生成 | --- ## 📋 BuildInfo.kt 已实现的完整字段列表 ### 基本构建信息 - ✅ `fingerprint` - 构建指纹 - ✅ `brand` - 品牌 - ✅ `model` - 机型 - ✅ `product` - 产品名称 - ✅ `device` - 设备代号 - ✅ `board` - 主板名称 - ✅ `manufacturer` - 制造商 - ✅ `hardware` - 硬件标识 - ✅ `tags` - 构建标签 - ✅ `type` - 构建类型 - ✅ `buildDate` - 构建日期 - ✅ `host` - 构建主机 - ✅ `user` - 构建用户 - ✅ `id` - 构建 ID - ✅ `display` - 显示 ID ### Android 版本信息 - ✅ `versionRelease` - Android 版本号 - ✅ `versionCodename` - 版本代号 - ✅ `versionSdkInt` - SDK 版本 - ✅ `versionPreviewSdkInt` - 预览版 SDK - ✅ `securityPatch` - 安全补丁级别 - ✅ `baseOs` - 基础操作系统 - ✅ `incremental` - 增量版本 - ✅ `releaseOrCodename` - 版本号或代号 - ✅ `mediaPerformanceClass` - 媒体性能等级 - ✅ `releaseOrPreviewDisplay` - 版本显示字符串 ### RIL 和 CSC 信息(三星设备) - ✅ `rilProductCode` - RIL 产品代码 - ✅ `rilOfficialCscver` - RIL 官方 CSC 版本 - ✅ `cscSalesCode` - CSC 销售代码 - ✅ `countryISO` - 国家/地区 ISO 代码 ### 设备类型 - ✅ `formFactor` - 设备类型 (Phone/Tablet) - ✅ `isTablet` - 是否为平板 - ✅ `isPhone` - 是否为手机 ### JVM 信息 - ✅ `jvmName` - JVM 名称 - ✅ `jvmVendor` - JVM 供应商 - ✅ `jvmVersion` - JVM 版本 - ✅ `jvmClassVersion` - Java 类版本 - ✅ `jvmSpecificationName` - Java 规范名称 - ✅ `jvmSpecificationVendor` - Java 规范供应商 - ✅ `jvmSpecificationVersion` - Java 规范版本 ### 安全与内核信息 - ✅ `vendorSecurityPatchLevel` - 厂商安全补丁 - ✅ `kernelVersion` - 内核版本号 - ✅ `kernelCompleteVersion` - 完整内核版本 - ✅ `kernelArchitecture` - 内核架构 - ✅ `kernelName` - 内核名称 - ✅ `kernelCommandLine` - 内核命令行 - ✅ `bootloaderVersion` - Bootloader 版本 - ✅ `radioVersion` - 基带版本 - ✅ `procCpuInfo` - CPU 信息 - ✅ `procMemInfo` - 内存信息 ### 分区信息 - ✅ `fingerprintedPartitions` - 指纹分区列表 ### Treble 和系统更新 - ✅ `isTrebleEnabled` - Treble 支持 - ✅ `trebleVersion` - Treble 版本 - ✅ `isSeamlessUpdateSupported` - 无缝更新支持 - ✅ `currentSlot` - 当前活动插槽 - ✅ `isVirtualABEnabled` - 虚拟 A/B 支持 ### Root 和安全 - ✅ `isRooted` - Root 状态 - ✅ `seLinuxStatus` - SELinux 状态 - ✅ `isDmVerityEnabled` - dm-verity 状态 ### Google Play 服务 - ✅ `googlePlayServicesVersion` - Play 服务版本 - ✅ `googlePlayServicesVersionCode` - Play 服务版本代码 - ✅ `googlePlayStoreVersion` - Play 商店版本 - ✅ `googleServicesFrameworkVersion` - GSF 版本 ### 系统工具 - ✅ `toyboxVersion` - Toybox 版本 - ✅ `toolboxVersion` - Toolbox 版本 - ✅ `busyboxVersion` - BusyBox 版本 ### SSL/TLS - ✅ `openSslVersion` - OpenSSL 版本 - ✅ `boringSslVersion` - BoringSSL 版本 - ✅ `tlsVersion` - TLS 版本 ### 语言和时区 - ✅ `systemLanguage` - 系统语言 - ✅ `languageCode` - 语言代码 - ✅ `country` - 国家/地区 - ✅ `countryCode` - 国家/地区代码 - ✅ `timeZone` - 系统时区 - ✅ `timeZoneDisplayName` - 时区显示名称 - ✅ `timeZoneOffset` - UTC 偏移 ### 开发者选项 - ✅ `isUsbDebuggingEnabled` - USB 调试 - ✅ `isDevelopmentSettingsEnabled` - 开发者选项 - ✅ `isUnknownSourcesEnabled` - 未知来源安装 ### 设备标识符 - ✅ `androidId` - Android ID - ✅ `serialNumber` - 序列号 - ✅ `deviceUniqueId` - 设备唯一 ID --- ## 🔍 缺失字段总结 ### phone.build 表 **完全实现**: ✅ 15/15 个核心字段 **新增三星专用字段**: ✅ 4/4 个 **需应用层处理**: 7 个(buildIdGD, incrementalGD, isManual 等) ### phone.hardware_new 表 **完全实现**: ✅ 8/8 个基本字段 **需其他模块**: ⚠️ 16 个(DisplayInfo, NetworkInfo, BatteryInfo 等) **需外部数据**: ❌ 10 个(marketingName, releasedDate, price 等) --- ## 📊 使用示例 ### 获取 build 表所需数据 ```kotlin val buildInfo = AndInfo.instance.build val buildData = mapOf( "brand" to buildInfo.brand, "model" to buildInfo.model, "product" to buildInfo.product, "sdkInt" to buildInfo.versionSdkInt, "androidVersion" to buildInfo.versionRelease, "buildId" to buildInfo.id, "bootloader" to buildInfo.bootloaderVersion, "display" to buildInfo.display, "buildUser" to buildInfo.user, "incremental" to buildInfo.incremental, "buildHost" to buildInfo.host, "buildFingerprint" to buildInfo.fingerprint, "rilProductCode" to buildInfo.rilProductCode, "rilOfficialCscver" to buildInfo.rilOfficialCscver, "cscSalesCode" to buildInfo.cscSalesCode, "countryISO" to buildInfo.countryISO, "kernelVersion" to buildInfo.kernelVersion, "securityPatch" to buildInfo.securityPatch, "releaseDate" to buildInfo.buildDate ) ``` ### 获取 hardware_new 表基本字段 ```kotlin val buildInfo = AndInfo.instance.build val hardwareData = mapOf( "brand" to buildInfo.brand, "model" to buildInfo.model, "formFactor" to buildInfo.formFactor, "device" to buildInfo.device, "board" to buildInfo.board, "manufacturer" to buildInfo.manufacturer, "hardware" to buildInfo.hardware, "linuxArchitecture" to buildInfo.kernelArchitecture ) ``` --- ## ✅ 总结 ### BuildInfo.kt 已实现 - ✅ **phone.build 表**: 15/15 核心字段 + 4 个三星专用字段 - ✅ **phone.hardware_new 表**: 8/8 基本字段 - ✅ **额外功能**: 60+ 个系统信息属性 ### 需要其他模块支持 - DisplayInfo: 屏幕相关字段 - NetworkInfo: 网络和 SIM 卡相关字段 - BatteryInfo: 电池相关字段 - StorageInfo: 存储相关字段 - BluetoothInfo: 蓝牙相关字段 - MemInfo: 内存类型相关字段 ### 需要外部数据源 - marketingName(市场名称) - releasedDate(发布日期) - price(价格) - weight(重量) - 等规格参数需要从产品数据库获取 --- **最后更新**: 2025年12月24日 **BuildInfo.kt 版本**: 完整版