Windows의 자산 index.android.bundle에서 스크립트를로드 할 수 없습니다


357

내 장치에서 첫 번째 React Native 프로젝트를 처음 실행하려고합니다 (Android 4.2.2).

그리고 나는 얻는다 :

자산 index.android.bundle에서 스크립트를로드 할 수 없습니다

내가 사용한 명령 :

  1. cd (project directory)
  2. react-native start
  3. react-native run-android

6
jerry의 대답을 시도하기 전에 먼저 환경 변수와 platform-tool 경로에 ANDROID_HOME을 설정했는지 확인하십시오.
Sagar Chavada

최신 버전의 버그입니다. react-native init ProjectName --version = 0.55.4를 사용하여 이전 버전을 사용해야합니다. 문제를 해결해야합니다.
Sulung Nugroho

동일한 오류, 동일한 컨텍스트, 그러나 수정이 쉽습니다. 디버그 서버가에서 Loading dependency graph...로 변경되어 Loading dependency graph, done앱에서 다시로드 될 때까지 기다리십시오 .
Nino Filiu

허용되는 답변은 빌드 프로세스와 코드 기반을 복잡하게 만드는 매우 불편한 핵입니다. 여기에 더 나은 답변이 있습니다.
Andrew Koster

사용 mkdir ... /assets && react-native bundle --platform..:이 문제를 완전히 해결할 수없는이 확인 stackoverflow.com/a/55511803/10139109
이안 종

답변:


947

React Native 튜토리얼 을 따르는 동안 동일한 문제가 발생했습니다 (Linux에서 개발하고 Android를 대상으로 함).

문제 는 다음 단계에서 문제를 해결하는 데 도움 이 되었습니다 .

  1. (프로젝트 디렉토리에서) mkdir android/app/src/main/assets
  2. 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. react-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매번 명령 줄에서 실행할 수 있습니다 .


15
파일을 수정하려면 어떻게해야 index.android.js합니까? 터미널에서 우리는 명령을 삽입해야합니다react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Maulik

9
그것은에 붙어 얻을 것이다 Loading dependency graph...내가 터미널에서 다시 실행 할 때마다 시간과 너무 많은 시간이 걸립니다. 참고로 나는 우분투 14.04를 사용하고 있습니다
Maulik

12
네이티브 최신 버전에는 index.android.js가 포함되어 있지 않으므로 App.js를 명령과 함께 사용하십시오. :) 감사합니다
Chinthaka Dinadasa '

11
내 경우에는 @ChinthakaDinadasa index.js, 그렇지 않습니다App.js
Felix

11
이 남자는 동상이 필요해! 나는 그것이 리눅스뿐만 아니라 Windows 10에서도 실제로 작동한다는 것을 의미합니다.
Reborn

126

실제 장치에서 응용 프로그램을 실행 중이고이 오류가 발생하는 경우

unable to load script from assets index.android.bundle

다음 명령을 실행하십시오 :

adb reverse tcp:8081 tcp:8081

그것은 나를 위해 일했다 ...


이것은 내 문제를 해결했습니다! 감사!
Pablo

7
나를 위해 일했다. Windows의 터미널 경로에 안드로이드 플랫폼 도구가없는 사람들을 위해 adb 실행 파일은`C : \ Users \ YourUser \ AppData \ Local \ Android \ sdk \ platform-
tools`에 있습니다

2
나는 이것이 정답이어야한다고 생각하고 다른 하나는 해킹처럼 보인다.
크리스티안 고메즈

2
이것은 나를 위해 작동하지 않았다 (macOS에서)
szx

이것은 나를 위해 문제를 해결했습니다 (Windows, 물리적 장치에서 앱 실행). 빨간색 오류 상자에 제안 된 수정 사항 중 하나입니다.
Tur1ng

101

나는이 문제를 알아 내려고 몇 시간을 보냈다. 내 문제는 Windows에만 국한된 것이 아니라 Android에만 국한된 것입니다.

개발 서버에 액세스하는 것은 로컬 및 에뮬레이터의 브라우저에서 작동했습니다. 작동하지 않는 유일한 것은 앱에서 개발 서버에 액세스하는 것입니다.

Android 9.0 (API 레벨 28)부터 일반 텍스트 지원이 기본적으로 사용되지 않습니다.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

자세한 내용은 https://stackoverflow.com/a/50834600/1713216을 참조하십시오.


11
감사합니다. 이것은 업그레이드 한 후 내 문제였다 targetSdkVersion28.
bencergazda

이것이 정답입니다. 실제로 네트워크 통신 문제를 해결합니다.
Andrew Koster

이것이 React Native v0.59.2에서 사용되는 솔루션 입니다.
Tur1ng

신고 해 주셔서 감사합니다. RN 앱이 완전히로드되지 않았습니다. 이 문제와 관련하여 더 나은 오류 메시지가 없다는 실망 : /
greg7gkb

2
공장! 직접
만나면

61

npm 버전 4.3.0 react-native-cli 버전 2.01 react-native 버전 0.49.5 사용

프로젝트 디렉토리에서

  • 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/res
  • react-native run-android

파일 이름이 index.android.js 에서 index.js로 변경되었습니다.


3
FB가 새로운 버전을 발표하고 많은 사람들에게 분명히 타격을 입히는이 버그를 수정하는 대신 받아 들여지는 해결 방법을 깨뜨 렸습니다.
Tom

@IgorGanapolsky 자산 폴더에 index.bundle 파일이 있는지 확인하십시오
Darshan Pania

@DarshanPania 그 파일의 기능은 무엇입니까?
IgorGanapolsky

3
@IgorGanapolsky JS 파일은 앱의 진입 점입니다. RN 0.49 이후부터 하나의 파일이 index.js대신 index.android.js또는index.ios.js
DARSHAN Pania

1
리눅스를 위해 :sudo 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
Taohidul 이슬람

42

실제 안드로이드 장치와 동일한 문제에 직면했습니다.

솔루션 : Niltoid 의이 답변 을 바탕으로

  1. 지역 IP 찾기
  2. 앱을 열고 Android 기기를 흔들어
  3. 개발 설정 및> 디버그 서버로 이동 ...
  4. IP와 포트를 붙여 넣습니다. XXXX : 8088 "(여기서 X는 로컬 IP 임)

Mac 사용자의 경우 : 네트워크 환경 설정을 열면 여기에서 로컬 IP가 제공됩니다.


나를 위해
일해

22

Windows를 사용하는 경우 다음 방법으로 명령을 실행하거나 "항목 파일 index.android.js를 찾을 수 없습니다"라는 오류가 표시되는 경우

  1. mkdir android\app\src\main\assets
  2. 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. react-native run-android


19

공식 페이지 에 언급 된 지침에 따라이 문제를 해결할 수 있습니다 . JS 번들이 개발 시스템에 있고 실제 장치 내의 앱이 해당 위치를 인식하지 못하기 때문에이 문제는 실제 장치 에서 발생합니다 .


안드로이드 스튜디오에서 직접 실행할 때이 문제가 발생했습니다. react-native run-android그것을 사용하여 고정
yairsz

7
귀하의 링크는 더 이상 작동하지 않습니다. 나중에 소스가 사망 한 후에도 정보를 유지하기 위해 중요한 유용한 부분을 참조해야합니다.
Zac Grierson

그래서 실제 장치 에서 이것을 실행하는 방법 ??
IgorGanapolsky

1
@ IgorGanapolsky 나는 동일한 문제가 있고 공식 문서로 고쳤습니다. 페이스 북을 쉽게 확인할 수 있습니다 facebook.github.io/react-native/docs/running-on-device.html 안드로이드 스튜디오에서 porj를로드 할 수 없습니다 (및 android folder)하지만 프로젝트 및 터미널의 루트 폴더로 할 수 있습니다.
Ivan Titkov

15

맥에서 같은 문제가 있었는데, 2 일을 보낸 후에 마침내 얻을 수있었습니다.

이후 Emulator cellular data was turned off로 나는을 받고 있었다 unable to load script from assets index.android.bundle make sure your bundle is running.

Emulator cellular data is turned on이 패키지 서버를 사용하여 번들을 제공 할 수 있는지 확인하십시오 index.android.js. 개발 단계에있는 사람에게 도움이되기를 바랍니다.


당신은 무엇입니까 Emulator cellular data is turned on? 어디있어? 가상 장치? 실제 기기?
그린

에뮬레이터는 안드로이드 스튜디오에서 나오는 가상 장치를 의미합니다.
Srinivas

13

나는 여러 달 동안이 같은 문제를 겪었습니다. 처음에 @Jerry의 솔루션을 사용했지만 문제가 완전히 해결되지 않았기 때문에 잘못된 해결책이었습니다. 대신, 모든 빌드를 프로덕션 빌드로 가져 왔으므로 앱에서 약간의 변경을 가하면 전체 앱을 다시 빌드해야합니다.

이것은 일시적인 솔루션이지만 더 이상 핫 리로딩 등과 같은 React Native의 놀라운 개발 도구를 사용할 수 없으므로 장기적으로 끔찍하게 작동합니다.

적절한 해결책은 다음과 같습니다.

당신의에서 MainApplication.java파일, 다음을 대체 :

@Override
public boolean getUseDeveloperSupport() {
    return BuildConfig.DEBUG;
}

@Override
public boolean getUseDeveloperSupport() {
    return true;
}

어떤 이유로 든 BuildConfig.DEBUG항상 false를 반환하고 asset 디렉토리에 번들 파일이 생겼습니다.

이 값을 수동으로 true로 설정하면 앱에서 패키저를 사용하게됩니다. 프로덕션 환경에서는 작동하지 않으므로 false 또는 기본값으로 변경하십시오.

달리는 것도 잊지 마세요

$ adb reverse tcp:8081 tcp:8081

1
이것이 실제 솔루션입니다. 감사!
keyserfaty

1
이건 실제 솔루션입니다. 허용 된 답변은 핫 리로드시 작동하지 않으며 문제에 대한 합법적 인 수정이 아닙니다.
Ganesh Datta

11

1 프로젝트 디렉토리로 이동하여이 폴더가 존재하는지 확인하십시오 android/app/src/main/assets

  1. 존재하는 경우 두 파일 즉 index.android.bundle, 삭제index.android.bundle.meta
  2. 폴더 애셋이 존재하지 않는 경우 애셋 디렉토리를 생성하십시오.

루트 프로젝트 디렉토리에서

cd android && ./gradlew clean

3. 마지막으로 루트 디렉토리로 이동하여 단일 항목 파일이 하나 있는지 확인하십시오.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

  • index.android.js와 index.ios.js라는 두 파일이 있다면 이것을 실행하십시오 react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

    1. 이제 실행 react-native run-android

거의 모든 시나리오를 시도한 후 ... 이것은 저에게 효과적이었습니다. 감사합니다!!!!
MizAkita

우분투 18.04의 시작 안내서에 따라이 오류가 발생하면 나에게 도움이되었습니다. 감사!
rastating

Mac os Catalina에서 저에게 효과적입니다. 감사합니다
Hitesh

9

운영체제 : Windows

또 다른 방법은 위의 두 가지 방법을 시도한 후이 문제를 해결하기 위해
(내가 SDK를 설치하기 때문에 하지 C와 같은 기본 위치 : \ 사용자 \ "_ 이름"\ APPDATA \ 로컬 \ SDK )

" 'adb'는 내부 또는 외부 명령으로 인식되지 않습니다 ..."

그래서 이것은 내가 극복하는 방법입니다 :
예 : D : \ Android \ SDK에 SDK를 설치 했으므로
시스템 변수 2에 더 많은 경로를 추가 할 것입니다.

D:\Android\sdk\tools  
D:\Android\sdk\platform-tools  

(경로 시스템 변수를 편집하는 방법을 모르는 경우 /android/38321/what-do-i-type-in-path-variable-for-adb- server-to-start-from-cmd / 38324 )

그런 다음 cmd를 다시 실행하십시오. react-native run-android

그것은 나를 위해 일했다.


실제로 연결되어 있지 않더라도 이것은 매우 일반적인 문제 중 하나이며 Thien이 설명한대로 작동합니다.
Pixelartist

8

필자의 경우 MainApplication.java에서 아래 줄을 제거했습니다. (이전에 나에 의해 실수로 추가 된 것) :-

import com.facebook.react.BuildConfig;

그 프로젝트 청소 후 명령을 누르십시오

반응 네이티브 런 안드로이드


고마워, 그것도 나를 도와줍니다.
Anil Ravsaheb Ghodake

6

대한 IOS :

터미널에서 :

cd ios

다음을 사용하여 빌드 폴더를 제거하십시오. rm -r build

다시 뛰어: react-native run-ios

또는,에, 탐색을 찾기를 열 수 YOUR_PROJECT / IOS삭제 빌드 폴더를 .

그런 다음 다시 실행하십시오. react-native run-ios

대한 ANDROID :

터미널에서 :

cd android/app

다음을 사용하여 빌드 폴더를 제거하십시오. rm -r build

다시 뛰어: react-native run-android

다른 방법으로는 찾기를 탐색 열 수 YOUR_PROJECT / 안드로이드 / 애플 리케이션삭제 빌드 폴더를 .

그런 다음 다시 실행하십시오. react-native run-android


2
안드로이드에서 작동합니다! 깨끗하고 쉬운!
llioor

android/app/binWindows에서 폴더를 삭제 하면 효과가 있습니다. 을 실행하는 대신 Android Studio에서 직접 프로젝트를 빌드했으며 react-native run-android수동으로 삭제 해야하는 것이 잘못 된 것 같습니다.
Lucas Bustamante

5

이 문제에 대해서는 다음을 실행하여 해결합니다.

react-native start

그때

adb reverse tcp:8081 tcp:8081

명령 행에서. 그런 다음 실행할 수 있습니다.

react-native run-android

그래서 나는 달리기에 시간을 낭비하지 않을 것입니다.

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

매번.


5

에뮬레이터에서 프로젝트를 실행할 때 제대로 작동하지만 실제 장치 에서이 오류가 발생하기 때문에이 문제에 직면했습니다. 그래서 다음 해결책 으로이 문제를 해결합니다.

첫 번째 단계 : 먼저 열린 cmd를 열고 SDK 관리자 Platform-tools 폴더로 이동하십시오.

cd C:Development\Android\Sdk\Platform-tools

2 단계 : 이제이 명령을 실행하십시오.

adb devices

이 명령 후 명령 프롬프트에 나열된 장치를 확인하십시오.

3 단계 : 이제 이것을 실행

adb reverse tcp:8081 tcp:8081

이제 설정이 완료되었습니다

4 단계 : 프로젝트 디렉토리로 이동하여이 명령을 실행하십시오.

react-native run-android

4

우분투

처음으로으로 새로운 앱을 만들었습니다 react-native init project-name. 같은 오류가 발생했습니다. 그래서 나는 내 경우에 이것을 해결하기 위해 다음 단계를 수행합니다.

  1. 먼저 sudo chown user-name-of-pc /dev/kvm내 경우를 실행하십시오 .
  2. Android 전화에서 디버깅하는 동안을 선택하십시오 Use USB to Transfer photos (PTP).

  3. assetsproject-name / android / app / src / main에 폴더 생성

  4. index.js프로젝트 root 디렉토리에 사용 가능한지 확인한 다음 디렉토리 다음 콘솔에서 아래 명령을 실행하십시오 cd project-name.

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

또는 index.android.js의 경우

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

  1. 디렉토리 ./studio.sh에서 명령 을 실행하십시오 android-studio/bin. Android Studio가 열립니다.

  2. 명령을 실행하십시오 react-native run-android.

여기에 이미지 설명을 입력하십시오


4

실제 장치 및 서버 동기화를 위해 Metro Builder가 실행 중인지 확인하십시오.

먼저 메트로 빌더를 실행하려면이 명령을 실행하십시오.

npm 시작

그런 다음 반응 네이티브에서 빌드를 시작할 수 있습니다

반응 네이티브 런 안드로이드

이번에는 오류가 없어야합니다. 변경시 코드를 실시간으로 다시로드하려면. 기기를 흔들고 Live Reload 활성화를 누릅니다.


3

/ path / to / sdk / platform-tools를 경로 변수에 추가했는지 확인하십시오.

react-native run-android를 실행할 때 adb reverse tcp : <device-port> tcp : <local-port> 명령을 실행하여 장치의 요청을 컴퓨터에서 로컬로 실행중인 서버로 전달합니다. adb를 찾지 못하면 이와 같은 것을 보게 될 것입니다.

/bin/sh: 1: adb: not found
Starting the app (.../platform-tools/adb shell am start -n 
com.first_app/com.first_app.MainActivity...
Starting: Intent { cmp=com.first_app/.MainActivity }

확인하기 위해 첫 번째 것들 중 하나를해야 이것은, 바로 가장 upvoted 답변을해야한다
EIS

3

예를 들어 프로젝트 응용 프로그램 / 번들 ID의 이름을 바꾸거나 링크없이 외부 패키지를 추가 할 때와 같이 React Native 프로젝트 코드 기반의 연결되지 않은 자산으로 인해 발생할 수 있습니다.

간단히 프로젝트 루트 디렉토리에서 시도하십시오.

react-native link

react-native run-android

2

react-native run-android명령을 실행할 때 추적의 두 번째 줄이

JS server not recognized, continuing with build...

이는 앱의 패키지 프로그램을 시작할 수 없으며 추가 단계없이 앱을로드하지 못함을 의미합니다. 추적 끝이 여전히 성공을보고합니다.

BUILD SUCCESSFUL

문제는 아마도 일부 포트 충돌 일 것입니다 (제 경우에는 완전히 잊어 버린 기본 IIS 사이트였습니다). 문제의 또 다른 징후는 http://localhost:8081/debugger-uiChrome에서 URL 을 열지 못하는 것 입니다.

포트 충돌이 해결되면 추적이보고합니다

Starting JS server...

추가 노드 창이 열리고 ( node ...cli.js start) 앱이 성공적으로로드 / 리로드됩니다.

그런 다음로 Chrome에서 디버그 콘솔을 열 수 있어야합니다 http://localhost:8081/debugger-ui.


2

시뮬레이터에서 실행할 때도 동일한 문제가 발생했습니다. 정상적인 개발 워크 플로를 가질 수 있도록 빠른 해결 방법을 수행했습니다.

private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
  @Override
  public boolean getUseDeveloperSupport() {
    // return true here to load JS from the packager
    // BuildConfig.DEBUG for me was set to false which meant it
    // it was always trying to load the assets from assets folder.
    return true;
  }

  @Override
  protected String getJSMainModuleName() {
    return "index";
  }
};

프로덕션 빌드를 수행하려고 할 때 변경 사항을 되돌려 야 할 것입니다.


2

Mac 차단 포트 8081에서 McAfee와 문제가 발생하여 8082로 변경해야했습니다.

먼저 패키지 서버를 실행하십시오.

react-native start --port 8082

다른 터미널을 열고 평소와 같이 Android 앱을 시작하십시오.

react-native run-android

완료되면 adb 터널링하는 tcp 포트를 다시 작성하십시오.

adb reverse tcp:8081 tcp:8082

adb tcp 터널 목록을 참조하십시오.

adb reverse --list

이제 따뜻한 메시지가 나타납니다.

(reverse) tcp:8081 tcp:8082

앱으로 이동하여 다시로드하십시오!

추신 : 앱 개발 설정에서 아무것도 변경하지 마십시오. "localhost : 8082"를 추가 한 경우 제거하고 비워 두십시오.

편집 : 모든 McAfee 희생자에게 루트 액세스 권한이있는 경우 더 쉬운 솔루션이 있습니다. 포트 8081에있는 McAfee 프로세스를 일시적으로 종료하고 포트를 변경할 필요가 없습니다.

sudo launchctl remove com.mcafee.agent.macmn

2

나는 당신이 원사를 설치 하지 않았다고 생각합니다 . 프로젝트를 작성하기 전에 설치해야합니다 (react-native init 명령).

자산 디렉토리를 만들 필요가 없습니다.

작동하지 않으면 회신하십시오.

편집 : 최신 버전의 반응 네이티브에서 수정했습니다. 당신이 (완전한 제거가 들어이 단지 제거 노드에서 완전한 자유를 원하는 경우 완전히 노드 제거 및 재설치 노드이 링크를 참조), 반응 - 기본 - CLI를 다음 새 프로젝트를 만듭니다.


2

에뮬레이터 장치에서 인터넷을 켜는 것을 잊지 마십시오.이 오류를 해결했습니다. 완벽하게 작동합니다.


2

이것은 일반적인 오류 메시지입니다. 반응 네이티브 응용 프로그램 개발 중에 발생할 수 있습니다. 이 튜토리얼에서는이 문제에 대한 솔루션을 제공 할 것입니다.

문제 설명 : Windows의 자산 index.android.bundle에서 스크립트를로드 할 수 없음 Windows의 자산 index.android.bundle에서 스크립트를로드 할 수 없음

위의 문제를 해결하려면 아래 단계를 따르십시오.

1 단계 : 프로젝트 디렉토리 내에 "자산"폴더 작성 이제 프로젝트 디렉토리 내에 "MobileApp \ android \ app \ src \ main"인 자산 폴더를 작성하십시오. 자산 폴더를 수동으로 만들 수 있습니다.

<또는>

명령을 사용하여 폴더를 만들 수도 있습니다. 명령 : mkdir android / app / src / main / assets

2 단계 : React 기본 응용 프로그램 실행 아래 명령을 실행하여 에뮬레이터 또는 실제 장치에서 반응 기본 응용 프로그램을 실행할 수 있습니다.

프로젝트 디렉토리로 전환하십시오. cd MobileApp

안드로이드 응용 프로그램 프로젝트를 묶는 데 도움이되는 아래 명령을 실행하십시오.

반응 네이티브 번들-플랫폼 안드로이드 --dev false-엔트리 파일 index.js-번들 출력 android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res

최종 단계를 실행하여 에뮬레이터 또는 물리적 장치에서 반응 네이티브 응용 프로그램을 실행하십시오. 반응 네이티브 런 안드로이드

<또는>

또한 마지막 두 명령을 하나로 결합 할 수 있습니다.이 경우 명령을 한 번만 실행해야합니다.

반응 네이티브 번들-플랫폼 안드로이드 --dev false-엔트리 파일 index.js-번들 출력 android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res && 반응 네이티브 실행 안드로이드

<또는>

package.json의 스크립트 부분에 위 단계를 배치하여 위 단계를 자동화 할 수 있습니다.

"android-android": "반응 형 네이티브 번들 --platform android --dev false --entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets -안드로이드 안드로이드 / 앱 / src / 메인 / res & 반응 네이티브 실행 안드로이드 "

모든 것이 올바르게 설정되면 곧 새로운 앱이 Android 에뮬레이터에서 실행되고있는 것을 볼 수 있습니다.


2

이것을 따라, 나를 위해 일했다.

https://github.com/react-community/lottie-react-native/issues/269

프로젝트 디렉토리로 이동 하여이 폴더가 android / app / src / main / assets인지 확인하십시오 i) 존재하는 경우 두 파일을 삭제하십시오. viz index.android.bundle 및 index.android.bundle.meta ii) 폴더 자산이 존재하지 않으면 거기에 자산 디렉토리를 만드십시오.

루트 프로젝트 디렉토리에서 cd ​​android && ./gradlew clean

마지막으로 루트 디렉토리로 돌아가서 index.js라는 단일 항목 파일이 있는지 확인하십시오. i) index.js 파일이 하나 뿐인 경우 react-native bundle 명령을 실행하십시오. --platform android --dev false- -entry-file index.js-번들 출력 android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res

ii) index.android.js와 index.ios.js라는 두 파일이있는 경우이 반응 네이티브 번들을 실행하십시오 -platform android --dev false --entry-file index.android.js --bundle-output android /app/src/main/assets/index.android.bundle --assets-dest android / app / src / main / res

이제 반응 네이티브 실행 안드로이드 실행


귀하의 의견은 크게 도움이되었습니다. 두 번들 파일을 삭제해야하는 이유를 잘 모르겠습니다. 그러나 당신의 지시는 완벽 할 것입니다! 정말 고맙습니다!
VK1

2

방금 똑같은 문제가 발생하여 해결했습니다. 도움이 되길 바랍니다.

릴리스 응용 프로그램 패키지 (.apk)를 어셈블하고 있다고 가정합니다.

  1. 자산 폴더가 있는지 확인 하시겠습니까? : \ android \ app \ src \ main \ assets 그렇지 않은 경우 만듭니다.

  2. "Assemble Release"를 실행 한 후 해당 폴더 (\ android \ app \ src \ main \ assets)에 아무것도 없는지 확인하십시오. 그렇지 않은 경우 js 번들 파일 ( index.android.bundle )을 찾으십시오. 다음 경로 :

    * a) \ android \ app \ build \ intermediates \ merged_assets \ release \ out \ index.android.bundle

    b) \ android \ app \ build \ intermediates \ merged_assets \ release \ mergeReleaseAssets \ out \ index.android.bundle

    c) \ android \ app \ build \ 중간체 \ assets \ release \ index.android.bundle

    d) \ android \ app \ build \ generated \ assets \ react \ release \ index.android.bundle *

더 좋은 방법은 "Everything"을 사용하여 파일 이름을 검색하는 것입니다 : index.android.bundle.

  1. 그런 다음이 파일을 자산 폴더 (\ android \ app \ src \ main \ assets \ index.android.bundle)에 복사하십시오.

  2. powershell 또는 명령 콘솔로 돌아가서 다음을 실행하십시오.

반응 네이티브 실행 안드로이드 --variant = release

작동해야합니다.

행운을 빕니다!


대단히 감사합니다! 3 일 동안 고군분투했다! Btw 반응 네이티브 0.59로 문제가 해결되었습니다.
애니


1

영상

이 문제, 많은 검색에 직면하고 있으며 그 문제를 해결했습니다.

c:\ProjectFolder\ProjectName> 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

반응 기본 실행보다 :

c:\ProjectFolder\ProjectName>react-native run-android


1
스크린 샷은 답변과 관련이 없습니다.
Tyler

1

create-react-native-app에서 개발하고 꺼내고이 문제 development가있는 여러분 모두에게 이것이 허용 된 답변에서 약간의 세부 사항을 얻었습니다.

(프로젝트 디렉토리에서) mkdir android / app / src / main / assets

다음은 개발중인 cos를 변경하는 부분을 제거하는 --dev: false부분입니다.

반응 네이티브 번들-플랫폼 안드로이드-엔트리 파일 index.js-번들 출력 android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res

그런 다음 모든 터미널을 닫은 후 android / app /에서 빌드 폴더를 지우고 깨끗하게 시작하여 앱을 빌드하고 새 터미널을 열고

(프로젝트 디렉토리에서) npm run android

패키저 콘솔 (다른 터미널에 있음)을 프롬프트하고 성공적으로 빌드합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.