Я прошел через несколько решений Stack Overflow, которые в основном предлагали включить Java 8, но он все еще не работает для меня. Минимальная версия SDK для моего приложения - 26. Полный код ошибки:
E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: com.example.myRestApp, PID: 28626
java.lang.BootstrapMethodError: Exception from call site #2 bootstrap method
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.onFailure(DefaultCallAdapterFactory.java:87)
at retrofit2.OkHttpCall$1.callFailure(OkHttpCall.java:142)
at retrofit2.OkHttpCall$1.onFailure(OkHttpCall.java:137)
at okhttp3.RealCall$AsyncCall.run(RealCall.kt:153)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassCastException: Bootstrap method returned null
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.onFailure(DefaultCallAdapterFactory.java:87)
at retrofit2.OkHttpCall$1.callFailure(OkHttpCall.java:142)
at retrofit2.OkHttpCall$1.onFailure(OkHttpCall.java:137)
at okhttp3.RealCall$AsyncCall.run(RealCall.kt:153)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Я уже включил Java 8 в моем файле build.gradle. Мой Java класс, как показано ниже:
private void getPhotos() {
ApiInterfrace apiInterfrace = ServiceGenerator.createService(ApiInterfrace.class);
Call<List<Photo>> photosList = apiInterfrace.getPhotos();
photosList.enqueue(new Callback<List<Photo>>() {
@Override
public void onResponse(Call<List<Photo>> call, Response<List<Photo>> response) {
if (response.isSuccessful()) {
for (Photo photo : response.body()) {
photos.add(photo);
// Log.d("TAG", photo.getUrl().getFull());
}
photosAdatper.notifyDataSetChanged();
} else {
Log.d(TAG, "Fail");
}
showProgressbar(false);
}
@Override
public void onFailure(Call<List<Photo>> call, Throwable t) {
Log.d(TAG, "fail" + t.getMessage());
}
});
}