The latest
(stable) version of this framework is 1.x.x
which supports react-native 0.25.1
. It’s installation instructions are here. To use it specify "react-native-navigation": "latest"
in your package.json dependencies.
The following instructions are for the next
version 2.0.0-experimental.x
, which supports react-native 0.37.0
. To use it specify "react-native-navigation": "next"
in your package.json dependencies. Bear in mind, as the name of the version suggests - this version is experimental and under heavy development, and will break from time to time - thus when using it you should check out these instructions from time to time to avoid breaking your project.
Note: Android adaptation is still under active development therfore the API might break from time to time.
Add the following to your settings.gradle
file located in the android
folder:
include ':react-native-navigation'
project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-navigation/android/app/')
Update project dependencies in build.gradle
under app
folder.
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+"
compile project(':react-native-navigation')
}
Your MainActivity
should extend com.reactnativenavigation.controllers.SplashActivity
instead of ReactActivity
. If you have any react-native
related methods in your MainActivity
you can safely delete them.
Update the MainApplication file and update the Application
element in AndroidManifest.xml
import com.reactnativenavigation.NavigationApplication;
public class MainApplication extends NavigationApplication {
}
<application
android:name=".MainApplication"
...
/>
Implement isDebug
and createAdditionalReactPackages
methods
import com.reactnativenavigation.NavigationApplication;
public class MyApplication extends NavigationApplication {
@Override
public boolean isDebug() {
// Make sure you are using BuildConfig from your own application
return BuildConfig.DEBUG;
}
@NonNull
@Override
public List<ReactPackage> createAdditionalReactPackages() {
// Add the packages you require here.
// No need to add RnnPackage and MainReactPackage
return null;
}
}
Run react-native start