AOSP - 向 Android.bp 添加非标准依赖项

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

我正在使用 Kotlin 和 Jetpack compose 为 AOSP 开发自定义系统应用程序。

我已将依赖项添加到“androidx.*”,并且 compose 和 Material 3 可以正常工作。

android_app {
    name: "MySystemApp",
    srcs: ["java/**/*.kt"],
    resource_dirs: ["res"],
    manifest: "AndroidManifest.xml",

    static_libs: [
        "androidx.core_core"
    ]
}

现在我想添加对外部库的依赖,例如okhttp。

我知道我需要以某种方式将 okhttp(或 AOSP 中尚未包含的任何其他依赖项)与 AOSP 构建管道捆绑在一起,并将其包含在 Android.bp 的

static_libs
部分中。

如何将此外部依赖项添加到构建中?

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

Google 关于 Soong 的这些文档可能会有所帮助:https://ci.android.com/builds/subscribed/11755031/linux/latest/raw/java.html#java_import

这是一个示例,如果您为 Jackson 下载了 JAR 文件,请将以下内容放入 Android.bp 文件中,并将 JAR 放在名为

libs

的目录中
java_import {
      name: "jackson-static-libs",
      jars: [
        "libs/jackson-core-2.13.3.jar",
        "libs/jackson-databind-2.13.3.jar",
        "libs/jackson-annotations-2.13.3.jar",
      ],
}

现在只需将

"jackson-static-libs"
添加到
static_libs
部分即可。

请注意,如果您有 AAR 文件,您可以通过解压缩 AAR 来获取其中的classes.jar,然后将其重命名为更有用的名称。

OkHttp JAR 这些天可以在这里找到:https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/

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