0

我已将现有的 android 应用程序集成到反应本机应用程序中。当我使用 react native cli 运行时,它会打开应用程序,单击按钮打开 RN 视图后会出现错误Unable to load script Make sure you are either running a Metro server or that your bundle 'index.android.bundle' is packaged correctly for release(参考图片)

如果我使用命令手动创建 index.android.js

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

并运行该应用程序,它工作正常。

我也可以在这个 url 上看到 bundle

http://localhost:8081/index.bundle?platform=android&dev=true&minify=false

知道我缺少什么吗?

错误

我在模拟器中运行应用程序,而不是飞行模式。

开发服务器在 8081 上

Bundler 像这样打开,但是在单击 RR 时,它说No apps connected(参考图片)

地铁捆绑器

4

1 回答 1

3

在尝试了此答案中的大多数选项后,没有任何选项有效。对我有用的是将以下代码添加到<network-security-config>文件中network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:tools="http://schemas.android.com/tools">

    <!-- This is only for debuggable versions of the App that use Charles Proxy
      https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ -->
    <debug-overrides>
        <trust-anchors>
            <!-- Trust user added CAs while debuggable only -->
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
    <base-config cleartextTrafficPermitted="false" />
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">127.0.0.1</domain>
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">10.0.2.2</domain>
        <domain includeSubdomains="true">10.0.3.2</domain>
    </domain-config>
 </network-security-config>
于 2020-08-06T14:47:36.190 回答