스크립트를 로드할 수 없습니다.Metro 서버를 실행 중이거나 번들 'index.android'인지 확인합니다.bundle'은 릴리즈용으로 올바르게 패키지화되어 있습니다.
react-native run-android명령어는 Android 시뮬레이터에 메시지를 남기면서 종료됩니다.츠키다
스크립트를 로드할 수 없습니다.Metro 서버를 실행 중이거나 번들 'index.android'인지 확인합니다.bundle'은 릴리즈용으로 올바르게 패키지화되어 있습니다.
내가 뭘 잘못하고 있지?
아직 번들러를 시작하지 않았군요. 실행합니다.npm start ★★★★★★★★★★★★★★★★★」react-native start에서 ' 디렉토리'보다 먼저 검색해 주세요.react-native run-android.
다음의 스텝이 도움이 됩니다.
순서 1: Android/app/src/main/assets에 디렉토리 작성
Linux 명령어:mkdir android/app/src/main/assets
순서 2: 이름 변경index.android.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를 사용하십시오.
즐기세요 :)
모든 것이 올바르게 설정되어 있는 경우는, 다음과 같이 시험해 주세요.
adb reverse tcp:8081 tcp:8081
왜요?
RN 패키지가 실행 중일 때 브라우저 127.0.0.1:8081에 액세스 가능한 활성 웹 서버가 있습니다.이 서버에서 애플리케이션을 위한 JS 번들이 제공되고 변경 시 새로 고쳐집니다.역방향 프록시가 없으면 전화기는 해당 주소에 연결할 수 없습니다.
모든 크레딧은 Swingline0으로 이동합니다.
저도 비슷한 문제가 있었어요.
McAfee 8081 mc mc mc mc 。이걸 알아내는데 몇 시간이나 걸렸어
실행 시도:
react-native run-android --port=1234
앱이 에뮬레이터에 오류와 함께 나타나면 개발 설정(+)CtrlM으로 이동합니다.
"디바이스용 디버그 서버 호스트 및 포트"를 "localhost:1234"로 변경합니다.
앱을 닫고 앱 드로어에서 시작합니다.
이 에러는 리액트 네이티브 업그레이드로 인해 발생하였습니다.
Android 9.0(API 레벨 28)부터는 클리어 텍스트 지원이 기본적으로 비활성화되어 있습니다.
아웃 했을 는, 매니페스트 「diff」를 가 있습니다.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/
다음을 시도할 수 있습니다.
AndroidManifest.xml에 이 행을 추가합니다.
<application
[...]
android:usesCleartextTraffic="true"
/>
[...]
</application>
편집: 주의하세요.false합니다.
3개의 스플래시만 추가합니다.node_slash-config\src\src\slash\slash.dlash
이 부품을 교환해 주세요.
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
먼저 4단계와 5단계를 수행한 후 프로젝트를 실행할 수 있습니다.(스텝 4와 5에서) 결과를 얻을 수 없는 경우는, 다음의 순서를 실행합니다.
1- 노드 버전 다운그레이드를 시도합니다(현재 버전은12.13.1)
choco uninstall nodejs
choco install nodejs --version 12.8
2-npm 모듈의 경로 추가(C:\Users\your user name\AppData\Roaming\npm)로
3- 명령어를 사용하여 글로벌하게 대응 설치
npm install -g react-native-cli
4- 프로젝트 디렉토리의 루트로 이동하여 다음 명령을 실행합니다.
react-native start
5 - 프로젝트의 루트에 있는 다른 터미널을 열고 다음 명령을 실행합니다.
react-native run-android
편집:
Genymotion을 사용하고 있습니까?○ 의 경우는, 다음의 순서를 실행합니다.
위의 절차 후에 다음 오류가 발생할 경우?
error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.
genymotion을 열고 다음으로 이동합니다.
genymotion -> -> -> -> 를 선택합니다(참조 버튼을 클릭하여 sdk 위치를 찾습니다).
마지막으로, 당신의 프로젝트를 다시 실행합니다.
제 경우 에뮬레이터의 와이파이 및 모바일 데이터가 꺼져 있었습니다.
[빠른 답변]
작업 공간에서 이 문제를 해결하려고 노력한 끝에 해결책을 찾았습니다.
이 오류는 NPM과 노드버전의 일부 조합을 사용하는 Metro에 문제가 있기 때문입니다.
다음 두 가지 선택지가 있습니다.
- 대안 1:npm 및 노드버전을 업데이트 또는 다운그레이드 합니다.
대체 2: 다음 파일로 이동합니다.
\node_modules\metro-config\src\defaults\blacklist.js다음 코드를 변경합니다.var sharedBlacklist = [ /node_modules[/\\]react[/\\]dist[/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];다음으로 변경합니다.
var sharedBlacklist = [ /node_modules[\/\\]react[\/\\]dist[\/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];★★★★★★★★★★★★★★★를 실행하고 있는 경우는, 해 주세요.
npm install★★★yarn install코드를 다시 변경해야 합니다.
React Native 튜토리얼(Linux에서 개발하여 Android를 타겟팅)을 따르는 동안 동일한 문제가 발생했습니다.
이 문제는 다음 단계에서 문제를 해결하는 데 도움이 되었습니다.다음 명령을 다음 순서로 실행합니다.
- 디렉토리) (프로젝트 디렉토리 내)
mkdir android/app/src/main/assets 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/resreact-native run-android
할 수 .scripts의 package.json음음음같 뭇매하다
"android-linux": "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 && react-native run-android"
그냥 .npm run android-linux매번 명령줄을 통해 확인할 수 있습니다.
이것은 여러 가지 방법을 시도해 본 결과 나에게 효과가 있었다.
일 in 。node_modules\metro-config\src\defaults\blacklist.js
대체:
var sharedBlacklist = [
/node_modules[/\\]react[/\\]dist[/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
다음과 같이 설정합니다.
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
이게 도움이 되길 바라
Android 9.0(API 레벨 28)부터는 클리어 텍스트 지원이 기본적으로 비활성화되어 있습니다.
일반 실행 명령을 올바르게 실행하는 경우 이 문제를 해결하려면 다음과 같이 하십시오.
- npm 설치
- 반응 반응 반응 개시
- 반응 반응 반응 반응 반응 반응 반응 반응 반응
Android 매니페스트 파일을 이렇게 수정하십시오.
<application
android:name=".MainApplication"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true" // add this line with TRUE Value.
android:theme="@style/AppTheme">
Linux의 경우 App root 디렉토리에서 터미널을 열고
npm start
그런 다음 다른 터미널 창을 열고 다음을 실행합니다.
react-native run-android
우리 대부분과 마찬가지로 여러분도 VSCODE에서 실행하고 있을 것입니다.저 같은 경우에는
npx 리액트 리액트 리액트 리액트 스타트
다른 단말기에서
이제 VSCODE의 터미널에서 npx react-native run-android 실행
이에 대한 저의 솔루션은 다음과 같습니다.
Metro 서버 시작
$ react-native start
Android 부팅
$ react-native run-android
포트 8081이 이미 사용 중이라는 오류가 나타나면 해당 프로세스를 종료하고 다시 실행할 수 있습니다.
$ react-native start
React Native Troubleshooting 페이지를 참조하십시오.
몇 시간 후 답을 찾고 있습니다.해결책은 버전 12.4로 다운그레이드노드를 만드는 것이었습니다.
이 에러는 노드버전 12.6에서 네이티브 0.60으로 리액트 합니다.
여러분, 새벽 두 명의 조합이 제 문제를 해결했습니다.포트 관련 문제였어요.
adb reverse tcp:8088 tcp:8088
react-native run-android --port=8088
이렇게 함으로써 USB로 연결된 내 휴대폰은 앱이 정상적으로 로딩되었습니다.PC의 AV나 Vagrant 등의 엘스가 그 포트를 사용하고 있었던 것 같습니다.
필요에 따라 8088을 다른 것으로 변경할 수 있습니다.
맛있게 드세요!
여기서 다루지 않은 명백한 가능성을 추가하고 싶을 뿐입니다.네트워크 변경(주로 네트워크 상태)을 검출하기 위해 @react-native-community/netinfo를 사용하고 있습니다.네트워크 오프 상태를 테스트하려면 (에뮬레이터의) WIFI 스위치를 꺼야 합니다.이것에 의해, 에뮬레이터와 디버깅 환경 사이의 브리지도 효과적으로 절단됩니다.저는 컴퓨터를 사용하지 않아 테스트 후에도 와이파이를 다시 활성화하지 않았고, 돌아왔을 때 바로 잊어버렸습니다.
이것은 다른 누군가에게도 해당될 수 있고 다른 과감한 조치를 취하기 전에 확인해 볼 가치가 있다.
저도 이 문제에 직면했습니다.저는 다음 단계를 해결했습니다.
Environment Verable에서 Android sdk 경로를 확인합니다.
ANDROID_HOME = C:\Users\user_name\AppData\Local\Android\Sdk[시스템 변수 (System Variable)]의
★★★★★★★★★★★★★★★★★」C:\Users\user_name\AppData\Local\Android\Sdk\platform-tools시스템 변수 경로
sharedBlacklist를 다음과 같이 바꿉니다.
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
node_syslog/syslog-config/src/default/syslog.syslog에 추가되어 있습니다.
그런 다음 npx react-native run-android --port 9001을 실행합니다.
해피 코딩..!
localhost에 대해 활성화한 클리어 텍스트 허용과 같이 여기에 언급된 다른 항목들의 조합이 있을 것입니다.하지만 이것이 퍼즐의 마지막 조각이었다.
project.ext.react = [
entryFile: "index.js",
// ADD THESE THREE
bundleAssetName: "index.android.bundle",
bundleInDebug: true,
bundleInRelease: true
]
RN: 0.61.3
어떤 대답도 문제를 해결하지 못한 것 같아요.에뮬레이터에서 리액트 네이티브 앱을 실행할 수 있었지만 (서버가 실행 중일 때에도) 동일한 코드가 장치에서 앱을 실행할 때 이 오류를 발생시켰습니다.
단말기에서 다음 명령을 실행하여 해결할 수 있었습니다.
adb reverse tcp:8081 tcp:8081
제 경우 에뮬레이터에서 애플리케이션을 실행하려고 했습니다.근데 이거를 받고 있었어요
이 IP 10.0.2.2는 에뮬레이터 크롬 브라우저에서 액세스할 수 있었습니다.문제는 이 IP가 Android 네트워크 보안 설정에 화이트리스트에 포함되지 않는다는 것입니다.따라서 여기에 표시된 IP 주소가 무엇이든 아래 설정에 IP 주소를 추가하면 바로 사용할 수 있습니다.
./android/app/src/main/AndroidManifest.xml
<application
android:name=".MainApplication"
+ android:usesCleartextTraffic="true" <- Add this line
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
./android/app/src/main/res/xml/network_security_config.xml
</network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">10.0.1.1</domain>
<domain includeSubdomains="true">10.0.2.2</domain>
<domain includeSubdomains="true">10.0.3.2</domain>
</domain-config>
</network-security-config>
교환만 하면 됩니다.<domain includeSubdomains="true">10.0.2.2</domain>react-native의 됩니다.
저도 같은 문제가 있었습니다만, 문제는 adb가 올바른 환경 패스에 있지 않다는 것입니다.에러에 의해, adb에 있는 동안, 포토가 정지해 재기동합니다.
환경 변수 추가(ADB)
- 오픈 환경 변수
- 두 번째 프레임 PATH 변수에서 선택하고 아래 편집 옵션을 클릭합니다.
- 추가 옵션을 클릭합니다.
- sdk 플랫폼툴 패스 C를 송신합니다.\Users\내 사용자 \AppData\Local\안드로이드\Sdk\platform-툴
주의: 또는 머신 내의 adb.exe 위치에 따라 달라집니다.
- 변경 내용 저장
Android 빌드 다시 실행
$ react-native run-android
또는
$ react-native start
$ react-native run-android
제 경우 에뮬레이터에 프록시를 설정했습니다.그 프록시를 삭제하면 정상으로 돌아갑니다.
이 오류의 가능성도 잘못된 경로입니다. 한 번 확인하십시오.
export ANDROID_HOME=/Users/microrentindia/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
빌드를 건드리지 않고 이 문제를 해결한 방법:
1 - 가상 디바이스 닫기
2 - 물리 디바이스에서 테스트 완료 -- (동작)
3- API 30 Android 10+를 사용하여 새로운 가상 디바이스 생성
4- 새로 만든 가상 디바이스에서 다시 시도하면 모든 작업이 원활하게 수행됩니다.
에뮬레이터에서 실수로 와이파이가 꺼졌기 때문에 다시 켜서 정상적으로 작동하게 되었습니다.누군가에게 도움이 되었으면 좋겠다.
이 문제는 리액션 네이티브 업그레이드에서 시작되었습니다.64비트 지원을 추가하기 위해 업그레이드가 필요했습니다.
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
또한 업그레이드를 위해 한 가지 중요한 변경사항은 ../android/build/build.gradle입니다.
android {
...
defaultConfig {
...
targetSdkVersion 28
...
}
...
}
빌드(.apk)를 gool 재생 콘솔에 업로드하려고 할 때 경고에 따라 targetSdkVersion을 27에서 28로 변경해야 했습니다.이것이 나에게 위 오류의 근본 원인이라는 것을 나는 거의 깨닫지 못했다.@tom과 @tinmarfrutos의 즉답은 일리가 있었다.
Android:usesCleartextTraffic="true"를 Android/app/src/debug/AndroidManifest.xml에 추가하여 문제를 해결했습니다.
나에게 효과가 있었던 솔루션은 다음과 같습니다.
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
언급URL : https://stackoverflow.com/questions/55441230/unable-to-load-script-make-sure-you-are-either-running-a-metro-server-or-that-yo
'source' 카테고리의 다른 글
| ng-include 사용 시 범위 상실 (0) | 2023.03.13 |
|---|---|
| React 구성 요소의 부울 상태를 전환하려면 어떻게 해야 합니까? (0) | 2023.03.13 |
| ODP 도입 및 설정설치 없이 엔티티 프레임워크와 함께 동작하는 NET (0) | 2023.03.08 |
| 서비스 확장 방법 (0) | 2023.03.08 |
| Wordpress Contact Form 7 무전기 불필요 (0) | 2023.03.08 |


