After starting a new project with react-native init awesomeProject, i try to restructure my project, putting index.ios.js and index
I've used the following steps on react-native 0.35
For development you need to open a file
MyProject/android/app/src/main/java/com/MyProject/MainApplication.java
and override a method of ReactNativeHost
called getJSMainModuleName
:
package com.MyProject;
// ...
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
// ...
// ADD THE LINES BELOW
@Override
protected String getJSMainModuleName() {
return "src/index.android";
}
// ADD THE LINES ABOVE
};
// ...
}
This way the app will know where to fetch the module from a packager server.
For production, when you build your APK using cd android && ./gradlew assembleRelease
you'll have to modify a file
MyProject/android/app/build.gradle
and add custom build options, make sure to place them before apply from: "../../node_modules/react-native/react.gradle"
line:
apply plugin: "com.android.application"
import com.android.build.OutputFile
// ...
// ADD THE LINES BELOW
project.ext.react = [
// the entry file for bundle generation
entryFile: "src/index.android.js",
]
// ADD THE LINES ABOVE
// ...
apply from: "../../node_modules/react-native/react.gradle"
Unfortunately I don't have iOS setup right now, I can't help you with that yet.