当我添加 networkSecurityConfig 标签时,React-native android 不会构建

Nig*_*oxy 5 android react-native

正如我在这篇文章中发现的那样。
我想更新我的网络安全配置以允许来自我的 Android 模拟器的个人存储的根证书。但是当我这样做时,我无法再构建我的应用程序。错误信息:

无法加载脚本。确保您正在运行 Metro 服务器(运行“react-native-start”)或者您的捆绑包“index.android.bundle”已正确打包以供发布。

当我删除android:networkSecurityConfig="@xml/network_security_config"它时一切都再次正常运行..

有人知道该怎么办吗?或者有其他方法来更改安全配置?

Nig*_*oxy 11

好吧,终于找到了!:)

React-Native 需要清晰的文本流量来进行构建。网络安全配置文件应包含以下内容:

<base-config cleartextTrafficPermitted="true">
Run Code Online (Sandbox Code Playgroud)

我有一个标签src/debug/AndroidManifest.xml

<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" 
android:networkSecurityConfig="@xml/react_native_config" />
Run Code Online (Sandbox Code Playgroud)

并创建一个文件src/debug/res/xml/react_native_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="user"/>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)