【问题标题】:Is Play Services Analytics compatible with Gradle 3.3/AndroidX?Play Services Analytics 是否与 Gradle 3.3/AndroidX 兼容?
【发布时间】:2019-02-15 14:21:16
【问题描述】:

当遇到我的 Android Gradle 插件依赖项(从 3.2.1 -> 3.3.x)时,我开始看到这个问题:

D8: Program type already present: android.support.v4.media.RatingCompat$1

该课程位于:com.android.support:support-media-compat 正如这里所建议的https://developer.android.com/jetpack/androidx/migrate,我已经向 lib 的 AndroidX 版本添加了一个显式依赖项:androidx.media:media

这不起作用(同样的问题)。

然后我做:

gradlew app:dependencies

我看到com.android.support:support-media-compat 是来自com.google.android.gms:play-services-analytics 的传递依赖(16.0.7,我知道的最新版本)。

我也试过排除传递依赖:

implementation ('com.google.android.gms:play-services-analytics:16.0.7') {
    exclude group: 'com.android.support', module: 'support-v4'
}

但这不起作用(support-v4 依赖仍然显示为传递依赖)。

我的版本

  1. com.android.tools.build:gradle:3.3.1
  2. Gradle 5.2.1

Gradle 属性:

android.useAndroidX=true
android.enableJetifier=false

有什么建议吗?

【问题讨论】:

    标签: android android-gradle-plugin google-play-services androidx


    【解决方案1】:

    你应该设置:

    android.enableJetifier=true
    

    以便为您转换传递依赖项。

    【讨论】:

    • 启用 jetifier 揭示了一个测试库 (org.robolectric:shadows-supportv4:4.1) 导致问题和更多需要转换为 Androidx 的类。完成此操作后,一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    相关资源
    最近更新 更多