我正在尝试按照以下方式构建一个使用 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 中提供自动执行操作的快速修复)
所以:
以 TOML 格式,这将是:
[versions]
androidx_media3 = '1.3.0'
[libraries]
androidx_media3_exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx_media3" }
这意味着,您不能只是复制和粘贴,而是必须转换为 TOML。
请注意,对于 BOM 依赖性,这仅适用于 BOM 本身。