Запуск RN View в существующем приложении android дает ошибку Не удается загрузить скрипт - PullRequest
0 голосов
/ 05 августа 2020

Я интегрировал существующее приложение android в приложение React native. Когда я запускаю с помощью response 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 (см. Изображение)

Если я вручную создаю индекс. 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

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

Есть идеи, что мне не хватает?

Errror

I am running app in simulator and its not on flying mode.

Development server up on 8081

Bundler opens like this but but on clicking RR, it says No apps connected (refer image)

Упаковщик Metro

1 Ответ

1 голос
/ 06 августа 2020

После использования большинства вариантов из этого ответа ни один из вариантов не работал. Что сработало для меня, так это добавление кода ниже в <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>
...