Home » Android » Expo React-Native Android build not updating Version Code for Google Play

Expo React-Native Android build not updating Version Code for Google Play

Posted by: admin May 14, 2020 Leave a comment

Questions:

I built a React-Native android app and uploaded to Google Play, which worked fine.

Now I have a new build I am trying to upload (had no issues uploading to itunes Connect), and Google Play is giving me this error:
“You need to use a different version code for your APK or Android App Bundle because you already have one with version code 1.”

After each build, I have updated the version in app.json, and I have tried updating the version in package.json as well. I’ve done a directory-wide search for ‘versionCode’ and there are no instances. A directory-wide search of ‘version’ turned up over 2,000 results, and I scrolled through all of them, and did not see anything specific to android build. And I did NOT have an issue with iOS build.

I have tried publishing the app first using Max Expo XDE, and I am building it in command line with “exp build:android”.

I have the following in my app.json:

{
  "expo": {
    "name": "Placeholder",
        "sdkVersion": "27.0.0",
        "privacy": "unlisted",
        "orientation": "portrait",
        "icon": "./assets/img/AppIcon.png",
    "version": "0.3.4",
    "ios": {
      "bundleIdentifier": "com.placeholder.placeholder"
    },
    "android": {
      "package": "com.placeholder.placeholder"
    }
  }
}

and my package.json is as follows (and npm install has been run):

{
  "name": "placeholder",
  "version": "0.2.0",
  "private": true,
  "devDependencies": {
    "jest-expo": "~27.0.0",
    "react-native-scripts": "1.14.0",
    "react-test-renderer": "16.3.1"
  },
  "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
  "scripts": {
    "start": "react-native-scripts start",
    "eject": "react-native-scripts eject",
    "android": "react-native-scripts android",
    "ios": "react-native-scripts ios",
    "test": "jest"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "expo": "^27.0.1",
    "native-base": "^2.4.3",
    "react": "16.3.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-27.0.0.tar.gz",
    "react-native-svg": "^6.3.1",
    "react-navigation": "^2.0.0",
    "redux-thunk": "^2.2.0",
    "socket.io-client": "^2.1.0"
  }
}
How to&Answers:

I also experience this issue, I resolved it by adding versionCode to my app.json under android. For instance,

“android”: {
“versionCode”: 2
}

Notice that the ‘2’ does not have quotation marks.

Answer:

needed to add “versionCode” to the “android” section of app.json specifically…

Answer:

According to Deploying to App Stores 1, you need to follow the instructions from Building Standalone Apps. The “versionCode” is indeed referenced in 2 and it is an option specific to the Android section: 3.