调试 Aosp Native项目
aidegen vendor/agold/apps/ACamera2/agold/jni_isphal_aidl/ -s -i v拉起vscodevscode安装clangd插件,用来解析compile_commands.json(上条命令会生成)- 安装完成进入
clangd插件设置添加参数
- 安装完成进入
--compile-commands-dir=${workspaceFolder}
--background-index
--completion-style=detailed
--header-insertion=never
--log=info
主要是第一个参数,用来指定compile_commands.json所在的位置,例如
--compile-commands-dir=/home5/develop/u0/alps/out/full_g78v78c2k_dfl_eea-userdebug/out_sys/soong/development/ide/compdb
- 然后重新启动vscode
FAQ
u0-vendor hal 层项目无法通过aidegen VSCode 拉起
提示错误:
There is no Java, C/C++ or Rust target
问题原因:
aidegen 会读取 out/full_a101k6989_dfl_tee-userdebug/out_hal/target/product/mgvi_64_64only_armv82_a101k6989_dfl_tee/module-info.json 文件
其中 face.default 模块 json 格式要在错误,多了双引号,导致json无法加载
LOCAL_SHARED_LIBRARIES := "libcamera2ndk_vendor"\
"libcamera_metadata"\
"libmediandk"\
"libnativewindow"\
"libcutils"\
"libutils"\
"libui"\
"libc"\
"libdl"\
"liblog"\
"libm"\
"libsensorndkbridge"\
"libstfaceunlock"\
"libcv_faceid"\
"libGsFace_ca"
改为:
LOCAL_SHARED_LIBRARIES := libcamera2ndk_vendor \
libcamera_metadata \
libmediandk \
libnativewindow \
libcutils \
libutils \
libui \
libc \
libdl \
liblog \
libm \
libsensorndkbridge \
libstfaceunlock \
libcv_faceid \
libGsFace_c