Android.bp能够支持多种预编译类型,具体定义在Android源码的build/soong/androidmk/cmd/androidmk/android.go能够查看,以下图所示: var prebuiltTypes = map[string]string{ "SHARED_LIBRARIES": "cc_prebuilt_library_shared", "STATIC_LIBRARIES": "cc_prebuilt_library_static", "EXECUTABLES": "cc_prebuilt_...
例如,如果已有同名的cc_binary,也可以将cc_prebuilt_binary命名为foo 例如可以预编译一些脚本: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 //Android 12 AOSP源码//packages/modules/Gki/Android.bpcc_prebuilt_binary{name:"com.android.gki.preinstall",product_specific:true,srcs:["preinstall.sh"],...
如果你使用的是Soong构建系统(较新的Android项目),你需要在Android.bp文件中声明一个cc_prebuilt_binary模块。 以下是Android.bp文件中的一个示例,展示了如何声明一个cc_prebuilt_binary模块: python cc_prebuilt_binary { name: "my_prebuilt_binary", srcs: ["prebuilt/path/to/your/binary.elf"], shared_...
此外,Soong还会编译产生一个androidmk命令,可以手动把Android.mk转换成Android.bp。 这只对无选择、循环等复杂流程控制的Android.mk生效。 Blueprint和Soong都是由Golang写的项目。 从Android Nougat开始,prebuilts/go/目录下新增了Golang所需的运行环境,在编译时使用。 Android.bp以及相关支持,从Android Nougat开始加...
例如,如果已有同名的 cc_binary,也可以将cc_prebuilt_binary命名为 foo。这让开发者可以灵活地选择要纳入其最终产品中的版本。如果 build 配置包含两个版本,那么预编译模块定义中的prefer标志值会指示哪个版本具有优先级。请注意,某些预编译模块的名称不能以prebuilt开头,例如android_app_import。
bpfix cc config libbuildversion androidmk.go binary.go builder.go cc.go cc_test.go ccdeps.go cflag_artifacts.go check.go cmakelists.go compdb.go compiler.go compiler_test.go coverage.go fuzz.go gen.go gen_stub_libs.py gen_test.go genrule.go genrule_test.go installer.go kernel_...
Android.bp的作用 Android.bp的出现就是为了替换Android.mk文件;bp跟mk文件不同,它是纯粹的配置,没有分支、循环等流程控制,不能做算数逻辑运算,如果需要控制逻辑,那么只能通过Go语言编写 Android.bp 示例如下: cc_binary{name:"test_demo_native",default:["test_demo_defaults"],clang:true,cflags:["-Wall",...
prebuilt_test.go proto.go register.go rule_builder.go rule_builder_test.go sandbox.go sdk.go sh_binary.go sh_binary_test.go singleton.go testing.go util.go util_test.go variable.go variable_test.go visibility.go visibility_test.go vts_config.go vts_config_test.go writedocs....
Android 利用Blueprint和Soong来解析bp 文件,经过最终转换为 ninja files。 Blueprint和Soong都是由Golang写的项目。 从Android Nougat开始,prebuilts/go/ 目录下新增了Golang所需的运行环境,在编译时使用。 Android.bp以及相关支持,从Android Nougat开始加入,从Android Oreo(8.0)开始默认开启。 如果需要在Android Nou...