Не удалось создать объект ConnectionFactory - PullRequest
0 голосов
/ 17 марта 2019

Я создаю чат-приложение для Android с использованием rabbitmq, и проект собирается без каких-либо проблем. Однако у меня возникла проблема при создании объекта 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.

build.gradle:

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

1 Ответ

0 голосов
/ 23 марта 2019

Просто ради справки (если кто-то сталкивается с подобной проблемой), я решил эту проблему, изменив targetSdkVersion на 27 с 24 в build.gradle.

...