我正在从头开始一个新项目。我想将所有新库依赖项与新的包结构一起使用。 (https://developer.android.com/topic/libraries/support-library/refactor)
不幸的是,添加了Firebase库后,我无法编译该项目。
implementation "com.google.firebase:firebase-core:$FIREBASE_CORE_VERSION"
implementation "com.google.firebase:firebase-auth:$FIREBASE_AUTH_VERSION"
implementation "com.google.firebase:firebase-messaging:$FIREBASE_CLOUD_MESSAGING_VERSION"
项目没有库就可以编译,因此问题在于Firebase依赖项。
build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.60'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.0.2' // google-services plugin
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext {
SUPPORT_LIB_VERSION = '1.0.0-alpha1'
CONSTRAINT_LAYOUT_VERSION = '1.1.2'
PLAY_SERVICES_VERSION = '12.0.1'
MULTIDEX_VERSION = '2.0.0'
ARCHITECTURE_COMPONENTS_VERSION = '2.0.0-alpha1'
KOTLIN_KTX_VERSION = '1.0.0-alpha1'
FIREBASE_CORE_VERSION = '16.0.1'
FIREBASE_AUTH_VERSION = '16.0.2'
FIREBASE_CLOUD_MESSAGING_VERSION = '17.1.0'
}
app.gradle:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
compileSdkVersion 28
defaultConfig {
applicationId "googleapisportfolio"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
multiDexEnabled true
}
signingConfigs {
signApk {
keyAlias keystoreProperties['key.alias']
keyPassword keystoreProperties['key.alias.password']
storeFile file(keystoreProperties['key.store'])
storePassword keystoreProperties['key.store.password']
}
}
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.signApk
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
debuggable true
buildConfigField("String", "GOOGLE_API_KEY", '"NA"')
buildConfigField("String", "FIREBASE_ROOT_PATH", '"portfolio"')
buildConfigField("String", "NA"')
manifestPlaceholders = [places_api_key: "NA"]
}
}
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "google-apis-portfolio-${variant.name}-${variant.versionName}.apk"
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
androidExtensions {
experimental = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "androidx.appcompat:appcompat:$SUPPORT_LIB_VERSION"
implementation "androidx.legacy:legacy-support-v4:$SUPPORT_LIB_VERSION"
implementation "com.google.android.material:material:$SUPPORT_LIB_VERSION"
implementation "androidx.cardview:cardview:$SUPPORT_LIB_VERSION"
implementation "androidx.constraintlayout:constraintlayout:$CONSTRAINT_LAYOUT_VERSION"
implementation "androidx.multidex:multidex:$MULTIDEX_VERSION"
implementation "androidx.lifecycle:lifecycle-extensions:$ARCHITECTURE_COMPONENTS_VERSION"
implementation "androidx.lifecycle:lifecycle-viewmodel:$ARCHITECTURE_COMPONENTS_VERSION"
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$ARCHITECTURE_COMPONENTS_VERSION"
implementation "androidx.core:core-ktx:$KOTLIN_KTX_VERSION"
implementation "com.google.firebase:firebase-core:$FIREBASE_CORE_VERSION"
implementation "com.google.firebase:firebase-auth:$FIREBASE_AUTH_VERSION"
implementation "com.google.firebase:firebase-messaging:$FIREBASE_CLOUD_MESSAGING_VERSION"
}
apply plugin: 'com.google.gms.google-services'
堆栈跟踪:
- 异常是:org.gradle.api.tasks.TaskExecutionException:任务执行失败 ':app:transformDexArchiveWithExternalLibsDexMergerForRelease'。 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) 在org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)处 在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) 在org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) 在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) 在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97) 在org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87) 在org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)处 在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) 在org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run(DefaultTaskGraphExecuter.java:248) 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)处 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)处 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200(DefaultTaskPlanExecutor.java:79) 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:104) 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:98) 在org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)处 在org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98) 在org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) 在org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46) 在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 造成原因:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException:无法合并 右旋糖酐 在com.android.builder.dexing.DxDexArchiveMerger.mergeMultidex(DxDexArchiveMerger.java:266) 在com.android.builder.dexing.DxDexArchiveMerger.mergeDexArchives(DxDexArchiveMerger.java:133) 在com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:101) 在com.android.build.gradle.internal.transforms.ExternalLibsMergerTransform.transform(ExternalLibsMergerTransform.kt:123) 在com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:221) 在com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:217) 在com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102) 在com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212) 在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) 在org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46) 在org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) 在org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run(ExecuteActionsTaskExecuter.java:121) 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)处 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)处 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) ... 29更多原因:com.android.builder.dexing.DexArchiveMergerException:无法合并 右旋糖酐 在com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:72) 在com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36) ... 48更多原因:com.android.dex.DexException:多个dex文件定义了Landroid / support / v4 / media / MediaDescriptionCompat; 在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:660) 在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:615) 在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:597) 在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) 在com.android.dx.merge.DexMerger.merge(DexMerger.java:197) 在com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61) ...还有49个
构建依赖项:
releaseCompileClasspath - Resolved configuration for compilation for variant: release
+--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.60
| \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.60
| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60
| \--- org.jetbrains:annotations:13.0
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.60
| \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.60 (*)
+--- androidx.appcompat:appcompat:1.0.0-alpha1
| +--- androidx.annotation:annotation:1.0.0-alpha1
| +--- androidx.core:core:1.0.0-alpha1
| | +--- androidx.annotation:annotation:1.0.0-alpha1
| | +--- androidx.collection:collection:1.0.0-alpha1
| | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | \--- androidx.lifecycle:lifecycle-runtime:2.0.0-alpha1
| | +--- androidx.lifecycle:lifecycle-common:2.0.0-alpha1
| | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | +--- androidx.arch.core:core-common:2.0.0-alpha1
| | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | \--- androidx.annotation:annotation:1.0.0-alpha1
| +--- androidx.collection:collection:1.0.0-alpha1 (*)
| +--- androidx.cursoradapter:cursoradapter:1.0.0-alpha1
| | \--- androidx.annotation:annotation:1.0.0-alpha1
| +--- androidx.legacy:legacy-support-core-utils:1.0.0-alpha1
| | +--- androidx.annotation:annotation:1.0.0-alpha1
| | +--- androidx.core:core:1.0.0-alpha1 (*)
| | +--- androidx.documentfile:documentfile:1.0.0-alpha1
| | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | +--- androidx.loader:loader:1.0.0-alpha1
| | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0-alpha1
| | | | +--- androidx.lifecycle:lifecycle-common:2.0.0-alpha1 (*)
| | | | +--- androidx.arch.core:core-common:2.0.0-alpha1 (*)
| | | | \--- androidx.arch.core:core-runtime:2.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | \--- androidx.arch.core:core-common:2.0.0-alpha1 (*)
| | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0-alpha1
| | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0-alpha1
| | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | \--- androidx.print:print:1.0.0-alpha1
| | \--- androidx.annotation:annotation:1.0.0-alpha1
| +--- androidx.fragment:fragment:1.0.0-alpha1
| | +--- androidx.core:core:1.0.0-alpha1 (*)
| | +--- androidx.legacy:legacy-support-core-ui:1.0.0-alpha1
| | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0-alpha1 (*)
| | | +--- androidx.customview:customview:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | \--- androidx.core:core:1.0.0-alpha1 (*)
| | | +--- androidx.viewpager:viewpager:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | | \--- androidx.customview:customview:1.0.0-alpha1 (*)
| | | +--- androidx.coordinatorlayout:coordinatorlayout:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | | \--- androidx.customview:customview:1.0.0-alpha1 (*)
| | | +--- androidx.drawerlayout:drawerlayout:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | | \--- androidx.customview:customview:1.0.0-alpha1 (*)
| | | +--- androidx.slidingpanelayout:slidingpanelayout:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | | \--- androidx.customview:customview:1.0.0-alpha1 (*)
| | | +--- androidx.interpolator:interpolator:1.0.0-alpha1
| | | | \--- androidx.annotation:annotation:1.0.0-alpha1
| | | +--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | +--- androidx.core:core:1.0.0-alpha1 (*)
| | | | \--- androidx.interpolator:interpolator:1.0.0-alpha1 (*)
| | | +--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0-alpha1
| | | | +--- androidx.annotation:annotation:1.0.0-alpha1
| | | | \--- androidx.core:core:1.0.0-alpha1 (*)
| | | \--- androidx.cursoradapter:cursoradapter:1.0.0-alpha1 (*)
| | +--- androidx.legacy:legacy-support-core-utils:1.0.0-alpha1 (*)
| | +--- androidx.annotation:annotation:1.0.0-alpha1
| | +--- androidx.loader:loader:1.0.0-alpha1 (*)
| | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0-alpha1 (*)
| +--- androidx.vectordrawable:vectordrawable:1.0.0-alpha1
| | +--- androidx.annotation:annotation:1.0.0-alpha1
| | \--- androidx.core:core:1.0.0-alpha1 (*)
| \--- androidx.vectordrawable:vectordrawable-animated:1.0.0-alpha1
| +--- androidx.vectordrawable:vectordrawable:1.0.0-alpha1 (*)
| \--- androidx.legacy:legacy-support-core-ui:1.0.0-alpha1 (*)
+--- androidx.legacy:legacy-support-v4:1.0.0-alpha1
| +--- androidx.core:core:1.0.0-alpha1 (*)
| +--- androidx.media:media:1.0.0-alpha1
| | +--- androidx.annotation:annotation:1.0.0-alpha1
| | \--- androidx.core:core:1.0.0-alpha1 (*)
| +--- androidx.legacy:legacy-support-core-utils:1.0.0-alpha1 (*)
| +--- androidx.legacy:legacy-support-core-ui:1.0.0-alpha1 (*)
| \--- androidx.fragment:fragment:1.0.0-alpha1 (*)
+--- com.google.android.material:material:1.0.0-alpha1
| +--- androidx.annotation:annotation:1.0.0-alpha1
| +--- androidx.core:core:1.0.0-alpha1 (*)
| +--- androidx.legacy:legacy-support-core-ui:1.0.0-alpha1 (*)
| +--- androidx.legacy:legacy-support-core-utils:1.0.0-alpha1 (*)
| +--- androidx.fragment:fragment:1.0.0-alpha1 (*)
| +--- androidx.transition:transition:1.0.0-alpha1
| | +--- androidx.annotation:annotation:1.0.0-alpha1
| | \--- androidx.core:core:1.0.0-alpha1 (*)
| +--- androidx.appcompat:appcompat:1.0.0-alpha1 (*)
| +--- androidx.cardview:cardview:1.0.0-alpha1
| | \--- androidx.annotation:annotation:1.0.0-alpha1
| \--- androidx.recyclerview:recyclerview:1.0.0-alpha1
| +--- androidx.annotation:annotation:1.0.0-alpha1
| +--- androidx.core:core:1.0.0-alpha1 (*)
| \--- androidx.legacy:legacy-support-core-ui:1.0.0-alpha1 (*)
+--- androidx.cardview:cardview:1.0.0-alpha1 (*)
+--- androidx.constraintlayout:constraintlayout:1.1.2
| \--- androidx.constraintlayout:constraintlayout-solver:1.1.2
+--- androidx.multidex:multidex:2.0.0
+--- androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1
| +--- androidx.lifecycle:lifecycle-runtime:2.0.0-alpha1 (*)
| +--- androidx.arch.core:core-common:2.0.0-alpha1 (*)
| +--- androidx.arch.core:core-runtime:2.0.0-alpha1 (*)
| +--- androidx.fragment:fragment:1.0.0-alpha1 (*)
| +--- androidx.lifecycle:lifecycle-common:2.0.0-alpha1 (*)
| +--- androidx.lifecycle:lifecycle-livedata:2.0.0-alpha1
| | +--- androidx.arch.core:core-runtime:2.0.0-alpha1 (*)
| | +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0-alpha1 (*)
| | \--- androidx.arch.core:core-common:2.0.0-alpha1 (*)
| +--- androidx.lifecycle:lifecycle-process:2.0.0-alpha1
| | \--- androidx.lifecycle:lifecycle-runtime:2.0.0-alpha1 (*)
| +--- androidx.lifecycle:lifecycle-service:2.0.0-alpha1
| | \--- androidx.lifecycle:lifecycle-runtime:2.0.0-alpha1 (*)
| \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0-alpha1 (*)
+--- androidx.lifecycle:lifecycle-viewmodel:2.0.0-alpha1 (*)
+--- androidx.core:core-ktx:1.0.0-alpha1
| +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.41 -> 1.2.60 (*)
| +--- androidx.annotation:annotation:1.0.0-alpha1
| \--- androidx.core:core:1.0.0-alpha1 (*)
+--- com.google.firebase:firebase-core:16.0.1
| +--- com.google.firebase:firebase-analytics:16.0.1
| | +--- com.google.android.gms:play-services-basement:15.0.1
| | | \--- com.android.support:support-v4:26.1.0
| | | +--- com.android.support:support-compat:26.1.0
| | | | +--- com.android.support:support-annotations:26.1.0
| | | | \--- android.arch.lifecycle:runtime:1.0.0
| | | | +--- android.arch.lifecycle:common:1.0.0
| | | | \--- android.arch.core:common:1.0.0
| | | +--- com.android.support:support-media-compat:26.1.0
| | | | +--- com.android.support:support-annotations:26.1.0
| | | | \--- com.android.support:support-compat:26.1.0 (*)
| | | +--- com.android.support:support-core-utils:26.1.0
| | | | +--- com.android.support:support-annotations:26.1.0
| | | | \--- com.android.support:support-compat:26.1.0 (*)
| | | +--- com.android.support:support-core-ui:26.1.0
| | | | +--- com.android.support:support-annotations:26.1.0
| | | | \--- com.android.support:support-compat:26.1.0 (*)
| | | \--- com.android.support:support-fragment:26.1.0
| | | +--- com.android.support:support-compat:26.1.0 (*)
| | | +--- com.android.support:support-core-ui:26.1.0 (*)
| | | \--- com.android.support:support-core-utils:26.1.0 (*)
| | +--- com.google.android.gms:play-services-measurement-base:[16.0.0] -> 16.0.0
| | +--- com.google.android.gms:play-services-stats:15.0.1
| | | \--- com.google.android.gms:play-services-basement:[15.0.1] -> 15.0.1 (*)
| | +--- com.google.firebase:firebase-analytics-impl:[16.1.1] -> 16.1.1
| | | +--- com.google.android.gms:play-services-ads-identifier:15.0.1
| | | | \--- com.google.android.gms:play-services-basement:[15.0.1,16.0.0) -> 15.0.1 (*)
| | | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-measurement-base:[16.0.0] -> 16.0.0
| | | +--- com.google.android.gms:play-services-stats:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-tasks:15.0.1
| | | | \--- com.google.android.gms:play-services-basement:[15.0.1] -> 15.0.1 (*)
| | | +--- com.google.firebase:firebase-common:16.0.0
| | | | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | | | \--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| | | \--- com.google.firebase:firebase-iid:16.0.0 -> 16.2.0
| | | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-stats:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| | | +--- com.google.firebase:firebase-common:16.0.0 (*)
| | | \--- com.google.firebase:firebase-iid-interop:16.0.0
| | | +--- com.google.android.gms:play-services-base:15.0.1
| | | | +--- com.google.android.gms:play-services-basement:[15.0.1] -> 15.0.1 (*)
| | | | \--- com.google.android.gms:play-services-tasks:[15.0.1] -> 15.0.1 (*)
| | | \--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | \--- com.google.firebase:firebase-common:16.0.0 (*)
| \--- com.google.firebase:firebase-measurement-connector-impl:16.0.1
| +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| +--- com.google.android.gms:play-services-measurement-base:[16.0.0] -> 16.0.0
| +--- com.google.firebase:firebase-analytics:[16.0.1] -> 16.0.1 (*)
| +--- com.google.firebase:firebase-analytics-impl:[16.1.1] -> 16.1.1 (*)
| +--- com.google.firebase:firebase-common:16.0.0 (*)
| \--- com.google.firebase:firebase-measurement-connector:16.0.0
| \--- com.google.android.gms:play-services-basement:15.0.1 (*)
+--- com.google.firebase:firebase-auth:16.0.2
| +--- com.google.android.gms:play-services-base:15.0.1 (*)
| +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| +--- com.google.android.gms:play-services-flags:15.0.1
| | +--- com.google.android.gms:play-services-base:[15.0.1] -> 15.0.1 (*)
| | \--- com.google.android.gms:play-services-basement:[15.0.1] -> 15.0.1 (*)
| +--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| +--- com.google.firebase:firebase-auth-interop:16.0.0
| | +--- com.google.android.gms:play-services-base:15.0.1 (*)
| | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | +--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| | \--- com.google.firebase:firebase-common:16.0.0 (*)
| \--- com.google.firebase:firebase-common:16.0.0 (*)
\--- com.google.firebase:firebase-messaging:17.1.0
+--- com.google.android.gms:play-services-basement:15.0.1 (*)
+--- com.google.android.gms:play-services-tasks:15.0.1 (*)
+--- com.google.firebase:firebase-common:16.0.0 (*)
+--- com.google.firebase:firebase-iid:[16.2.0] -> 16.2.0 (*)
\--- com.google.firebase:firebase-measurement-connector:16.0.0 (*)
有什么办法解决吗?
谢谢