【问题标题】:WebRTC need min sdk 24WebRTC 需要最少 sdk 24
【发布时间】:2017-12-19 10:03:50
【问题描述】:

我将 webrtc 更新为修订版 21320,但我遇到以下问题,无法构建应用程序

Error:com.android.builder.dexing.DexArchiveBuilderException: com.android.tools.r8.errors.CompilationError: Static interface methods are only supported starting with Android N (--min-api 24): org.webrtc.EglBase org.webrtc.EglBase.create()

我该如何解决?

【问题讨论】:

  • 升级minSdk或降级webrtc

标签: android webrtc android-min-sdk


【解决方案1】:

静态接口方法是 JAVA 8 的新特性

您可以将 JAVA 版本设置为 1.8,而不是更改最低 SDK 版本

将以下代码添加到您的 build.gradle:

android {
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}

【讨论】:

  • 实现上述一个并在最新的 android gradle 上构建它 Jitsi 在 android >= 21 中运行良好
【解决方案2】:

选择https://webrtc.googlesource.com/src/+/0af8370cb38b0b0f35f4ed4ec4237d0e6c7d59da 或更好的https://webrtc.googlesource.com/src/+/086ede313bb68a7f64eff19d51b2c7f1b9623372(又名branch-heads/64)。我发现 Chromium 分支使用起来更安全。

通过https://bugs.chromium.org/p/webrtc/issues/entry提出投诉。

手动还原提交 b9f3f9bdd7f2faba90b4f30d0c4b592c2ede8de3。

或者,将您的 minSdk 设置为 24 并享受 Java 8!

【讨论】:

    【解决方案3】:

    将此添加到您的gradle.properties

    android.enableDexingArtifactTransform.desugaring=false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-27
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2020-05-08
      • 1970-01-01
      相关资源
      最近更新 更多