Сбой при обновлении Android - PullRequest
0 голосов
/ 03 марта 2019

У меня проблемы с модернизацией и охтпп после обновления моей Android Studio до последней версии несколько дней назад.До этого мой код работал без проблем.Вот класс для модифицированного клиента, и он вылетает

public class ApiClient {
public static final String BASE_URL = "myapiurl";
private static Retrofit mRetrofit = null;

public static Retrofit getClient() {
    if (mRetrofit ==null) {
        Gson gson = new GsonBuilder()
                .setLenient()
                .setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
                .create();
            mRetrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create(gson))
                    .build();
    }
    return mRetrofit;
}

}

Ошибка, которую я получаю, довольно общая, и я не знаю, куда идти дальше.

2019-03-03 07:15:15.774 21769-21769/com.instreamwater.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.instreamwater.app, PID: 21769
java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method
    at okhttp3.internal.Util.<clinit>(Unknown Source:111)
    at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Unknown Source:0)
    at okhttp3.HttpUrl$Builder.parse(Unknown Source:11)
    at okhttp3.HttpUrl.get(Unknown Source:6)
    at retrofit2.Retrofit$Builder.baseUrl(Unknown Source:5)
    at com.instreamwater.app.network.ApiClient.getClient(Unknown Source:12)
    at com.instreamwater.app.activity.LogInOrSignUpActivity.a(Unknown Source:30)
    at com.instreamwater.app.activity.LogInOrSignUpActivity.a(Unknown Source:0)
    at com.instreamwater.app.activity.LogInOrSignUpActivity$4.onClick(Unknown Source:32)
    at android.view.View.performClick(View.java:6597)
    at android.view.View.performClickInternal(View.java:6574)
    at android.view.View.access$3100(View.java:778)
    at android.view.View$PerformClick.run(View.java:25885)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
 Caused by: java.lang.ClassCastException: Bootstrap method returned null
    at okhttp3.internal.Util.<clinit>(Unknown Source:111) 
    at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Unknown Source:0) 
    at okhttp3.HttpUrl$Builder.parse(Unknown Source:11) 
    at okhttp3.HttpUrl.get(Unknown Source:6) 
    at retrofit2.Retrofit$Builder.baseUrl(Unknown Source:5) 
    at com.instreamwater.app.network.ApiClient.getClient(Unknown Source:12) 
    at com.instreamwater.app.activity.LogInOrSignUpActivity.a(Unknown Source:30) 
    at com.instreamwater.app.activity.LogInOrSignUpActivity.a(Unknown Source:0) 
    at com.instreamwater.app.activity.LogInOrSignUpActivity$4.onClick(Unknown Source:32) 
    at android.view.View.performClick(View.java:6597) 
    at android.view.View.performClickInternal(View.java:6574) 
    at android.view.View.access$3100(View.java:778) 
    at android.view.View$PerformClick.run(View.java:25885) 
    at android.os.Handler.handleCallback(Handler.java:873) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:193) 
    at android.app.ActivityThread.main(ActivityThread.java:6669) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

2019-03-03 07:15:15.945 7099-7166/system_process E/InputDispatcher: channel 'b2904e com.instreamwater.app/com.instreamwater.app.activity.LogInOrSignUpActivity (server)' ~ Канал неисправимо сломан и будет удален!

Кто-нибудь еще сталкивался с этой проблемой в последнее время после обновлений Android Studio или даже в прошлом, и есть какие-либо предложения о том, как это исправить?Я использую последнюю версию как: implementation 'com.squareup.retrofit2:retrofit:2.5.0' в build.gradle.

Ответы [ 3 ]

0 голосов
/ 12 марта 2019

Для справки: репродукция ответа Джейка Уортона :

Вы обновили OkHttp до версии 3.13 или новее и в примечаниях к выпуску , OkHttpтеперь требует, чтобы вы включили Java 8 в ваших сборках для работы.Вы можете узнать больше о том, как включить это в https://developer.android.com/studio/write/java8-support.

Вам нужно добавить что-то вроде

android {
    compileOptions {
        targetCompatibility = "8"
        sourceCompatibility = "8"
    }
}
0 голосов
/ 13 марта 2019

Я добавляю:

     android {
        compileOptions {
            targetCompatibility = "8"
            sourceCompatibility = "8"
        }
}

, но это не работает, поэтому я перенесу свой проект в AdroidX, и он действительно работает.

0 голосов
/ 04 марта 2019

В случае, если это кому-нибудь поможет, я отправил сообщение в проект Github и получил ответ здесь , который исправил мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...