我正在使用 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
部分中。
如何将此外部依赖项添加到构建中?
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/