android.bp中的cc_binary自己编译的文件到system/bin
时间: 2024-11-15 07:30:06 浏览: 4
Bin_Hex.rar_Bin_Hex.exe_Bin_Hex.exe下载_HEX BIN 转换_bin_hex_student
5星 · 资源好评率100%
在Android开发中,`.cc` 文件通常代表C++源文件,而当你在`.bp` (build props)文件中声明了一个`cc_binary`,它是Bazel构建系统的一个规则,用于构建C++程序并将其打包为二进制文件。当你在`.bp`文件中定义了`cc_binary`,例如:
```python
cc_binary(
name = "my_app",
srcs = ["path/to/my_file.cc"],
deps = [...], # 如果有依赖库
visibility = ["//visibility:public"], # 可见性设置
)
```
这个规则会将`my_file.cc`编译成一个二进制文件(默认名为`libmy_app.so`),该文件会被添加到`bazel-bin`目录下。为了将这个编译后的文件放入系统级别的`bin`目录(如`system/bin`),你需要通过Bazel构建工具链的安装机制,通常是在生成的`Android.mk`或`BUILD`文件中配置。
1. 首先,你需要将`cc_binary`规则添加到`android_binary`或者`aar_library`等能生成apk或者aar包的规则中。
2. 然后,在`Android.bp`或对应的`BUILD`文件中设置`install_path`或者其他相关属性,指定安装位置,比如:
```python
android_binary(
name = "my_system_bin",
srcs = [":my_app"],
install_path = "system/bin",
)
```
3. 构建APK或AAR时,Bazel会根据这些设置将生成的二进制文件复制到指定的路径。
阅读全文