android.bp中./和../
时间: 2024-01-29 17:03:19 浏览: 30
在Android.bp文件中,"./"表示当前目录,"../"表示上一级目录。这两个符号可以用于指定源文件或者库的路径。例如,如果我们需要引用当前目录下的一个名为"example.c"的源文件,可以使用"./example.c"来指定路径。如果需要引用上一级目录下的一个名为"example.h"的头文件,可以使用"../example.h"来指定路径。
相关问题
Android.bp编译到/system/lib/下
要将 Android.bp 中编译的模块输出到 `/system/lib/` 目录下,可以使用 `installable` 模块类型和 `vndk` 属性来指定,例如:
```
cc_library {
name: "mylib",
srcs: ["mylib.cpp"],
target: {
android: {
arch: {
arm: {
enabled: true,
},
},
},
},
vndk: {
enabled: true,
version: "current",
},
installable: true,
}
```
在这个例子中,`vndk` 属性被设置为 `enabled: true`,这表示这个模块是一个 VNDK 模块,`version` 属性被设置为 `"current"`,表示使用当前平台的 VNDK 版本。`installable` 属性被设置为 `true`,这表示这个模块需要被安装到系统分区。
如果你想要将编译输出文件放到 `/system/lib/` 目录下,可以在 Android.bp 文件中添加一个 `AndroidProducts.mk` 文件,例如:
```
PRODUCT_COPY_FILES += \
vendor/mylib/mylib.so:system/lib/mylib.so
```
在这个例子中,`PRODUCT_COPY_FILES` 变量被用来指定一个文件拷贝操作,将 `vendor/mylib/mylib.so` 文件拷贝到 `/system/lib/mylib.so` 目录下。注意,`vendor/mylib/mylib.so` 文件的路径应该与 `cc_library` 模块的输出路径一致。
Android.mk和Android.bp
Android.mk和Android.bp是Android系统中的两个构建文件。它们都是用于构建Android应用程序的脚本文件,但是它们的语法和用法有所不同。
1. Android.mk是旧的构建系统,使用GNU Make语法,主要用于编译生成Apk、静态库、动态库、可执行文件等。
2. Android.bp是新的构建系统,使用Soong语法,主要用于构建Android系统镜像和模块化组件。
3. Android.mk和Android.bp都可以引用Android的第三方(jar、aar、so)、Androidx的类库等。