【问题标题】:Unable to resolve com.google.android.exoplayer2 after Gradle update to v 5.4Gradle 更新到 v 5.4 后无法解析 com.google.android.exoplayer2
【发布时间】:2019-10-01 06:17:45
【问题描述】:

我的项目正在使用 com.google.android.exoplayer2。直到今天我还在 gradle 4.10.1 (android gradle plugin 3.3.1) - 一切都很好。一旦我更新到 Gradle 5.4.1 exoplayer 就无法解决。 Android Studio 3.4。

模块 gradle(无变化)

implementation 'com.google.android.exoplayer:exoplayer:r2.5.2'

项目 gradle(原为 3.3.1)

  dependencies {
    classpath 'com.android.tools.build:gradle:3.4.0'

Gradle 包装器属性(原为 4.10.1)

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

堆栈跟踪日志 http://vancura.cz/tmp/logs.log

【问题讨论】:

  • 添加堆栈跟踪日志
  • 您是否尝试过使缓存无效并重新启动和清理项目?
  • Ronak Doshi - 是的,没有变化
  • @NikunjParadva Paradva 日志已添加

标签: android gradle exoplayer


【解决方案1】:

更改 Exoplayer 依赖项

implementation 'com.google.android.exoplayer:exoplayer:2.10.0'

而不是

implementation 'com.google.android.exoplayer:exoplayer:r2.5.2'

您需要确保在项目根目录的 build.gradle 文件中包含 Google 和 JCenter 存储库:

repositories {
  google()
  jcenter()
}

【讨论】:

  • 谢谢,我在 gradle 中有两个 repos,更改 exo 版本至少可以解决 exoplayer,无论如何我仍然有错误:Android 资源链接失败,找不到 android:attr/fontVariationSettings。资源 android:attr/ttcIndex 未找到。错误:链接引用失败。
  • 将您的支持库也升级到最新版本
  • 使用升级后的库并更改 compileSdkVersion 28 ,您的 attr/fontVariationSetting 错误消失了,试试吧
【解决方案2】:

尝试在你的 workspace.xml 中添加波纹管代码

<component name="masterDetails">
    <states>
      <state key="ProjectJDKs.UI">
        <settings>
          <last-edited>1.8</last-edited>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
    </states>
  </component>

【讨论】:

  • 已测试,仍然失败
【解决方案3】:

通过在 build.gradle 文件中包含单个 exo 依赖项解决了我的问题。换句话说,如果你只包含

implementation 'com.google.android.exoplayer:exoplayer:2.11.8'

类不会导入。我们应该声明所有组件:

implementation 'com.google.android.exoplayer:exoplayer-core:2.11.8'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.11.8'
implementation 'com.google.android.exoplayer:exoplayer-hls:2.11.8'

(在旧的 exo 版本(如 r2.2.0)中,只需包含主模块就足够了)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-01
    • 2020-03-14
    • 1970-01-01
    • 2019-09-07
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多