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

qxgroojn  于 2023-04-28  发布在  Android
关注(0)|答案(1)|浏览(120)

就像我在这个article中发现的一样。
我想更新我的网络安全配置,以允许从我的Android模拟器的个人存储根证书。但当我这样做,我不能再构建我的应用程序。错误消息:
无法加载脚本。请确保您正在运行metro服务器(运行“react-native-start”),或者您的捆绑包“index.android.bundle”已正确打包以供发布。
当我删除android:networkSecurityConfig="@xml/network_security_config"它的所有运行再次罚款..
有人知道该怎么做吗?或者有其他方法可以更改安全配置?

i7uq4tfw

i7uq4tfw1#

终于找到了!!:)
React native需要明文流量来构建..所以网络安全配置文件应该包含:<base-config cleartextTrafficPermitted="true">
所以我在src/debug/AndroidManifest.xml中有一个标记

<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" 
android:networkSecurityConfig="@xml/react_native_config" />

并创建了一个文件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>

相关问题