Play 服务分析与 Gradle 3.3/AndroidX 兼容吗?
Is Play Services Analytics compatible with Gradle 3.3/AndroidX?
当我遇到 Android Gradle 插件依赖时(从 3.2.1 -> 3.3.x),我开始看到这个问题:
D8: Program type already present: android.support.v4.media.RatingCompat
此 class 位于:com.android.support:support-media-compat
正如这里所建议的 https://developer.android.com/jetpack/androidx/migrate 我已经添加了对 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 依赖项仍然显示为传递依赖项)。
我的版本
- com.android.tools.build:gradle:3.3.1
- Gradle 5.2.1
Gradle 属性:
android.useAndroidX=true
android.enableJetifier=false
有什么建议吗?
您应该设置:
android.enableJetifier=true
以便为您转换传递依赖项。
当我遇到 Android Gradle 插件依赖时(从 3.2.1 -> 3.3.x),我开始看到这个问题:
D8: Program type already present: android.support.v4.media.RatingCompat
此 class 位于:com.android.support:support-media-compat
正如这里所建议的 https://developer.android.com/jetpack/androidx/migrate 我已经添加了对 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 依赖项仍然显示为传递依赖项)。
我的版本
- com.android.tools.build:gradle:3.3.1
- Gradle 5.2.1
Gradle 属性:
android.useAndroidX=true
android.enableJetifier=false
有什么建议吗?
您应该设置:
android.enableJetifier=true
以便为您转换传递依赖项。