VNDK基本概念5分钟掌握

633 阅读1分钟

VNDK基本概念

在Android的Treble架构中为了规范和约束system/vendor组件之间的耦合关系,对Native库进行几大类的划分,通过定义不同类型的相互耦合程度和使用约束来达到管控system/vendor组件之间模块的耦合度。

类型描述so位置BP格式示例
core library仅在系统镜像内使用systemcc_library { name: "libThatIsCore", ... }
vendor-only仅供供应商自己使用vendorcc_library { name: "libThatIsVendorOnly", proprietary: true, ... }
vendor_available被vendor镜像使用,同时存在vendor和core变体vendor &Systemcc_library { name: "libThatIsVendorAvailable", vendor_available: true, ... }
vndkvendor使用systemcc_library { name: "libThatIsVndk", vendor_available: true, vndk: { enabled: true, } ... }
vndk-sp直接被vendor使用,间接被系统镜像使用systemcc_library { name: "libThatIsVndkSp", vendor_available: true, vndk: { enabled: true, support_system_process: true, } ... }
llndk由Google维护,被系统和供应商镜像共同使用,可以双重加载systemllndk_library { name: "libThatIsLlndk", ... }

依赖关系

img-blog.csdnimg.cn/img_convert…

image.png

构建关系

官网文档

source.android.com/docs/core/a…