IT story

스크립트를로드 할 수 없습니다. Metro 서버를 실행 중인지 또는 번들 'index.android.bundle'이 릴리스 용으로 올바르게 패키징되었는지 확인하십시오.

hot-time 2021. 1. 7. 19:59
반응형

스크립트를로드 할 수 없습니다. Metro 서버를 실행 중인지 또는 번들 'index.android.bundle'이 릴리스 용으로 올바르게 패키징되었는지 확인하십시오.


react-native run-android는 android simulator의 메시지에 메시지를 남겨 종료합니다. 메시지는 다음과 같습니다.

스크립트를로드 할 수 없습니다. Metro 서버를 실행 중인지 또는 번들 'index.android.bundle'이 릴리스 용으로 올바르게 패키징되었는지 확인하십시오.

무엇을 잘못하고 있는지 완전히 혼란 스럽습니다.


편집 : 오류 스크린 샷 추가

여기에 이미지 설명 입력


아직 번 들러를 시작하지 않았습니다. 이전에 프로젝트의 루트에서 직접 실행 npm start하거나react-native startreact-native run-android


이 단계는 정말 도움이됩니다.

1 단계 : android / app / src / main / assets에 디렉토리 생성

Linux 명령 :mkdir android/app/src/main/assets

2 단계 : 이름 바꾸기 index.android.js(루트 디렉토리)가에 index.js( 어쩌면이 index.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

3 단계 : APK 빌드 :react-native run-android

최신 버전에서 index.js를 사용하십시오. 즐겨 :)


나 에게이 오류는 react-native의 업그레이드로 인해 발생했습니다.

Android 9.0 (API 레벨 28)부터 일반 텍스트 지원은 기본적으로 비활성화되어 있습니다.

업그레이드 차이를 확인하는 경우 디버그 매니페스트를 만들어야합니다. android/app/src/debug/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
</manifest>

자세한 정보는 https://stackoverflow.com/a/50834600/1713216을 참조하십시오.

https://react-native-community.github.io/upgrade-helper/


비슷한 문제가 저에게 발생했습니다. 분명히 Mcafee는 8081 포트를 차단했습니다.이 문제를 해결하는 데 몇 시간이 걸렸습니다.

react-native run-android --port = 1234 실행 시도

앱이 에뮬레이터에 오류와 함께 표시되면 dev 설정으로 이동합니다 (crtl + M을 클릭하여 액세스 할 수 있음).

"디바이스 용 디버그 서버 호스트 및 포트"를 "localhost : 1234"로 변경합니다.

앱을 닫고 앱 서랍에서 시작

이것이 당신에게도 도움이되기를 바랍니다 !!


다음을 시도 할 수 있습니다.

AndroidManifest.xml에이 줄을 추가하세요.

<application
[...]
android:usesCleartextTraffic="true"
/>
[...]
</application>

모든 것이 올바르게 구성되어 있으면 다음을 시도하십시오.

adb 역방향 tcp : 8081 tcp : 8081

왜? "RN 패키저가 실행 중일 때 브라우저에서 액세스 할 수있는 활성 웹 서버 (127.0.0.1:8081)가 있습니다.이 서버에서 변경 사항을 적용 할 때 애플리케이션 용 JS 번들이 제공되고 새로 고쳐집니다. 리버스 프록시가 없으면 휴대 전화가 해당 주소에 연결할 수 없습니다. "

Swingline0에 대한 모든 크레딧


나는 똑같은 문제를 겪고 있었는데, 나에게 문제는 adb 가 올바른 환경 경로에 있지 않고 오류가 메트로 포트를 알려주고 adb에있는 동안 포트가 죽고 다시 시작된다는 것입니다.

환경 변수 (ADB) 추가

  1. 개방형 환경 변수
  2. 두 번째 프레임 PATH 변수 에서 선택하고 아래 편집 옵션을 클릭하십시오.
  3. 추가 옵션을 클릭하십시오
  4. sdk 플랫폼 도구 경로 C : \ Users \ My User \ AppData \ Local \ Android \ Sdk \ platform-tools를 제출합니다.

참고 : 또는 컴퓨터의 adb.exe 위치에 따라

  1. 변경 사항을 저장하다

Android 빌드를 다시 실행하십시오.

$ react-native run-android

또는

$ react-native start

$ react-native run-android

이에 대한 내 해결책은 다음과 같습니다.

Metro 서버 시작

$ react-native start

Android 시작

$ react-native run-android

"포트 8081이 이미 사용 중"이라는 오류가 표시되면 해당 프로세스를 종료하고 다시 실행할 수 있습니다.

$ react-native start

React Native 문제 해결 페이지를 참조하십시오 .


몇 시간 후 답변을 검색합니다. 해결책은 노드를 버전 12.4로 다운 그레이드하는 것이 었습니다.

제 경우에는 노드 버전 12.6과 네이티브 0.60 반응 버전에서 오류가 발생한다는 것을 알고 있습니다.


중요-환경에 많은 가상 장치가있을 수 있습니다. AVD를 변경하는 경우 설정을 다시 반복하십시오.

디버그 정보

위의 오류가 발생하는 경우 먼저 포트 8081에서 실행중인 항목을 확인해야합니다.

터미널에서 다음 명령을 사용하는 가장 빠른 방법

netstat -aon | findstr 8081

그것이 당신에게 뭔가를 보여 주면 포트가 차단되었음을 의미합니다. 가능하면 해당 포트를 차단 해제하십시오.

그렇지 않으면 포트를 변경해야합니다. 이를 수행하는 프로세스는 Naveen Kumar가 위의 주석에서 이미 언급했습니다.

반응 네이티브 실행 안드로이드 --port = 9001

9001이 사용되지 않았는지 확인하십시오. :)


다음을 시도하십시오.

  1. Android 및 IOS 폴더 제거
  2. run react-native eject
  3. run react-native run-android

Maybe after the previous steps you have executions npm start - --reset-cache

I work, I hope it helps you.


I just want to add a non-obvious possibility not covered here. I am using @react-native-community/netinfo for detecting network changes, primarily network state. To test network-off state, the WIFI switch (on the emulator) needs to be switched off. This also effectively cuts off the bridge between the emulator and the debug environment. I had not re-enabled WIFI after my tests since i was away from the computer and promptly forgot about it when i got back.

There is a possibility that this could be the case for somebody else as well and worth checking before taking any other drastic steps.


For me this problem started with upgrading react-native. The upgrade was necessary to add 64-bit support.

Before:
-------- 
Environment:
Node: 10.15.0
npm: 6.9.0
Watchman: 4.9.0
Xcode: Not Found
Android Studio: 3.4 AI-183.6156.11.34.5692245

Packages: (wanted => installed)
react: 16.0.0-alpha.12 => 16.0.0-alpha.12
react-native: ~0.55.2 => 0.55.4
react-native-cli: 2.0.1

After:
------
info 
React Native Environment Info:
Binaries:
Node: 10.15.0
npm: 6.9.0
Watchman: 4.9.0
SDKs:
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 27.0.3, 28.0.3
System Images: android-28 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: /undefined - /usr/bin/xcodebuild
npmPackages:
react: ^16.8.6 => 16.9.0 
react-native: 0.59.9 => 0.59.9 
npmGlobalPackages:
create-react-native-app: 2.0.2
react-native-cli: 2.0.1

Also, One important change that I made for the upgrade was in ../android/build/build.gradle

android {
    ...
    defaultConfig {
        ...
        targetSdkVersion 28
        ...
    }
    ...
}

I had to change the targetSdkVersion from 27 to 28 following warning when I tried to upload the build(.apk) to goole play console. Little did i realise that this was the root cause of the above error for me. Immediatly answers by @tom and @tinmarfrutos made absolute sense.

I solved the problem by adding android:usesCleartextTraffic="true" to my android/app/src/debug/AndroidManifest.xml


By default a tiny JavaScript server called "Metro Server" runs on the port 8081.

You need to make this port available for this Server to start. So,

  1. release the port
  2. close your virtual device
  3. "react-native run-android" again.

How to release the port?

http://tenbull.blogspot.com/2019/05/how-to-kill-process-currently-using.html

How to kill the process currently using a port on localhost in windows?

and most importantly, I upgraded my node version from 8.x to 10.x(latest), as suggested by facebook @ https://facebook.github.io/react-native/docs/getting-started


I experienced this just because my Wifi was mistakenly turned off on my emulator.i turned it back on and it started working fine. Hope it's helpful to someone


If you are running on Linux OS,there might be case where your npm remote server is not running. Open another terminal (with project directory) and run this command sudo npm start or sudo react-native start before doing sudo react-native run-android


In my case, I've set a proxy in my emulator. It works back to normal after I removing that proxy.


The error message on the emulator is kind of misleading. In my case, I used a Macbook. I needed to change the permissions on android/gradlew by running $ chmod 755 ./gradlew, and then the app could be built and deployed to the android emulator.


If you are on linux open the terminal from the App root dir and run

npm start

then open another terminal window and run reactive-native run-around


In Some Cases You Might Want To Close the port Of React-native bundler and Rerun the App With the same process

1.sudo kill -9 $(sudo lsof -t -i:9001)

2.npm start inside the project

3. react-native run-android

What worked for me was:

  1. close all consoles
  2. open a new console
  3. $ adb devices
  4. make sure you got only one devices connected
  5. $ react-native run-android

참조 URL : https://stackoverflow.com/questions/55441230/unable-to-load-script-make-sure-you-are- either- running-a- metro-server-or-that-yo

반응형