软总线模块编译解耦
在适配软总线时 的过程中,可能部分设备不需一些功能,可以做一些功能裁剪。 wifi 模块解耦 在编译配置文件dsoftbus.gni 中,有 wifi 模块是否编译的配置,当产品的rich.json 中去掉了wifi 模块后,softbus_communication_wifi_feature 值为fasle,后续
在适配软总线时 的过程中,可能部分设备不需一些功能,可以做一些功能裁剪。
wifi 模块解耦
在编译配置文件dsoftbus.gni 中,有 wifi 模块是否编译的配置,当产品的rich.json 中去掉了wifi 模块后,softbus_communication_wifi_feature 值为fasle,后续软总线中wifi 模块不会参加编译。
// foundation/communication/dsoftbus/dsoftbus.gni
declare_args() {
dsoftbus_get_devicename = true
softbus_communication_wifi_feature = true
softbus_os_account = true
}
if (defined(global_parts_info) &&
!defined(global_parts_info.communication_wifi)) {
softbus_communication_wifi_feature = false
}
有wifi 模块但是无p2p 功能
可以将 bundle.json 中的 dsoftbus_feature_conn_p2p 去掉,同时保证 dsoftbus.gni dsoftbus_feature_conn_p2p 的值设置为fasle。
蓝牙 模块解耦
如果产品形态没有适配ble ,软总线中可以选择不集成ble模块,将 bundle.json 中的dsoftbus_feature_disc_ble,dsoftbus_feature_conn_br,dsoftbus_feature_conn_ble配置去掉即可,同时保证dsoftbus.gni dsoftbus_feature_disc_ble,dsoftbus_feature_conn_br,dsoftbus_feature_conn_ble 的值设置为fasle。
crypto_shared 模块解耦
如果无需crypto_shared 加密,可以将 dsoftbus_feature_encrypt 设置为0 //third_party/openssl:libcrypto_shared 就不会参加编译了
其他配置
可以选择去掉 bundle.json features配置,不编译对应模块
"dsoftbus_feature_conn_p2p",
"dsoftbus_feature_disc_ble",
"dsoftbus_feature_conn_br",
"dsoftbus_feature_conn_ble",
"dsoftbus_feature_lnn_net",
"dsoftbus_feature_trans_udp_stream",
"dsoftbus_feature_trans_udp_file",
"dsoftbus_get_devicename",
"dsoftbus_feature_product_config_path",
"dsoftbus_feature_ifname_prefix",
"dsoftbus_feature_lnn_wifiservice_dependence",
"dsoftbus_standard_feature_dfinder_support_multi_nif",
"dsoftbus_feature_protocol_newip"
子系统依赖
有的对其他子系统的依赖没有在 bundle.json features配置中没有体现,当去掉对应的子系统后,该模块不会被软总线依赖。
例如对 account_os_account的依赖,当系统没有编译account_os_account,软总线不会依赖account_os_account模块,可以将softbus_os_account 设置为false,不去依赖account_os_account。
declare_args() {
softbus_os_account = true
}
if (defined(global_parts_info) &&
!defined(global_parts_info.account_os_account)) {
softbus_os_account = false
}
更多推荐
所有评论(0)