如何更新build.gradle以使用media3包从版本33到34?

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

我正在尝试构建一个视频播放器,但遇到了构建问题。当我添加这 3 个依赖项时

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

我开始遇到这样的构建错误:

1.  Dependency 'androidx.media3:media3-exoplayer-dash:1.3.1' requires libraries and applications that
       depend on it to compile against version 34 or later of the
       Android APIs.
 
       :app is currently compiled against android-33.
 
       Also, the maximum recommended compile SDK version for Android Gradle
       plugin 7.4.2 is 33.
 
       Recommended action: Update this project's version of the Android Gradle
       plugin to one that supports 34, then update this project to use
       compileSdkVerion of at least 34.
 
       Note that updating a library or application's compileSdkVersion (which
       allows newer APIs to be used) can be done separately from updating
       targetSdkVersion (which opts the app in to new runtime behavior) and
       minSdkVersion (which determines which devices the app can be installed
       on).

我尝试将

compileSdkVersion
targetSdkVersion
更新为 34,但这没有帮助。这是我的完整 build.gradle 文件:

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven-publish'
group = 'expo.modules.webview'
version = '0.5.0'
buildscript {
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
  if (expoModulesCorePlugin.exists()) {
    apply from: expoModulesCorePlugin
    applyKotlinExpoModulesCorePlugin()
  }

  // Simple helper that allows the root project to override versions declared by this library.
  ext.safeExtGet = { prop, fallback ->
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
  }
  // Ensures backward compatibility
  ext.getKotlinVersion = {
    if (ext.has("kotlinVersion")) {
      ext.kotlinVersion()
    } else {
      ext.safeExtGet("kotlinVersion", "1.9.20")
    }
  }
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${getKotlinVersion()}")
  }
}
afterEvaluate {
  publishing {
    publications {
      release(MavenPublication) {
        from components.release
      }
    }
    repositories {
      maven {
        url = mavenLocal().url
      }
    }
  }
}
android {
  compileSdkVersion safeExtGet("compileSdkVersion", 34)

  def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
  if (agpVersion.tokenize('.')[0].toInteger() < 8) {
    compileOptions {
      sourceCompatibility JavaVersion.VERSION_11
      targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
      jvmTarget = JavaVersion.VERSION_11.majorVersion
    }
  }

  namespace "expo.modules.webview"
  defaultConfig {
    minSdkVersion safeExtGet("minSdkVersion", 21)
    targetSdkVersion safeExtGet("targetSdkVersion", 34)
    versionCode 1
    versionName "0.5.0"
  }
  lintOptions {
    abortOnError false
  }
  publishing {
    singleVariant("release") {
      withSourcesJar()
    }
  }
  // Enables Compose functionality
  buildFeatures {
    compose true
  }
  // Kotlin compiler version must be tied to Kotlin version
  // according: https://developer.android.com/jetpack/androidx/releases/compose-kotlin
  composeOptions {
    kotlinCompilerExtensionVersion = "1.5.10"
  }
}
repositories {
  mavenCentral()
}
dependencies {
  implementation project(':expo-modules-core')
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${getKotlinVersion()}"
  implementation("androidx.media3:media3-exoplayer:1.3.1")
  implementation("androidx.media3:media3-exoplayer-dash:1.3.1")
  implementation("androidx.media3:media3-ui:1.3.1")
  // Importing Jetpack Compose
  implementation(platform("androidx.compose:compose-bom:2024.05.00"))
  // and ui library
  implementation("androidx.compose.material3:material3")
  // OPTIONAL - Android Studio Preview support
  implementation("androidx.compose.ui:ui-tooling-preview")
  debugImplementation("androidx.compose.ui:ui-tooling")

}
android kotlin gradle
1个回答
0
投票

你的gradle版本是什么? 根据错误,您可能使用的是旧版本的 gradle

更新此项目的 Android Gradle 版本 插件支持 34

尝试使用 8.4 之类的东西,这应该可以解决你的问题。

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