如何排除gradle依赖的某些部分?

时间:2019-07-11 03:31:28

标签: android gradle android-gradle gcloud

多个依赖项具有相似的命名类,并且我得到了重复的类错误。为了解决这个问题,我认为排除这些部分可能会有所帮助。如何排除这些部分?

错误+很多相似的行:

Duplicate class com.google.protobuf.AbstractMessageLite found in modules protobuf-java-3.7.1.jar (com.google.protobuf:protobuf-java:3.7.1) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractMessageLite$Builder found in modules protobuf-java-3.7.1.jar (com.google.protobuf:protobuf-java:3.7.1) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractMessageLite$Builder$LimitedInputStream found in modules protobuf-java-3.7.1.jar (com.google.protobuf:protobuf-java:3.7.1) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)

依赖项:

// gRPC
    implementation "io.grpc:grpc-okhttp:$grpcVersion"
    implementation "io.grpc:grpc-protobuf-lite:$grpcVersion"
    implementation "io.grpc:grpc-stub:$grpcVersion"
    implementation 'javax.annotation:javax.annotation-api:1.3.2'
    //protobuf 'com.google.protobuf:protobuf-java:3.8.0'//error persist with this and without this

    // OAuth2 for Google API
    implementation('com.google.auth:google-auth-library-oauth2-http:0.7.0') {
        exclude module: 'httpclient'
    }

    //Translation
    implementation "com.google.cloud:google-cloud-translate:$grpcVersion"
    implementation('com.google.cloud:google-cloud-translate:1.79.0') {
        exclude group: 'org.apache.httpcomponents'
        exclude group: 'org.json', module: 'json'

//I want to exclude error classes here...HOW?...
        //exclude group: 'com.google.protobuf', module: 'protobuf-java-3.7.1'
    }
    annotationProcessor "com.google.cloud:google-cloud-translate:$grpcVersion"

ext上的grpc版本:

grpcVersion = '1.4.0'

这些与支持库版本无关,因为它们是翻译库和protobuf-lite 库。这些正在使用这些类的不同版本,我不知道排除它们是否行得通。

是否可以提取那些库并更改那些类名? 我想看看排除那些类是否可以解决它。如何排除?

0 个答案:

没有答案