📅  最后修改于: 2023-12-03 15:14:05.872000             🧑  作者: Mango
如果你在开发使用Java的Capacitor应用程序时遇到“FERR_CLEARTEXT_NOT_PERMITTED”错误,那么你来到了正确的地方。在本篇文章中,我们将介绍这个错误的含义,以及如何解决它。
“FERR_CLEARTEXT_NOT_PERMITTED”错误是由安卓9(Android 9)引入的。Android 9 自带了一个可选的设置,该设置限制了未加密的网络流量。如果你的应用程序尝试访问未加密的网络资源,即使用 HTTP 协议而不是 HTTPS 协议,那么就会出现这个错误。
为了解决这个问题,你需要执行以下步骤:
<application android:usesCleartextTraffic="true">
这个设置将允许应用程序使用未加密的网络流量。
ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.build();
OkHttpClient.Builder builder = new OkHttpClient.Builder()
.connectionSpecs(Collections.singletonList(spec));
这个设置将强制客户端使用 TLS 1.2 或更高版本的协议进行通信,从而遵守加密标准。
在开发 Capcitor 应用程序时,这个错误是一个常见的问题。但是通过遵循以上的解决方案,你可以轻松地解决这个问题并成功运行你的应用程序。