ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI 智能眼镜 · Android 系统定制全栈知识点

AI 智能眼镜 · Android 系统定制全栈知识点 零、知识点与解读总览需要掌握的知识解读并与后文各章节对应。知识点 1 · 全栈框架开发Framework HALAI 智能眼镜、Android 一体机定制系统主导 Launcher/SystemUI、Camera 底层架构与 AR 适配、双平台 OTA、性能与稳定性需掌握的知识解读AOSP 分层、SystemServer 启动链、AMS/WMS/PMS、Binder/SELinux制定眼镜/一体机双产品软件架构统一 Framework 底座 product 差异化配置HAL3HIDL/AIDL、Vendor 分区、device/vendor 目录结构Camera/Display/Sensor/Power HAL 适配评审与芯片厂 BSP 联调验收ARSLAM、6DoF、Sensor Fusion、Render PipelineCamera IMU 时间戳对齐AR 引擎与 Display/SurfaceFlinger 联调性能方法论启动/内存/CPU/功耗稳定性Watchdog/LMK建立 KPIBoot、Launcher 冷启、Camera 首帧、OTA 成功率版本发布门禁→ 详见 第一章、第五章、第六章知识点 2 · Launcher 定制与业务模块桌面动态看板、应用管理、功能交互Camera/音视频/蓝牙/Wi-Fi P2P 等业务开发需掌握的知识解读Launcher3 架构、RecyclerView/ViewPager2、AppWidget、IconCache定制 Home/Launcher APK动态看板卡片、通知/天气/快捷入口PMS 解析、预装/隐藏应用、系统签名权限应用列表、最近使用、卸载策略与 OTA 预装包清单对齐镜腿触控/语音/Head Tracking、SystemUI Insets非触屏交互映射焦点导航与 IMS/WMS 定制输入设备AudioTrack/AudioFocus、BT GATT/A2DP、WifiP2pManagerLauncher 内集成相机快捷入口、语音助手、BT 连接状态、P2P 传图传视频→ 详见 第二章、第五章知识点 3 · Camera 应用层 Framework/HALCamera2/CameraHAL预览、拍照、录像AI 视觉算法上层对接速度与性能优化需掌握的知识解读Camera2 API、CaptureSession/Request、多路 Surface开发/定制 Camera AppPreview/Still/Record 模式切换HAL3 configure_streams、3A、Vendor Tag、BufferQueue与 Vendor 调 HAL 首帧、帧率、ZSL、EIS解决黑屏/卡顿ImageReader、YUV 格式、NPU/NNAPI/TFLiteAI 算法取帧 pipeline人脸/物体/AR 识别结果 Overlay强光/弱光 AE 收敛、多帧 HDR、内存与 Pipeline Depth户外拍照、录像稳定性调优Buffer 及时 release→ 详见 第三章知识点 4 · OTA 架构与疑难问题攻坚升级包制作、全量/增量策略、A/B 切换、升级 UI、异常回滚Launcher 卡顿、Camera 黑屏、OTA 失败需掌握的知识解读target_files、ota_from_target_files、payload.bin、imgdiff搭建 CI 出包维护基线版本矩阵眼镜/一体机双产品线 OTA 包update_engine、bootctrl、Virtual AB、Recovery设备端 OTA ClientAB 切换与回滚验证非 AB 机型 Recovery 路径升级 UI、电量/Wi-Fi/存储前置条件下载/安装进度、用户确认、Scheduled Update、断点续传ANR/trace、meminfo、media.camera、update_engine.log主导 Launcher ANR、Camera 死锁、OTA 断连/刷写失败根因分析与修复→ 详见 第四章、第六章、第七章Framework 层 vs HAL 层 · 工作边界层次典型修改路径解读示例Frameworkframeworks/base、packages/apps/Launcher3、SystemUI改 AMS 启动策略、WMS 窗口类型、CameraService 策略、定制系统 APINativeframeworks/native、cameraserver、SurfaceFlingerBuffer 流转、显示合成、Camera 客户端调度HALhardware/interfaces、vendor/*/halCamera HAL3 实现、Sensor/Display/Power HAL、bootctrl HALKernel / BSPkernel/、device/DTSV4L2/ISP 驱动、显示时序、中断与 DMA一、系统全栈框架与核心服务1.1 概览AI 智能眼镜、Android 一体机定制系统全栈框架开发覆盖Framework 层与HAL 层架构设计与落地双平台眼镜 一体机系统统一与差异化适配AR 能力适配、系统性能与稳定性整体负责1.2 Android 系统分层架构应用层Launcher / Camera App / 定制 APK→ Framework 层AMS / WMS / PMS / CameraService→ Native 层SurfaceFlinger / mediaserver / cameraserver→ HAL 层Camera HAL / Audio HAL / BT HAL→ Kernel 驱动 → 硬件SoC / Sensor / 显示屏 / 摄像头1.3 核心系统服务必精服务全称知识点定制关注点AMSActivityManagerServiceActivity 生命周期、Task 栈、进程调度与查杀Launcher 启动流程、后台策略、多窗口WMSWindowManagerService窗口管理、层级Z-Order、Insets、旋转SystemUI 布局、悬浮窗、AR OverlayPMSPackageManagerService应用安装/卸载、权限、组件解析预装应用、系统签名、OTA 后包校验—PowerManagerServiceWakeLock、Doze、屏幕亮灭眼镜低功耗策略、Always-On DisplayIMSInputManagerService触摸/按键/手势输入分发镜腿触控、语音唤醒、Head Tracking1.4 编程语言要求Java / KotlinLauncher、SystemUI、Camera App 应用层开发Framework 部分 Java 服务扩展AOSP 定制Kotlin 协程用于异步 UI 与 Camera 流水线C / CNative 层SurfaceFlinger、Camera HAL、OTA update_engine性能敏感路径图像 buffer 零拷贝、JNI 桥接HAL 接口实现与 Vendor 定制1.5 定制系统开发范围Framework 定制修改 AOSP 源码扩展系统 API、调整默认行为HAL 定制Camera HAL3、Sensor HAL、Display HAL 适配硬件双平台同一 codebase 分支管理眼镜与一体机差异化配置overlay / product flavorAR 适配ARCore / 自研 SLAM 与 Camera、Display、Sensor 联动1.6 解读内容Framework HAL 全栈工作项交付物 / 动作双平台架构设计眼镜/一体机共用 Framework 基线device/vendor/下独立 product.mk、overlaySystemServer / 核心服务定制扩展 AMS/WMS/PMS 策略后台限制、默认 Home、权限白名单系统 API 扩展定制 SystemApi / 隐藏 API供 Launcher、Camera、OTA Client 调用Camera 底层架构CameraService 策略、并发占用规则、与 AR 引擎共享 Camera 的方案设计HAL 联调与验收Camera HAL3 / Display HAL / Sensor HAL 接口对齐Vendor Tag 文档化AR 能力适配IMU Camera 时间同步Display 坐标系低延迟 Render 到光波导 Surface性能与稳定性基线Bootchart/Perfetto 基线报告LMK 白名单Watchdog 与崩溃上报链路双平台 OTA 协同统一 OTA 协议与 payload 格式分 product 的 partition 表与版本号策略分层架构与各层名词层次关键组件说明Native 层SurfaceFlingerAndroid 显示合成服务将所有 Layer 合成最终画面输出到 DisplayLauncher/Camera 预览/AR Overlay 都通过 Surface 提交给 SurfaceFlingerNative 层mediaserver / cameraserver媒体与相机 Native 守护进程Camera HAL 之上、Framework 之下的桥梁HAL 层Hardware Abstraction Layer硬件抽象层Vendor 实现标准接口HIDL/AIDL屏蔽芯片差异Framework 通过 HAL 调用硬件能力Kernel驱动V4L2Camera、DRM/KMSDisplay、I2C/SPISensor等内核驱动直接操作硬件寄存器核心系统服务详解服务关键概念说明AMSTask / ActivityRecord / ProcessRecordTask 是用户任务的逻辑容器如 Launcher TaskActivityRecord 记录每个 Activity 实例状态ProcessRecord 管理进程 oom_adj 优先级WMSZ-Order / Insets / WindowTokenZ-Order 决定窗口叠放顺序Insets 是系统 UI状态栏/导航栏占用的区域AR Overlay 需定制 Window 类型和层级PMSPackageParser / Signature解析 APK 包结构系统签名应用拥有特殊权限如 INSTALL_PACKAGES、WRITE_SECURE_SETTINGSPowerManagerServiceWakeLock / DozeWakeLock 阻止 CPU/屏幕休眠Doze 是 Android 6 深度休眠模式限制后台网络/Alarm眼镜需精细管理 WakeLock 避免耗电IMSInputReader / InputDispatcherInputReader 从驱动读原始事件InputDispatcher 分发给目标 Window镜腿触控需定制 InputDevice 映射定制开发术语术语说明overlay / product flavoroverlay 是资源覆盖机制不修改源码只替换 res/ 资源product flavor 是 Gradle 多渠道构建同一 codebase 编译眼镜/一体机不同配置ARCoreGoogle AR 平台 SDK提供运动追踪、环境理解、光照估计需 Camera IMU 专用算法SLAMSimultaneous Localization and Mapping同步定位与建图通过 Camera 视觉 IMU 推断设备 6DoF 位姿并构建环境地图零拷贝 / JNI图像数据不经过 Java 堆拷贝Surface → Native Buffer 直接传递JNI 是 Java 与 C/C 互调桥梁二、Launcher / SystemUI 定制2.1 Launcher 工作机制开机 → SystemServer 启动 → ActivityManager 启动 Home Intent → Launcher Activity 加载 → Workspace桌面页→ 绑定 AppWidget / 快捷方式 → 响应用户交互核心 UI 组件组件用途眼镜场景RecyclerView应用列表、All Apps 抽屉的高性能滚动列表精简应用列表、语音/手势选择ViewPager2/ PageView多页桌面左右滑动切换动态看板多页信息展示AppWidget桌面小部件RemoteViews 跨进程更新天气、通知、快捷控制卡片DragLayer图标拖拽、文件夹合并的浮层可能简化为固定布局Hotseat底部常驻快捷应用栏Camera、设置、语音助手固定入口2.2 智能眼镜 Launcher 定制功能桌面动态看板时间、天气、通知、健康数据实时刷新RemoteViews / LiveData / Flow 驱动 UI 更新低功耗刷新策略避免频繁唤醒应用管理预装/卸载/隐藏系统应用应用分类、搜索、最近使用与 PMS 交互获取 ResolveInfo功能交互镜腿触控板手势滑动/点击/长按语音指令唤起应用Head Tracking 焦点导航2.3 SystemUI 定制状态栏电池、连接状态、通知图标眼镜可能极简或取消导航栏虚拟按键 / 手势导航一体机保留眼镜可能无导航栏通知面板NotificationListenerService、Heads-Up 通知锁屏Keyguard、快速启动 CameraSystemUI 插件机制Overlay 资源替换、RRORuntime Resource Overlay2.4 Launcher 性能优化要点冷启动优化延迟加载非首屏、异步 inflate、Splash Screen API滑动流畅RecyclerView prefetch、ItemAnimator 优化、避免主线程 IO内存图标缓存IconCache、Bitmap 复用、Low Memory Killer 友好绑定 Widget 超时AppWidgetHost 异步绑定避免 ANR2.5 解读内容Launcher / SystemUI模块解读桌面动态看板多页 ViewPager2/卡片布局RemoteViews/LiveData 刷新时间、天气、通知、设备状态应用管理All Apps 列表RecyclerView预装/隐藏/卸载ResolveInfo 过滤非眼镜适用 App功能交互镜腿触控手势映射语音唤起Head Tracking 焦点高亮与确认SystemUI 定制极简状态栏/通知/KeyguardRRO 换肤快速启动 Camera 快捷键Camera 入口Hotseat 固定相机双击镜腿/语音 Intent 启动与 Camera App 生命周期协调音视频语音助手 AudioRecord提示音 AudioTrackAudioFocus 与系统策略蓝牙BLE 连接手机伴侣 App经典 BT 音频路由状态展示Gatt 消息/通知转发Wi-Fi P2P大文件照片/视频P2P 传输GO/Client 角色与 STA 共存策略性能优化冷启 2s 目标Systrace 查 JankWidget 绑定异步化防 ANRLauncher 核心组件详解组件说明SystemServerAndroid 系统核心进程启动并注册 AMS/WMS/PMS 等所有系统服务开机后第一个 Java 进程Home Intentandroid.intent.action.MAINandroid.intent.category.HOMEAMS 启动默认 Launcher 的入口WorkspaceLauncher 桌面区域包含多个桌面页CellLayout每个页有网格布局的图标和 WidgetRecyclerViewAndroid 高性能列表控件ViewHolder 复用机制避免频繁 inflateAll Apps 列表核心组件ViewPager2基于 RecyclerView 的翻页控件左右滑动切换桌面页比旧 ViewPager 性能更好AppWidget桌面小部件App 在 Launcher 上嵌入的远程 UI通过 RemoteViews跨进程 View 描述更新由 AppWidgetHost 渲染RemoteViewsParcelable 的 View 操作序列SystemUI/Launcher 进程按描述渲染 Widget UIApp 进程不能直接操作DragLayerLauncher3 源码中的最顶层 ViewGroup处理图标拖拽、文件夹创建等浮层交互HotseatLauncher 底部固定栏通常 4~5 个常驻应用快捷方式不随桌面页切换IconCacheLauncher 图标缓存避免每次加载都解析 APK 获取图标key 为 ComponentName UserHandleResolveInfoPMS 解析 Intent 后返回的匹配组件信息Launcher 用它构建应用列表SystemUI 定制术语术语说明Heads-Up 通知高优先级通知以悬浮条形式出现在屏幕顶部不打开通知面板即可查看Keyguard锁屏模块管理锁屏 UI、密码/指纹验证、快速启动相机双击电源键RRORuntime Resource Overlay运行时资源覆盖无需修改 SystemUI APK 即可替换图标/布局/颜色NotificationListenerService系统级通知监听服务Launcher 看板可注册此服务获取通知内容展示Head Tracking头部追踪通过 IMU/摄像头追踪头部转动用于 AR 眼镜焦点导航看哪里选哪里Splash Screen APIAndroid 12 启动画面 APIApp 启动时显示统一过渡动画减少白屏/黑屏感知三、Camera 架构与开发调优3.1 Android Camera 整体架构Camera AppCamera2 API→ CameraManager → CameraServiceFramework→ cameraserverNative→ Camera HAL3Vendor→ ISP / Sensor 驱动 → 摄像头硬件3.2 Camera2 API 核心概念概念说明CameraManager枚举摄像头、打开/关闭相机设备CameraDevice相机设备句柄创建 CaptureSessionCameraCaptureSession配置输入/输出 Surface提交 CaptureRequestCaptureRequest单帧采集参数曝光、对焦、白平衡、FPSImageReader接收 YUV/JPEG 帧用于拍照或算法输入Surface预览TextureView/SurfaceView或编码器输入3.3 HAL3 架构Camera Module静态信息CameraCharacteristics、摄像头数量与能力Camera Deviceconfigure_streams、process_capture_request、process_capture_resultStream Configuration输出格式YUV / JPEG / IMPLEMENTATION_DEFINED、分辨率、Usage3A 算法AF对焦、AE曝光、AWB白平衡可在 HAL 或 ISP 固件中实现Vendor Tag厂商扩展参数通过CameraCharacteristics查询3.4 Preview / Session 参数配置预览Preview选择合适的 Preview Size接近屏幕比例TEMPLATE_PREVIEW模板SurfaceTexture → OpenGL 渲染 / 直接 SurfaceView目标首帧时间 500ms稳定 30/60fps拍照CaptureTEMPLATE_STILL_CAPTURE高分辨率 JPEGZSLZero Shutter Lag预拍缓冲HDR / 夜景多帧合成录像RecordingTEMPLATE_RECORDMediaRecorder / MediaCodec Surface视频 StabilizationEIS/OIS音视频同步、码率控制多路输出同时 Preview ImageReader Video EncoderShared Session / 多 Session 并行AI 算法取 YUV 帧做推理3.5 AI 视觉算法上层对接从ImageReader获取 YUV/NV21 帧 → 送入 NPU/GPU 推理引擎SNPE / NNAPI / TFLite推理结果 Overlay 到预览人脸框、物体识别、AR 锚点Buffer 管理Image 及时close()避免 BufferQueue 阻塞导致预览卡顿帧率控制算法处理慢时跳帧或降低推理分辨率与 AR 引擎SLAM / 6DoF Tracking共享 IMU Camera 时间戳对齐3.6 Camera 性能调优优化项手段目标首帧延迟预打开 Camera、Warm Start、并行 configure 500ms预览帧率FPS Range 设置、Pipeline Depth、减少 Surface 数量稳定 30fps拍照速度ZSL、JPEG 硬件编码、并行处理 200ms 快门响应内存Buffer 数量限制、及时 release Image避免 OOM / 黑屏CPU/GPU算法下沉 NPU、RenderThread 分离降低 App CPU 占用3.7 解读内容Camera App Framework HAL场景解读预览 Preview选 Preview Size、TEMPLATE_PREVIEW、Surface 绑定首帧 500ms稳定 30/60fps拍照 StillTEMPLATE_STILL_CAPTURE、ZSL、JPEG 硬件编码户外强光 AE/AWB 收敛调优录像 RecordTEMPLATE_RECORD MediaCodec SurfaceEIS/OIS音视频同步与码率Framework 层CameraService 并发策略权限与优先级多 App 争抢排查HAL 层configure_streams 能力集Vendor TagHDR/EIS与 camx/mtkcam 联调 3AAI 视觉对接Preview ImageReader 双路YUV → NPU 推理 → 预览 Overlay跳帧降分辨率策略性能优化Pipeline Depth、Buffer 数量、Image.close()Warm Start 预开相机疑难问题预览延迟/黑屏BufferQueue 满、Session 未 close、HAL mutexdumpsys media.cameraCamera2 API 与 HAL3 名词详解术语说明CameraManagerCamera2 入口getCameraIdList()枚举摄像头openCamera()打开设备回调onOpened/onDisconnected/onErrorCameraDevice已打开的相机设备句柄通过createCaptureSession()创建会话同一时刻只有一个 Client 可独占或共享策略CameraCaptureSession一次流配置会话绑定输入/输出 Surface 集合通过setRepeatingRequest()持续预览或capture()单次拍照CaptureRequest单帧采集请求含 3A 参数、Flash 模式、FPS Range 等用 TemplatePREVIEW/RECORD/STILL_CAPTURE快速构建ImageReaderImage 对象接收器配置格式YUV_420_888/JPEG和尺寸acquireLatestImage()取帧必须close()否则 BufferQueue 满SurfaceBufferQueue 的生产者端Preview 用 SurfaceTexture/SurfaceView 的 Surface录像用 MediaCodec 的 input SurfaceCameraCharacteristics摄像头静态能力支持的分辨率、FPS 范围、对焦模式、Flash 等打开前查询避免配置不支持的参数configure_streamsHAL3 核心接口App 请求的输出流Preview/Video/Capture一次性配置HAL 分配 ISP 管道资源IMPLEMENTATION_DEFINED特殊 Buffer 格式由 HAL/Gralloc 决定实际格式通常是 NV21 或私有格式用于 Preview 零拷贝3A 算法与关键优化术语术语全称说明AFAuto F
返回列表