java-8 - 无法创建 ConnectionFactory 对象

标签 java-8 rabbitmq android-studio-3.0

我正在使用rabbitmq构建一个android聊天应用程序,并且该项目构建没有任何问题。但是,我在创建 ConnectionFactory 对象时遇到问题。它给了我以下错误

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zabu.kyimoecho.mosaic, PID: 9002
    java.lang.NoClassDefFoundError: com.rabbitmq.client.impl.nio.-$$Lambda$NioParams$NrSUEb8m8wLfH2ztzTBNKyBN8fA
        at com.rabbitmq.client.impl.nio.NioParams.<clinit>(NioParams.java:37)
        at com.rabbitmq.client.ConnectionFactory.<init>(ConnectionFactory.java:153)
        at com.zabu.kyimoecho.mosaic.GenericIdentity.<init>(GenericIdentity.kt:11)
        at com.zabu.kyimoecho.mosaic.Admin.<init>(Admin.kt:9)
        at com.zabu.kyimoecho.mosaic.MainActivity.<init>(MainActivity.kt:10)
        at java.lang.Class.newInstance(Native Method)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
        at android.app.ActivityThread.-wrap11(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5417)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我上网查了一下,发现的建议并没有解决这个问题。

我使用的是 Android 3.3.2、JDK 8 和 Rabbitmq 5.6.0。

构建.gradle:

....
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
...
dependencies {
   implementation 'com.rabbitmq:amqp-client:5.6.0'
   .....
}

最佳答案

仅供引用(如果有人遇到类似问题),我通过在 build.gradle 中将 targetSdkVersion 从 24 更改为 27 来解决此问题。

关于java-8 - 无法创建 ConnectionFactory 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55201745/

相关文章:

android - Kotlin - 如何在 Telegram 应用程序中打开 Telegram 群组的链接

android - 构建失败 : Program Type Already Present

android - 无法通过 Android Studio 3.0 项目结构搜索依赖项

java - 如何在 Java 8 中使用对方付费电话?

rabbitmq - 如何在 Masstransit/RabbitMQ 中组织队列?

java - 串行 Steam 的性能、内部工作和执行顺序

ssl - Erlang 安装和 "/usr/local/ssl/lib/libcrypto.a: could not read symbols: Bad value"

mysql - mysql 中列值的增量更新。并发问题?

java - 使用反射为泛型类型变量生成 lambda 类

java - Map<Integer, List<courseCLS>> 到 Map<Integer, List<Course>>