--- id: testing-rn title: Testing React Native Changes in the Sample App sidebar_label: Testing React Native Changes --- import useBaseUrl from '@docusaurus/useBaseUrl'; When making changes to the React Native integration, it can be helpful to test them directly in the [ReactNativeFlipperExample](https://github.com/facebook/flipper/tree/main/react-native/ReactNativeFlipperExample) we provide in the repository. However, the app builds against a production release of Flipper and not the version checked in in the repository. In order to test against the changes you have made, you need to publish a Flipper release locally. ## Publishing a Local Release First, create a unique version number. This step is optional but is helpful to prevent accidentally testing against the wrong version. In the top-level `gradle.properties`, change the version: ```bash ... # POM publishing constants VERSION_NAME=0.44.99-SNAPSHOT # Change this one. GROUP=com.facebook.flipper ... ``` Now, run `./gradlew installArchives -PRELEASE_SIGNING_ENABLED=false` in the root of the repository. This will place the artifact files in your local `~/.m2/repository` folder. ## Using the new Release Usually, you need to change your project to also pick up files in `mavenLocal()`. As this is already done, you can directly change the `FLIPPER_VERSION` to the previously used identifier in `react-native/ReactNativeFlipperExample/android/gradle.properties`: ```bash # Version of flipper SDK to use with React Native FLIPPER_VERSION=0.30.2 FLIPPER_VERSION=0.44.99-SNAPSHOT ``` Now run `yarn android` to rebuild, install and launch the RN sample app. To test further changes, rerun the `./gradlew installArchives -PRELEASE_SIGNING_ENABLED=false` and `yarn android` steps. ## Full Diff For a quick overview, here are the two changes you need to make: ```diff diff --git a/gradle.properties b/gradle.properties index 1ccd002a..100a7169 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ # LICENSE file in the root directory of this source tree. # POM publishing constants -VERSION_NAME=0.44.1-SNAPSHOT +VERSION_NAME=0.44.99-SNAPSHOT GROUP=com.facebook.flipper POM_URL=https://github.com/facebook/flipper POM_SCM_URL=https://github.com/facebook/flipper.git diff --git a/react-native/ReactNativeFlipperExample/android/gradle.properties b/react-native/ReactNativeFlipperExample/android/gradle.properties index 495c12e8..bc815d0e 100644 --- a/react-native/ReactNativeFlipperExample/android/gradle.properties +++ b/react-native/ReactNativeFlipperExample/android/gradle.properties @@ -30,4 +30,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.30.2 +FLIPPER_VERSION=0.44.99-SNAPSHOT ```