首页 > 解决方案 > 放大 appsync-datastore Android Studio 上的 java.lang.NoClassDefFoundError

问题描述

我是 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)

请注意,我已经配置了放大并将所有必要的文件推送到云端。

标签: javaandroidandroid-studioaws-amplify

解决方案


推荐阅读