java - Nativescript 崩溃“预期的 Android API 级别 21+ 但为 30”
问题描述
我的应用程序在我的真实设备和模拟器(Android 10 - API 29)上完美启动,但是当我尝试在 Android 11 - api 30 上模拟时,它在启动屏幕后崩溃并出现以下错误:
StackTrace:
java.lang.ExceptionInInitializerError
at okhttp3.internal.platform.Platform.get(Platform.java:85)
at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:263)
at okhttp3.OkHttpClient.<init>(OkHttpClient.java:229)
at okhttp3.OkHttpClient.<init>(OkHttpClient.java:202)
at io.socket.engineio.client.Socket.<init>(Socket.java:215)
at io.socket.engineio.client.Socket.<init>(Socket.java:174)
at io.socket.client.Manager$Engine.<init>(Manager.java:638)
at io.socket.client.Manager$1.run(Manager.java:277)
at io.socket.thread.EventThread.exec(EventThread.java:55)
at io.socket.client.Manager.open(Manager.java:266)
at io.socket.client.Manager.open(Manager.java:256)
at io.socket.client.Socket$3.run(Socket.java:142)
at io.socket.thread.EventThread$2.run(EventThread.java:80)
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:923)
Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 30
at okhttp3.internal.platform.AndroidPlatform.buildIfSupported(AndroidPlatform.java:238)
at okhttp3.internal.platform.Platform.findPlatform(Platform.java:202)
at okhttp3.internal.platform.Platform.<clinit>(Platform.java:79)
... 16 more
我发现这篇文章说你必须更新 okhttp3 但我不知道如何在 nativescript 中执行此操作,我猜它在 nativescript/core 中?
我的环境:
- 本机脚本版本:7.1.0
- Nativescript核心:7.0.3
- Nativescript Vue:2.8.1
感谢你的帮助
解决方案
这已在 OkHttp https://github.com/square/okhttp/issues/6569在 3.12.13(旧版 Android)、3.14.7(Android 5+)和 4.9.1 https://github.com/square中修复/okhttp/blob/edf477cb4e7b1d59c6e3e5ac00870619340ce990/docs/changelog_3x.md#version-3147
有关更新依赖项的讨论和示例,请参阅https://github.com/NativeScript/canvas/issues/32
推荐阅读
- r - 如何在 R 的小标题输出中添加换行符?
- mysql - MariaDB 总和大小从表中的 id 到另一个中的 id
- json - 在Angular中存储和处理来自httpClient get请求的JSON数据的最佳方法
- java - 斐波那契堆提取最小值实现不起作用
- google-chrome - Chrome 80 处理 HTTP 302 重定向和删除查询字符串
- flutter - Flutter GetIt 插件 - 在 GetIt 中没有注册类型 xxx
- java - 如何在函数参数中使用全局变量?
- css - 用 css 列填充子元素的剩余高度
- c++ - 堆栈溢出?非常深的递归过程中的有趣行为
- c++ - std::copy 导致“变量周围的堆栈”已损坏”错误