7 votes

Expo React-Native Android build ne met pas à jour le code de version pour Google Play

J'ai créé une application Android React-Native et l'ai téléchargée sur Google Play, qui a bien fonctionné.

Maintenant, j'ai une nouvelle version que j'essaie de télécharger (je n'ai eu aucun problème à télécharger sur itunes Connect), et Google Play me donne cette erreur : "Vous devez utiliser un code de version différent pour votre APK ou votre Android App Bundle car vous en avez déjà un avec le code de version 1."

Après chaque construction, j'ai mis à jour la version dans app.json, et j'ai essayé de mettre à jour la version dans package.json également. J'ai effectué une recherche de "versionCode" dans l'ensemble du répertoire et il n'y a aucune instance. Une recherche de "version" dans l'ensemble du répertoire a donné plus de 2 000 résultats. Je les ai tous parcourus et je n'ai rien vu de spécifique à la version Android. Et je n'ai PAS eu de problème avec la version iOS.

J'ai d'abord essayé de publier l'application en utilisant Max Expo XDE, et je la construis en ligne de commande avec "exp build:Android".

J'ai les éléments suivants dans mon 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"
    }
  }
}

et mon package.json est comme suit (et npm install a été lancé) :

{
  "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"
  }
}

25voto

AyoDavid Points 251

J'ai également rencontré ce problème, je l'ai résolu en ajoutant versionCode à mon app.json sous Android. Par exemple,

"Android" : {
"versionCode" : 2
}

Remarquez que le "2" n'a pas de guillemets.

1voto

JackBurton Points 63

Il fallait ajouter "versionCode" à la section "Android" de app.json spécifiquement...

0voto

Marcio S Galli Points 29

Selon Déploiement vers les App Stores 1 vous devez suivre les instructions de Building Standalone Apps. Le "versionCode" est en effet référencé dans la section 2 et c'est une option spécifique à la section Android : 3 .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X