3

I am getting this error on Android simulator:

React Native version mismatch:
Javascript version: 0.58.5
Native version: 0.59.5

I have upgraded React Native, modules, Android studio and pretty much everything i could. Everything works fine on iOS, this happens only on Android. Build is succesful

Package.json

{
  "name": "MyProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.3.3",
    "latlon-geohash": "^1.1.0",
    "react": "16.8.3",
    "react-native": "0.59.5",
    "react-native-firebase": "^5.2.3",
    "react-native-gesture-handler": "^1.0.16",
    "react-native-keyboard-aware-scroll-view": "^0.8.0",
    "react-native-linear-gradient": "^2.5.3",
    "react-native-maps": "^0.24.2",
    "react-native-vector-icons": "^6.4.2",
    "react-navigation": "^3.3.2",
    "react-redux": "^6.0.1",
    "redux": "^4.0.1"
  },
  "devDependencies": {
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "24.1.0",
    "jest": "24.1.0",
    "metro-react-native-babel-preset": "0.52.0",
    "react-test-renderer": "16.6.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

Build.gradle

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0"
        googlePlayServicesVersion = "15.0.1"
        androidMapsUtilsVersion = "0.5+"
    }
    repositories {
        google()
        //mavenLocal()        
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:4.2.0'
      
    }
}

allprojects {
    repositories {
        mavenLocal()
        google()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

/*
task wrapper(type: Wrapper) {
    gradleVersion = '4.7'
    distributionUrl = distributionUrl.replace("bin", "all")
}*/





   dependencies {
        implementation project(':react-native-firebase')
        implementation project(':react-native-gesture-handler')
        implementation fileTree(dir: "libs", include: ["*.jar"])
        implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
        implementation "com.facebook.react:react-native:+"  // From node_modules
        implementation project(':react-native-linear-gradient')
        implementation project(':react-native-maps') 
        implementation "com.google.android.gms:play-services-base:16.0.1"
        implementation project(':@react-native-community_async-storage')
    
        implementation ("com.google.firebase:firebase-core:16.0.7") {
            exclude group: 'com.google.android.gms'
        } 
    
        implementation ("com.google.firebase:firebase-auth:16.1.0") {
            exclude group: 'com.google.android.gms'
        } 
    
        implementation ("com.google.firebase:firebase-database:16.0.6") {
            exclude group: 'com.google.android.gms'
        }
    }

I have tried closing all terminals, yarn install, creating new android device. I am guessing it has to do with actual version of the React Native in Package.json, but it is the 0.59.5 and when I searched whole project I cant find any reference to 0.58.5 anywhere.

Nimantha
  • 6,405
  • 6
  • 28
  • 69
CosmicSeizure
  • 1,375
  • 5
  • 17
  • 35

5 Answers5

2

I fixed the problem with help from github forum. This error was caused in my case by having Android 9 in simulator. Installing new device with Android version 8 fixed the issue.

CosmicSeizure
  • 1,375
  • 5
  • 17
  • 35
  • 1
    A similar solution, creating a new device with a newer recommended version per the android device tool worked for me as well. – OsoGrizz Jun 07 '19 at 02:18
  • 1
    @OsoGrizz Can you please clarify what device and version you are using ? I tried using Pixel2 API 29 with Android 9+ ( JS 0.58.5, NV 0.59.5 ) and its still throwing mismatch error. So i am still forced to use Simulator Android 8.1, where it works fine. – CosmicSeizure Jun 08 '19 at 15:28
  • I can't be sure about what config I was using prior anymore, but I am now using; Pixel 3 XL API 28 Android 9.0 (Google API's), react-native: 0.59.8 – OsoGrizz Jun 10 '19 at 03:48
  • @CosmicSeizure facing some similar issues, so I'm curious: what do you mean by API 29/Android 9+? In terms of a single device's OS, API 29 means Android 10.0, and Android 9.0 would equate to API 28, right? – TahoeWolverine Nov 18 '19 at 19:29
1

Close all terminal and IDE and Launch it again. It will work

Avinash Mishra
  • 797
  • 9
  • 19
0

Make sure you have RN versions in package.json same as it is in android/app/build.gradle, it should look like:

in package.json

"react-native": "0.59.5",

and in android/app/build.gradle

implementation ("com.facebook.react:react-native:0.59.5") { force = true }

Edit: Can you please also check that the packager and the emulator/device are in same network and the JS bundle is fetched from right locations ? It seems your application is not getting updated while building, it is stuck in the old code.

Nimantha
  • 6,405
  • 6
  • 28
  • 69
Suraj Malviya
  • 3,685
  • 1
  • 15
  • 22
  • Can you make sure that the React Native node module you are using is having right version in its package.json ? – Suraj Malviya Apr 25 '19 at 10:57
  • I have looked into the Package.json inside React Native node module and it seems to be correct: { "name": "react-native", "version": "0.59.5", – CosmicSeizure Apr 25 '19 at 11:10
  • I have added an edit section in the answer. Check if that helps. – Suraj Malviya Apr 25 '19 at 11:53
  • @SurajMalviya How do you check if the packager and emulator are in the same network? And the JS bundle is fetched from the right location? – J-Krush Jul 08 '19 at 15:11
0

Try following :

package.json

"react": "16.8.6",
"react-native": "0.60.4",
"react-native-maps": "0.25.0",

build.gradle :

googlePlayServicesVersion = "15.0.1" 
 androidMapsUtilsVersion = "0.5+"
Dhara Jani
  • 461
  • 3
  • 10
0

I had workdir/android/app/src/main/assets/index.android.bundle left from the previous build from another branch where I used older RN.

Running react-native bundle --platform android --dev true --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res fixed it for me.