前言
现在大多数项目需要集成三方的so 二进制 rc etc 配置文件等,下面的方法基本可以覆盖,备用
语法参考
语法参考官方链接
实例
预编译继承二进制文件/bin 和启动rc
- 源文件
vendor/bin/hw/android.hardware.configstore@1.1-service - rc文件
android.hardware.configstore@1.1-service.rc
cc_prebuilt_binary {
name: "android.hardware.configstore@1.1-service",
proprietary: true,
vendor: true,
required: ["configstore@1.1.policy"],
relative_install_path: "hw",
strip: {
none: true,
},
srcs: ["vendor/bin/hw/android.hardware.configstore@1.1-service"],
init_rc: ["android.hardware.configstore@1.1-service.rc"],
}
集成配置文件
-
Android 10 开始Android.bp 才支持集成此类文件
-
vendor 是否放到vendor/etc目录
-
sub_dir 放置到etc的子文件夹
prebuilt_etc {
name: "configstore@1.1.policy",
vendor: true,
srcs: ["seccomp_policy/configstore@1.1-arm64.policy"],
sub_dir: "seccomp_policy",
}
集成 so
cc_prebuilt_library_shared {
name: "android.hardware.configstore-utils",
vendor_available: true,
vndk: {
enabled: true,
},
strip: {
none: true,
},
multilib: {
lib64: {
srcs: ["system/lib64/android.hardware.configstore-utils.so"],
},
lib32: {
srcs: ["system/lib/android.hardware.configstore-utils.so"],
},
},
compile_multilib: "both",
export_include_dirs: ["include"],
shared_libs: [
"android.hardware.configstore@1.0",
"android.hardware.configstore@1.1",
"libbase",
"libhidlbase"
],
export_shared_lib_headers: [
"android.hardware.configstore@1.0",
"android.hardware.configstore@1.1",
"libbase",
"libhidlbase"
],
}