Android Studio 2023.2.1 补丁 2 的 build.gradle.kts 的 Media3 依赖项

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

我正在尝试按照以下方式构建一个使用 Media3 的应用程序:https://developer.android.com/media/media3/exoplayer/hello-world#kts

当我尝试在应用程序中为其 build.gradle.kts 添加依赖项时,Android Studio 不喜欢上面链接中给出的语法。有人可以帮我告诉我我缺少什么吗?

附注我正在做 kts 方式而不是常规方式,因为这是推荐的方式。

目前,当我从 Android Studio 构建默认的空活动应用程序时,我的 build.gradle.kts 如下所示:

.....
dependencies {

    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.lifecycle.runtime.ktx)
    implementation(libs.androidx.activity.compose)
    implementation(platform(libs.androidx.compose.bom))
    implementation(libs.androidx.ui)
    implementation(libs.androidx.ui.graphics)
    implementation(libs.androidx.ui.tooling.preview)
    implementation(libs.androidx.material3)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
    androidTestImplementation(platform(libs.androidx.compose.bom))
    androidTestImplementation(libs.androidx.ui.test.junit4)
    debugImplementation(libs.androidx.ui.tooling)
    debugImplementation(libs.androidx.ui.test.manifest)

}

根据android链接https://developer.android.com/media/media3/exoplayer/hello-world#kts当我粘贴时:

....
implementation("androidx.media3:media3-exoplayer:1.3.0")
implementation("androidx.media3:media3-exoplayer-dash:1.3.0")
implementation("androidx.media3:media3-ui:1.3.0")
....

它给了我以下警告:

使用版本目录代替更多... (⌘F1) 检查信息:如果您的项目使用 libs.versions.toml 文件,则应将所有 Gradle 依赖项放置在 TOML 文件中。此 lint 检查会查找 TOML 文件外部的版本声明并建议移动它们(并在 IDE 中提供自动执行操作的快速修复)

所以:

  1. 为最新的 Android Studi - Iguana 添加 media3 依赖项的正确方法是什么
  2. 为什么我的 hello world 项目依赖项格式的默认 build.gradle.kts 看起来与 https://developer.android.com/media/media3/exoplayer/hello-world#kts 中提供的格式如此不同。 默认的类似实现(libs.androidx.material3),以libs开头。请帮忙,我很困惑。
android-studio android-media3
1个回答
0
投票

以 TOML 格式,这将是:

[versions]
androidx_media3 = '1.3.0'

[libraries]
androidx_media3_exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx_media3" }

这意味着,您不能只是复制和粘贴,而是必须转换为 TOML。
请注意,对于 BOM 依赖性,这仅适用于 BOM 本身。

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