Java 8 未能创建ConnectionFactory对象

Java 8 未能创建ConnectionFactory对象,java-8,rabbitmq,android-studio-3.0,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.-$$Lam

我正在使用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)

为了便于参考(如果有人遇到类似问题),我在build.gradle中将targetSdkVersion从24更改为27,从而解决了这个问题。

我也遇到了同样的问题。如果您看到此页面上的文档,它会说amqp client:5.x系列库是针对Android 7(Nougat)及以上版本的。如果您使用的是Android 7以下的任何Android版本,那么您可以使用amqp客户端:4.x系列库


我想同时使用这两个版本,所以我得到了一个amqp客户端:4.x系列库源代码,并用稍微不同的包名重新编译了它,然后使用jar文件,这样我就可以将更新的5.x系列用于较新的Android版本,将4.x系列用于较低的Android版本。

我在连接rabbitmq时遇到问题,但无法工作。你能提供样品代码连接给我吗?巴沙伦。olajide@gmail.com
....
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
...
dependencies {
   implementation 'com.rabbitmq:amqp-client:5.6.0'
   .....
}