android - Android 更新后改造崩溃
问题描述
几天前将我的 Android Studio 更新到最新版本后,我遇到了改造和 okhttp 的问题。在此之前,我的代码可以正常工作。这是改造客户的课程,它崩溃了
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
.
解决方案
作为参考,杰克沃顿的答案的复制品:
您已将 OkHttp 更新到 3.13 或更高版本,并且根据其发行说明,OkHttp 现在要求您在构建中启用 Java 8 才能运行。您可以在https://developer.android.com/studio/write/java8-support了解有关如何启用此功能的更多信息。
你需要添加类似的东西
android { compileOptions { targetCompatibility = "8" sourceCompatibility = "8" } }
推荐阅读
- python - 消息中心编程
- amazon-web-services - aws - 在每个 api 调用上添加 lastModified
- python - 没有名为“pycaret”的模块
- javascript - 图像未在 javascript 打印预览中显示
- database - 变量有两个值 - Flutter
- flask - gunicorn 配置是否限制烧瓶可以处理的并行请求数量?
- azure - Azure Synapse Sql 池未从 Azure Synapse Studio 数据流接收数据
- node.js - 如何使用 node.js 检查 MongoDB 集合中的电话号码是否等效?
- jquery - 为什么我的 jQuery 承诺不能解决或拒绝,并根据要求提供一个数字?
- flutter - 在 just_audio 中聆听歌曲结尾