在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/....目录下。
网友评论