Android.bp 中进行条件判断

本文介绍了如何将Android.mk中的条件宏开关转换为Android.bp中的配置。在Android.mk中,条件判断用于添加宏定义,而在Android.bp中,这需要通过Go语言编写辅助文件来实现。示例展示了如何在fs_mgr.go中添加条件判断,并在Android.bp中引用这个Go文件,以根据ENABLE_USER2ENG环境变量动态设置编译标志。

android编译系统的Android.mk,里面还有条件判断, 但是到了Android.bp之后, android.bp是类似JSON的纯文本形式. 对于Android.mk里面条件判断部分,在Android.bp里要借助使用go语言文件去进行控制.

有条件判断的宏开关添加Demo

在Android.mk中添加的宏开关:

ifeq ($(ENABLE_USER2ENG),true)
LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
LOCAL_CFLAGS += -DENABLE_USER2ENG=1
endif

如果要将以上的宏开关添加到Android.bp中去要通过使用go语言书写一个新文件:

比如我的修改是在system/core/fs_mgr/Android.bp,那么要在添加 system/core/fs_mgr/fs_mgr.go:

package fs_mgr
 
import (
        "android/soong/android"
        "android/soong/cc"
        "fmt"
)
 
func init() {
   
   
    // for DEBUG
    fmt.Println("init start")
    android.RegisterModuleType("AAA", fs_mgrDefaultsFactory)
}
 
func fs_mgrDefaultsFactory() (android.Module
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeloas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值