在发布模式下构建应用程序时发生错误[duplicateplatformclasses]

时间:2019-03-07 10:14:51

标签: java android

在不建议使用GDAA之后,更新了Android Studio并将GDAA更新为Google Drive REST API之后,但是现在我无法以发行模式构建应用程序,而之前没有任何问题。这是完整的错误消息:

  

org.gradle.api.GradleException:Lint在组装发行目标时发现了致命错误。要继续,请修复lint标识的问题,或按如下所示修改构建脚本:   ...   android {       lintOptions {           checkReleaseBuilds为假           //或者,如果愿意,您可以继续检查发行版本中的错误,           //但是即使发现错误也要继续构建:           abortOnError false       }   }

lint-results-release-fatal.xml 文件中,我收到以下消息:

  

'commons-logging'定义了现在与类冲突的类   由Android提供。解决方案包括查找更新的版本或   没有相同问题的替代库(例如,   对于httpclient,请使用HttpUrlConnection或okhttp代替),或   使用jarjar之类的东西重新打包库。

     

'httpclient'定义与现在提供的类冲突的类   通过Android。解决方案包括查找更新的版本或替代方案   没有相同问题的库(例如,对于   httpclient使用HttpUrlConnection或okhttp代替),或重新打包   使用jarjar之类的库。

这是我的gradle依赖项:

dependencies {
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:support-core-utils:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.android.gms:play-services-ads:17.1.3'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'com.google.http-client:google-http-client-gson:1.26.0'
    implementation('com.google.api-client:google-api-client-android:1.26.0') {
        exclude group: 'org.apache.httpcomponents'
    }
    implementation('com.google.apis:google-api-services-drive:v3-rev136-1.25.0') {
        exclude group: 'org.apache.httpcomponents'
    }
}

我尝试了thisthis,但是没有运气。

1 个答案:

答案 0 :(得分:0)

尝试所有其他解决方案都没有运气之后,我突然发现该版本的Android Studio 3.3.2无法检测到过时的库,并发现导致问题的库是这样的:

implementation 'com.google.http-client:google-http-client-gson:1.26.0'

这是该question中的可疑库。

我只是将此库更新为当前的最新版本:

implementation 'com.google.http-client:google-http-client-gson:1.28.0'

问题解决了。

我发布此问题并给出答案,只是因为我找不到正确的答案,而那些遇到相同问题的人可能是正确的解决方案。