Android.bp条件编译

在Android.mk中可以使用if进行条件编译,但Android.bp不直接支持。本文介绍了如何在Android.bp中实现条件编译,通过示例解析bp文件的模块属性设置,如模块类型、源文件、依赖库等,并展示了将bp转换为go编译脚本的方法,简化理解Android.bp的编译过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.概要

    我们修改代码的时候经常会有一些共线的机器,我们只想进指定的机器或者指定的分支,在Android.mk中可以直接使用if来做判断,但是到了Android.bp中就无法在bp文件中使用条件编译了,本文将教会你怎么让bp文件也支持条件编译

 

二.Android.bp介绍

 

http://androidxref.com/9.0.0_r3/xref/frameworks/native/services/sensorservice/Android.bp

//cc_library_shared编译的是lib

cc_library_shared {

    // 模块名字

    name: "libsensorservice"

     

    // 依赖的源码

    srcs: [

        "BatteryService.cpp",

        "CorrectedGyroSensor.cpp",

        "Fusion.cpp",

        "GravitySensor.cpp",

        "LinearAccelerationSensor.cpp",

        "OrientationSensor.cpp",

        "RecentEventLogger.cpp",

        "RotationVectorSensor.cpp",

        "SensorDevice.cpp",

        "SensorDeviceUtils.cpp",

        "SensorDirectConnection.cpp",

        "SensorEventConnection.cpp",

        "SensorFusion.cpp",

        "SensorInterface.cpp",

        "SensorList.cpp",

        "SensorRecord.cpp",

        "SensorService.cpp",

        "SensorServiceUtils.cpp",

        "EllipticFusionSensorManager/EllipticFusionSensorManager.cpp",

        "EllipticFusionSensorManager/TableTopSensor.cpp",

        "EllipticFusionSensorManager/ProximityFusionSensor.cpp",

        "EllipticFusionSensorManager/SnapFusionSensor.cpp",

        "EllipticFusionSensorManager/MuteFusionSensor.cpp",

        "EllipticFusionSensorManager/PhoneMotionSensor.cpp",

        "EllipticFusionSensorManager/ParseFusionSensorConfig.cpp",

        "SensorControl.cpp",

    ],

 

    // 依赖的目录

    local_include_dirs: ["EllipticFusionSensorManager"],

    // 编译的一些flag

    cflags: [

        "-DLOG_TAG=\"SensorService\"",

        "-Wall",

        "-Werror",

        "-Wextra",

        "-fvisibility=hidden",

        "-DHAS_SENSOR_CONTROL"

    ],

    // 依赖的共享库

    shared_libs: [

        "libcutils"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值