Dragonboard845 AOSP13环境下CHRE nanoapp开发入门及编译报错求助
CHRE Nanoapp开发入门与编译问题解决
一、核心问题定位
你当前编译报错的核心原因是版本不匹配:你已经完成AOSP 13的编译,但克隆的是android10-chre-dev分支的CHRE代码——不同Android版本的CHRE依赖、系统接口、编译链存在显著差异,跨版本编译必然出现大量错误。
二、正确的代码获取方式
不要单独克隆独立的CHRE仓库,直接复用你已有的AOSP 13源码:
- 你的AOSP 13源码根目录下,CHRE模块路径为
system/chre,直接使用该目录下的代码即可,无需单独拉取旧分支。 - 如果源码中缺少该目录,执行
repo sync system/chre补全CHRE相关项目同步。
三、Dragonboard 845专属编译步骤
- 进入AOSP源码根目录,初始化编译环境:
source build/envsetup.sh lunch db845c-userdebug - 编译CHRE框架及默认nanoapp:
m chre - 单独编译自定义nanoapp(以示例nanoapp为例):
进入目标nanoapp目录(如system/chre/nanoapps/sensor_sample),执行:mm
四、新手入门关键要点
- 从官方示例入手:
system/chre/nanoapps目录下包含传感器、WiFi扫描等多个示例nanoapp,先编译运行这些案例,快速熟悉CHRE的API逻辑与编译流程。 - 掌握调试方法:CHRE运行在独立低功耗核心,通过
adb shell dumpsys chre可查看CHRE服务状态、已加载的nanoapp信息,便于调试排查。 - 编译错误排查指南:
- 确认已正确初始化对应Dragonboard845的编译环境(
lunch命令未选错目标) - 确认AOSP源码同步完整(
repo sync无报错) - 不要混用第三方编译链,使用AOSP 13自带的编译工具链
- 确认已正确初始化对应Dragonboard845的编译环境(
内容的提问来源于stack exchange,提问作者Mereena
相关产品推荐
相关产品推荐

