登录
首页 >  Golang >  Go问答

在 Android.bp 中使用 Golang 条件来应用“可选子目录”

来源:stackoverflow

时间:2024-03-05 23:33:27 126浏览 收藏

大家好,今天本人给大家带来文章《在 Android.bp 中使用 Golang 条件来应用“可选子目录”》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

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

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

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

要实现golang,我们只能添加一个覆盖现有模块的模块,其中现有模块可以是android、apex、cc等。作为参考,请检查这个问题这里,apex模块用于在其之上编写自己的模块。但在 optional_subdirs 的情况下,它既不是模块也不属于模块类型。因此我无法进一步进行。任何帮助都会很棒。


解决方案


注意subdirsOptional_subdirs 自 Android Pie 起已弃用(请参阅 here)。从现在开始,所有 Android.bp 文件都将被 Soong 包含。

选项#1

您可以更新引用 SomeLib 作为其 shared_libsstatic_libs 一部分的所有模块,而不是尝试更改 optical_subdirs。这可以通过在 Soong 中实现自定义 Mutator 来完成。

通过在 AOSP 中搜索 bootstrap_go_package 可以找到很多有关如何编写自定义模块的示例。

选项#2

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

好了,本文到此结束,带大家了解了《在 Android.bp 中使用 Golang 条件来应用“可选子目录”》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>