未指定网络安全配置,使用平台默认值 - Android 日志

问题描述 投票:0回答:9

我正在尝试通过 000webhost.com 创建数据库。每当我从 android studio 运行应用程序时,我都会在事件日志中看到此消息。有谁知道如何解决这个问题?非常感激!

android
9个回答
61
投票

我也遇到了同样的问题。请将此行添加到清单中的应用程序标记中。希望也能帮到你。

android:usesCleartextTraffic="true"

26
投票

我也有同样的问题,但这是我的解决方案:

  1. 在 Android Manifyst 中,在标签应用程序中添加:

    android:usesCleartextTraffic="true"
    android:networkSecurityConfig="@xml/network_security_config"
    
  2. 在 xml 文件夹中创建此文件 network_security_config.xml 并写入以下内容:

    <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
        <base-config cleartextTrafficPermitted="true" />
      </network-security-config>
    
  3. 在标签应用程序内添加此标签:

    <uses-library android:name="org.apache.http.legacy" android:required="false"/>
    

24
投票

您收到的消息不是错误;而是错误。它只是让您知道您没有使用网络安全配置。如果您想添加一个,请查看 Android 开发者网站上的此页面:https://developer.android.com/training/articles/security-config.html.


18
投票

我也遇到了同样的问题。这不是网络权限而是线程问题。下面的代码帮助我解决了这个问题。 Put 处于主要活动中

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (android.os.Build.VERSION.SDK_INT > 9)
    {
        StrictMode.ThreadPolicy policy = new 
        StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }

14
投票

检查应该使用 https 而不是 http 协议的 URL。
就我而言,将 URL 中的 http 更改为 https 解决了这个问题。


7
投票

图像生动。

文件

network_security_config.xml

111

文件

manifest

888


复制和粘贴很容易

github中相关文件

复制 xml 和关键行

manifest


3
投票

api 28及以上版本会出现这种情况,因为不再接受http,如果要接受http或localhost请求,则需要更改。

  1. 创建 XML 文件 Create XML file

  2. 在您创建的新 XML 文件中添加以下代码 Add base-config

  3. 将此添加到 AndroidManifest.xml Add this code line


0
投票

我知道我的答案迟到了,但这可能会对某人有所帮助。 如果您仍然遇到此问题,您可能没有将发出请求的方法放入Thread


0
投票

我想我已经明白了

当 Android 加载其可信锚点时,默认情况下会使用 network_security_config 文件,只要您提供一个即可。

但是!

如果您在 Activity 启动之前使用 OKHTTP3(为我重现它)进行连接,例如在静态初始化程序上,Android 将没有时间从应用程序加载网络安全配置,并且将使用平台配置默认情况下而不是您提供的。

我希望这对某人有帮助

© www.soinside.com 2019 - 2024. All rights reserved.