在Android.bp文件中如何引用编译好的so库
以Android系统的keystore服务代码的Android.bp文件为例。
要修改keystore服务的源码,在源码中引用第三方so库。
假设so库命名为:libxxxx.so
拷贝so库到keystore源码目录下
path_to_keystore$ ls -R lib lib64
lib:
libkeystoreap.so
lib64:
libkeystoreap.so
在Android.bp文件中声明cc_prebuilt_library_shared
cc_binary {
...
}
cc_prebuilt_library_shared {
name: "libxxxx",
compile_multilib: "both",
multilib: {
lib64: {
srcs: ["lib64/libxxxx.so"],
},
lib32: {
srcs: ["lib/libxxxx.so"],
},
},
clang: true,
owner: "test",
proprietary: false,
}
在Android.bp文件中声明引用
cc_binary {
...
shared_libs: [
...
"libxxxx",
],
...
}
cc_prebuilt_library_shared {
name: "libxxxx",
...
}
编译
使用mmm之类的命令编译,编译后,会自动将lib/lib64目录下的libxxxx.so拷贝到 …/out/…/system/…目录下。
本文介绍如何在 Android.bp 文件中引用已编译的 so 库。以 keystore 服务为例,详细展示了如何将第三方 so 库 libxxxx.so 添加到 Android.bp 中,并通过 cc_prebuilt_library_shared 和 cc_binary 进行声明引用。
2172

被折叠的 条评论
为什么被折叠?



