OpenMined / KotlinSyft

The official Syft worker for secure on-device machine learning
https://www.openmined.org
Apache License 2.0
85 stars 28 forks source link

java.lang.NoClassDefFoundError: on Android 6 #321

Open mustansarsaeed opened 3 years ago

mustansarsaeed commented 3 years ago

Hi,

Demoapp is working fine on Nexus6P running android 9. I am trying to run application on Nexus 5 (Android 6) but getting the following error:

Caused by: java.lang.NoClassDefFoundError: org.openmined.syft.networking.datamodels.syft.AuthenticationResponseSerializer$deserialize$data$1$1
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at org.openmined.syft.networking.datamodels.syft.AuthenticationResponseSerializer$deserialize$data$1.invoke(AuthenticationDataModels.kt:66)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at org.openmined.syft.networking.datamodels.syft.AuthenticationResponseSerializer$deserialize$data$1.invoke(AuthenticationDataModels.kt:55)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at kotlinx.serialization.json.JsonElementBuildersKt.json(JsonElementBuilders.kt:14)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at org.openmined.syft.networking.datamodels.syft.AuthenticationResponseSerializer.deserialize(AuthenticationDataModels.kt:65)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at org.openmined.syft.networking.datamodels.syft.AuthenticationResponseSerializer.deserialize(AuthenticationDataModels.kt:55)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:34)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at kotlinx.serialization.json.internal.StreamingJsonInput.decodeSerializableValue(StreamingJsonInput.kt:33)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at kotlinx.serialization.CoreKt.decode(Core.kt:80)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at kotlinx.serialization.json.Json.parse(Json.kt:126)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at kotlinx.serialization.json.Json$Companion.parse(Json.kt:178)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at com.jakewharton.retrofit2.converter.kotlinx.serialization.Serializer$FromString.fromResponseBody(Serializer.kt:18)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at com.jakewharton.retrofit2.converter.kotlinx.serialization.DeserializationStrategyConverter.convert(DeserializationStrategyConverter.kt:11)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at com.jakewharton.retrofit2.converter.kotlinx.serialization.DeserializationStrategyConverter.convert(DeserializationStrategyConverter.kt:7)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:225)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at retrofit2.OkHttpCall.execute(OkHttpCall.java:188)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:45)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.Observable.subscribe(Observable.java:12267)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.Observable.subscribe(Observable.java:12267)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.Single.subscribe(Single.java:3603)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
05-08 12:57:26.776 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
05-08 12:57:26.777 15456-15592/org.openmined.syft.demo W/System.err:     at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
05-08 12:57:26.777 15456-15592/org.openmined.syft.demo W/System.err:    ... 6 more

Can anyone please comment what can be the issue? KotlinSyft is not supported on Android 6 ? or some libraries are not supported on Android 6?

Thanks

mccorby commented 3 years ago

Hi @mustansarsaeed , We didn't test KotlinSyft in versions below SDK 24. That was out of the scope of the library.