首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android espresso测试失败,返回UnknownServiceException: CLEARTEXT

这个错误是由于Android应用程序在使用网络请求时,请求的URL使用了不安全的明文传输协议(如HTTP),而当前的Android版本默认禁止了明文传输。为了解决这个问题,可以采取以下几个步骤:

  1. 使用HTTPS协议:将应用程序中的网络请求URL改为使用HTTPS协议,这样可以保证数据传输的安全性。HTTPS使用了SSL/TLS协议对数据进行加密和认证,防止数据被窃取或篡改。
  2. 配置网络安全策略:在应用程序的清单文件(AndroidManifest.xml)中,可以配置网络安全策略,允许使用明文传输协议。可以通过在<application>标签下添加以下代码来实现:
代码语言:txt
复制
<application
    ...
    android:usesCleartextTraffic="true"
    ...>
    ...
</application>

这样配置后,应用程序就可以使用明文传输协议进行网络请求了。但需要注意的是,明文传输协议存在安全风险,建议仅在开发和测试阶段使用,正式发布时应使用HTTPS协议。

  1. 使用网络安全配置文件:在Android 9及以上的版本中,可以使用网络安全配置文件(network_security_config.xml)来配置网络安全策略。在res目录下创建一个名为xml的文件夹,并在该文件夹下创建network_security_config.xml文件,内容如下:
代码语言:txt
复制
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

然后,在清单文件的<application>标签中添加以下代码:

代码语言:txt
复制
<application
    ...
    android:networkSecurityConfig="@xml/network_security_config"
    ...>
    ...
</application>

这样配置后,应用程序也可以使用明文传输协议进行网络请求。

推荐的腾讯云相关产品:腾讯云SSL证书服务。腾讯云SSL证书服务提供了各种类型的SSL证书,包括DV SSL证书、OV SSL证书和EV SSL证书,可以为网站和应用程序提供安全的HTTPS加密连接。详情请参考腾讯云SSL证书服务官方介绍:腾讯云SSL证书服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

12分36秒

07_Activity使用测试_带回调启动与带结果返回.avi

领券