I am having working React Native application having version 0.38.0, when i have tried to upgrade it to 0.45.1 it is showing following error
java.lang.RuntimeExce
Add these lines
project.ext.react = [
entryFile: "index.js",
bundleAssetName: "index.android.bundle",
bundleInAlpha: true,
bundleInBeta: true
]
before
apply from: "../../node_modules/react-native/react.gradle"
in build.gradle
1- Create a new folder => android/app/src/main/assets
2- Run this command =>
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
This command will create 2 files : index.android.bundle
& index.android.bundle.meta
3- run command => react-native run-android
To resolve Unable to load script from assets index.android.bundle - React Native follow below process :
You have to create dir assets manually in your android project or make Directory by Terminal/CMD enter mkdir android/app/src/main/assets
Go at the created Directory if that is successfully created then
run step 3 Command:
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
you have your missed files in the folder now you can Run your React Native project npm run android.
https://stackoverflow.com/a/53275340/9489285
Okay. Every answers are unique depending on 'when' and 'the version' at the time the problem occur.
Today is 27 August 2018 ( 1.2 years from this page posted) and I still found the same problem when I install react-native and create projects (on windows) by following the official website instruction.
And honestly it is very difficult to find the right answer to make it work like 'normal' for 'today', because everything has changed and is different from the time that has been left behind.
Now for the above question : Unable to load script from assets 'index.android.bundle'.
Meaning that we don't have the file as requested in the directory assets. That's all the problem!. There is no relation to port, devices, emulator etc.
Now what we need to do is to make the file is 'exist there'. And these are some options to you can do depending on your package configuration :
Create the directory 'assets' if not exist as requested in directory android/app/src/main/ or you can type in the console : mkdir android/app/src/main/assets
In your project directory, execute :
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
Then check in the asset folder if the files is already there. If not, then try the second way :
1 react-native start // open npm window popup
2 curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Then check in the asset folder if the files is already there. If not, then you need to down grade your project to earlier version packages. Follow these 5 steps and must complete one by one :
1 npm remove --save react-native
2 npm i --save react-native@0.55.4
3 npm remove babel-preset-react-native
4 npm i --save babel-preset-react-native@2.1.0
5 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
If you already have the files in asset folder, then you can continue your project.
Check if your device is connected and ready, and run-android :
adb devices
Make sure you get result like this :
List of devices attached
cb8eca15 device
Then run :
react-native run-android
Note : Alternatively, you can create a new project again with a specified version :
react-native init ProjectName --version 0.55.4
In my case, the emulator was on airplane mode. Make sure your emulator or mobile phone can communicate with the Metro server.