在Android.bp中使用Golang在“ optional_subdirs”上应用条件?

问题描述 投票:0回答:1

在我们的AOSP源代码中,此路径vendar/myvendor/apps/Dialer/SomeLib中有一个库,因为SomeLib位于apps目录的第二级。我们需要在Dialer应用的Android.bp中添加以下内容,以便在构建时包含SomeLib

optional_subdirs = [
    ....
    "*",
]

因此,正如预期的那样,SomeLib在构建时被获取。但是,应该为特定目标而非其他目标选择此库。为此,我想编写一个golang实现,在其中将条件放入相应的位置。

要做Golang的实现,我们只能添加一个覆盖现有模块的模块,其中现有模块可以是android,apex,cc等。请参考此question,此处使用apex模块在其之上编写自己的模块。但是在optional_subdirs的情况下,它既不是模块,也不属于模块类型。因此,我无法继续进行下去。任何帮助都会很棒。

android go android-source
1个回答
0
投票

注意:自Android Pie开始不推荐使用subdirsoptional_subdirs(请参阅here)。从现在开始,宋先生将包括所有Android.bp文件。

选项#1

您可以更新引用SomeLib作为其shared_libsstatic_libs一部分的模块,而不是尝试更改optional_subdirs

选项#2

如果仅根据设备类型安装库,则可以将库添加到要包含该库的PRODUCT_PACKAGES文件的device.mk列表中(请参阅here)。

© www.soinside.com 2019 - 2024. All rights reserved.