下面是我在 gradle 文件中添加的代码,用于解决 protobuf 中出现错误的重复 GeneratedMessageLite 类问题:
原因:协议:标准输出:。标准错误:google/protobuf/descriptor.proto:找不到文件。
google/api/annotations.proto:20:1:未找到导入“google/protobuf/descriptor.proto”或有错误。
google/api/annotations.proto:26:8:未定义“google.protobuf.MethodOptions”。google/api/annotations.proto:19:1:警告:导入 google/api/http.proto 但未使用。
android{
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/INDEX.LIST'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
exclude("META-INF/*.kotlin_module")
}
configurations.all {
exclude group:'com.google.api.grpc',module:'proto-google-common-protos'
exclude group: 'com.google.protobuf', module: 'protobuf-java'
exclude group: 'com.google.guava',module: 'guava-jdk5'
}
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.8.0'
}
generateProtoTasks {
all().each { task ->
task.builtins {
java {
option "lite"
}
}
}
}
}
dependencies {
implementation "io.grpc:grpc-okhttp:1.31.1"
implementation "io.grpc:grpc-stub:1.31.1"
implementation 'javax.annotation:javax.annotation-api:1.2'
implementation 'com.google.protobuf:protobuf-javalite:3.12.0'
implementation 'com.google.cloud:google-cloud-speech:1.24.0'
implementation 'com.google.api.grpc:grpc-google-cloud-speech-v1:1.23.0';
}