java.lang.NoClassDefFoundError для усиления синхронизации приложений-хранилище данных Android Studio

#java #android #android-studio #aws-amplify

Вопрос:

Я новичок в AWS Amplify и пытаюсь следовать приведенной здесь документации. Все отлично работают с приведенным ниже кодом:

  try {
     Amplify.addPlugin(new AWSApiPlugin()); //Giving error when inserted
     Amplify.addPlugin(new AWSDataStorePlugin());
     Amplify.configure(getApplicationContext());

     Log.i("Tutorial", "Initialized Amplify");
 } catch (AmplifyException e) {
     Log.e("Tutorial", "Could not initialize Amplify", e);
 }


Todo item = Todo.builder()
   .name("Build Android application")
   .description("Build an Android application using Amplify")
   .build();

 Amplify.DataStore.save(item,
     success -> Log.i("Tutorial", "Saved item: "   success.item().getName()),
     error -> Log.e("Tutorial", "Could not save item to DataStore", error)
 );
 

Но когда я добавлял Amplify.addPlugin(new AWSApiPlugin()); внутри try/catch и снова запускал приложение, оно всегда выходило из строя и выдавало мне эту ошибку.

 E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
    Process: com.dreamakers.coonna, PID: 11947
    java.lang.NoClassDefFoundError: com.amplifyframework.datastore.syncengine.-$Lambda$x5ZpzdiYf1RXA-Jlr3R79mbPdAY
        at com.amplifyframework.datastore.syncengine.SyncProcessor.lambda$syncModel$13(SyncProcessor.java:238)
        at com.amplifyframework.datastore.syncengine.-$Lambda$SyncProcessor$2cJLxw0MiDnoj5SD1yHgXEAXleg.test(lambda)
        at io.reactivex.rxjava3.internal.operators.flowable.FlowableTakeUntilPredicate$InnerSubscriber.onNext(FlowableTakeUntilPredicate.java:60)
        at io.reactivex.rxjava3.internal.operators.flowable.FlowableMap$MapSubscriber.onNext(FlowableMap.java:69)
        at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:92)
        at io.reactivex.rxjava3.internal.util.HalfSerializer.onNext(HalfSerializer.java:45)
        at io.reactivex.rxjava3.internal.operators.flowable.FlowableConcatMap$ConcatMapImmediate.innerNext(FlowableConcatMap.java:204)
        at io.reactivex.rxjava3.internal.operators.flowable.FlowableConcatMap$ConcatMapInner.onNext(FlowableConcatMap.java:559)
        at io.reactivex.rxjava3.internal.subscriptions.DeferredScalarSubscription.complete(DeferredScalarSubscription.java:133)
        at io.reactivex.rxjava3.internal.operators.single.SingleToFlowable$SingleToFlowableObserver.onSuccess(SingleToFlowable.java:62)
        at io.reactivex.rxjava3.internal.operators.single.SingleCreate$Emitter.onSuccess(SingleCreate.java:68)
        at com.amplifyframework.datastore.syncengine.SyncProcessor.lambda$null$14(SyncProcessor.java:276)
        at com.amplifyframework.datastore.syncengine.-$Lambda$SyncProcessor$5f0_vnPDKFWgAo9MA_Vt3rfcC74.accept(lambda)
        at com.amplifyframework.datastore.appsync.AppSyncClient.lambda$sync$0(AppSyncClient.java:96)
        at com.amplifyframework.datastore.appsync.-$Lambda$AppSyncClient$-37xmeMO4UPqA1gVwRa15COBIjo.accept(lambda)
        at com.amplifyframework.api.aws.AppSyncGraphQLOperation$OkHttpCallback.onResponse(AppSyncGraphQLOperation.java:147)
        at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)
 

Пожалуйста, обратите внимание, что я уже настроил усиление и отправил все необходимые файлы в облако.