Дооснащение 2 в версии Android 4.x - PullRequest
0 голосов
/ 02 января 2019

Мы используем Retrofit 2 и сталкиваемся с этой исключительной ситуацией в версиях Android 4.x и работаем должным образом в других версиях Android. Добавлен код ниже

Caused by java.lang.NoClassDefFoundError: javax/annotation/Nullable
   at java.lang.reflect.Field.getAnnotation(Field.java)
   at java.lang.reflect.Field.getAnnotation(Field.java:212)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldNames(ReflectiveTypeAdapterFactory.java:72)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:159)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
   at com.google.gson.Gson.getAdapter(Gson.java:423)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
   at com.google.gson.Gson.getAdapter(Gson.java:423)
   at retrofit2.converter.gson.GsonConverterFactory.requestBodyConverter(GsonConverterFactory.java:71)
   at retrofit2.Retrofit.nextRequestBodyConverter(Retrofit.java:282)
   at retrofit2.Retrofit.requestBodyConverter(Retrofit.java:262)
   at retrofit2.ServiceMethod$Builder.parseParameterAnnotation(ServiceMethod.java:710)
   at retrofit2.ServiceMethod$Builder.parseParameter(ServiceMethod.java:336)
   at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:204)
   at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:170)
   at retrofit2.Retrofit$1.invoke(Retrofit.java:147)
   at $Proxy1.getMagGold(Unknown Source)
   at com.amazon.DynamoDBOne.getMagGold(DynamoDBOne.java:82)
   at com.task.SyncUserDatas.getUserGoldData(SyncUserDatas.java:330)
   at com.task.SyncUserDatas.doInBackground(SyncUserDatas.java:292)
   at com.task.SyncUserDatas.doInBackground(SyncUserDatas.java:57)
   at android.os.AsyncTask$2.call(AsyncTask.java:287)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
   at java.util.concurrent.FutureTask.run(FutureTask.java:137)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
   at java.lang.Thread.run(Thread.java:856)

Ниже приведен код

public interface ApiServices{
@POST("getGold")
Call<GetMagGoldResponse> getMagGold(@Header("Authorization") String Authorization, @Body UserId userId);
}
Retrofit retrofit = new Retrofit.Builder()
            .addConverterFactory(GsonConverterFactory.create())
            .baseUrl(<URL>)
            .client(getLogClient())
            .build();
ApiServices service = retrofit.create(ApiServices.class);

service.getMagGold(token, userId).execute().body();

1 Ответ

0 голосов
/ 02 января 2019

поместите эту строку в свой gradle.build, и вы готовы.

implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...