在成功将Kafka-clients库添加到依赖项后,尝试运行Android应用程序时出现此错误。
java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process /Users/mac/.gradle/caches/modules-2/files-2.1/org.apache.kafka/kafka-clients/1.1.1/5e96463c4ed422dbed979ae1395176a9c676c090/kafka-clients-1.1.1.jar
Caused by: com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process /Users/mac/.gradle/caches/modules-2/files-2.1/org.apache.kafka/kafka-clients/1.1.1/5e96463c4ed422dbed979ae1395176a9c676c090/kafka-clients-1.1.1.jar
at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:442)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
... 51 more
build.gradle文件的片段如下所示:
dependencies { implementation 'org.apache.kafka:kafka-clients:1.1.1' }
请问我怎么可能做错了?
答案 0 :(得分:0)
由于新Android Studio版本中对Kafka的支持,它给出了错误,请尝试降级依赖版本并尝试重新构建。
答案 1 :(得分:0)
尝试使用最新版本的Kaftka Client(2.1.1)修复它
答案 2 :(得分:0)
问题::从0.11.0.0版开始,Apache Kafka使用了MethodHandle,它在API级别26中添加。由于您的minSdkVersion
小于26,因此编译器会抛出该异常错误。
解决方案::您有2个选项。
选项1:将gradle文件中的minSdkVersion
更改为26。
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
..."
minSdkVersion 26 // Change this line
...
}
...
}
选项2:将Apache Kafka版本降级到0.10.2.2
dependencies {
implementation 'org.apache.kafka:kafka-clients:0.10.2.2'
}
注意:我建议您选择第一个选项,因为您可以毫无问题地使用最新版本的Apache Kafka。此外,将依赖项降级到较低版本并不总是最佳选择。