Échec du téléchargement Vous devez utiliser un code de version différent pour votre APK, car vous en avez déjà un avec le code de version 2

129

Selon cette réponse, comment résoudre "Le code de version de votre APK doit être supérieur à 2." dans la Developer Console de Google Play? Je viens de changer le code de version de 2 à 3 et il n'a pas réussi à télécharger la construction.

Ceci est mon ancien manifeste avant de télécharger l'apk

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mypackage name"
    android:installLocation="auto"
    android:versionCode="28"
    android:versionName="1.0028" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
        .....

voici le nouveau code de version que je dois télécharger sur la console développeur Android. Voir mon manifeste

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mypackage name"
    android:installLocation="auto"
    android:versionCode="2"
    android:versionName="2.0001" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
        ......

Je ne sais pas quel est le problème. De l'aide? entrez la description de l'image ici

Ahmad Arslan
la source

Réponses:

125
android:versionCode="28"

Votre précédent versionCodeétait de 28. Vous devez l'incrémenter de 1 à 29.

android:versionCode="29"

Vraisemblablement, vos versions précédentes de l'application étaient de 1 à 28. En publiant avec versionCode 3, vous êtes en conflit avec une version précédente de votre application qui était déjà publiée avec ce versionCode.

Martin Konecny
la source
Ce numéro est utilisé uniquement pour déterminer si une version est plus récente qu'une autre, avec des nombres plus élevés indiquant des versions plus récentes. Ce n'est pas le numéro de version montré aux utilisateurs
Mohamed AbdelraZek
Pour toute autre personne qui pourrait être confuse, veuillez noter que ce n'est pas la version SDK mais le code de version de votre application,
SHIKHAR SINGH
Pouvez-vous me dire exactement quel est le chemin de ce fichier?
João Pimentel Ferreira le
214

Pour les personnes qui utilisent Android Studio, le problème peut être résolu par l'édition versionCodeet versionNameau build.gradlelieu de AndroidManifest.xml.

par exemple

defaultConfig {
    applicationId "com.my.packageId"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 2      <-- change this
    versionName "2.0"  <-- change this
}
FFinn
la source
3
Pouvez-vous lire AndroidManifest.xml à partir de build.gradle? Cela n'a pas de sens d'avoir des valeurs deux fois.
MonoThreaded le
Voilà la réponse. Ce qui s'est passé ici, c'est que le gradle est le seul chargé de construire le projet, il écrase donc les versions
jasmo2
1
assurez-vous que versionCode est un nombre entier et que vous synchronisez après la modification.
sk md
29

Dans mon cas, c'est un problème simple. J'ai déjà téléchargé une application dans la console, alors j'essaie de la télécharger à nouveau après avoir résolu certains problèmes. Tout ce que je fais est de supprimer le fichier APK précédent de la bibliothèque d'artefacts

Thecarisma
la source
11
J'ai téléchargé une version via la console Google Play, puis supprimée avant la publication, puis téléchargée à nouveau et j'ai obtenu l'erreur OP. Je pensais l'avoir supprimé, mais il était toujours présent dans la bibliothèque d'artefacts. Supprimer de là alors je pourrais télécharger ...
Scuzzlebutt
22

si vous utilisez le framework ionique , allez dans le fichier config.xml et changez l' attribut "version" dans la balise "widget" . augmenter le numéro de version. puis reconstruisez, signez et téléchargez votre apk sur Play Store. cela a résolu mon problème.

user2407334
la source
7
Merci. Je vais juste ajouter quelques détails. J'ai changé l'attribut de version dans la balise widget de 0.0.1 à 0.0.2 . Après l'exécution de la cordova build --release androidcommande, ce changement a modifié AndroidManifest.xml en deux attributs, de android: versionCode = "1" à android: versionCode = "2" et de android: versionName = "0.0.1" ** à ** android: versionName = "0.0.2" dans la balise manifeste.
remat_br
16

Cette erreur apparaît lorsque vous essayez de télécharger un apk qui a les mêmes valeurs de version que celui déjà sur le Playstore.

Modifiez simplement ce qui suit dans votre fichier build.gradle => versionCode et versionName

defaultConfig {
    applicationId "com.my.packageId"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 2      <-- increment this by 1
    versionName "2.0"  <-- this is the version that shows up in playstore, 
                           remember that the versioning scheme goes as follows.
                           first digit = major breaking changes version
                           second digit = minor changes version
                           third digit = minor patches and bug fixes.
                           e.g versionName "2.0.1"
}
Kingston Fortune
la source
11

Parfois, le PlayStore rencontre un bogue lorsque vous téléchargez un APK lors de la création d'une version, et vous êtes bloqué car vous ne pouvez pas télécharger à nouveau le même APK, pour la version préliminaire actuelle. Vous obtenez le message d'erreur "Échec du téléchargement ..."

La solution est d'aller dans le menu de la bibliothèque d'artefacts , sous Gestion des versions et de supprimer le brouillon d'artefact. Une fois que cela est fait, vous serez en mesure de télécharger à nouveau l'APK et de terminer votre publication.

J'espère que cela aidera les autres ...

Ben

bma350
la source
7

Dans Android studio 1.1.0, le changement versionCodede build.gradlepour Module: appet ne changent pas nécessairement versionName:

android {
...
    defaultConfig {
...
        versionCode 3
        versionName "1.0"
    }
...
}
DSlomer64
la source
4

Tout comme la réponse de Martin Konecny ​​l'a dit, vous devez changer le versionCode en quelque chose de plus élevé.

Le code de votre version précédente était 28. il devrait être remplacé par 29.

Selon le document sur le site Web du développeur Android. un code de version est

Un entier qui représente la version du code d'application, par rapport aux autres versions.

Il devrait donc être lié (par rapport, je veux dire plus haut) à la version précédente Code comme indiqué par le document:

vous devez vous assurer que chaque version successive de votre application utilise une valeur supérieure.

Comme mentionné à nouveau dans le document

la valeur android: versionCode n'a pas nécessairement une forte ressemblance avec la version de l'application qui est visible par l'utilisateur (voir android: versionName, ci-dessous)

Donc, même s'il s'agit de la version 2.0001de votre application, cela ne signifie pas nécessairement que le versionCode l'est 2.

J'espère que cela t'aides :)

Keale
la source
4

Si vous utilisez Android Studio, vous pouvez:

Construire -> Modifier les saveurs

Et changez le code de version et le nom à partir de là.

entrez la description de l'image ici

YYY
la source
4

Si vous utilisez la création d'applications autonomes avec Expo, l'erreur versionCode peut apparaître en raison du fait que la app.jsonconfiguration standard n'a qu'une référence à la versionpropriété.

J'ai pu ajouter une versionCodepropriété sous androidcomme suit:

Exemple App.json

{
  "expo": {
    "sdkVersion": "29.0.0",
    "name": "App Name",
    "version": "1.1.0",
    "slug": "app-name",
    "icon": "src/images/app-icon.png",
    "privacy": "public",
    "android": {
      "package": "com.madhues.app",
      "permissions": [],
      "versionCode": 2 // Notice the versionCode added under android.
    }
  }
}

Documentation détaillée: https://docs.expo.io/versions/v32.0.0/workflow/configuration/#versioncode

Sunny R Gupta
la source
4

(Pour l'application Flutter) Vous devez utiliser un code de version différent pour votre APK ou Android App Bundle car vous en avez déjà un avec le code de version 1.

Ne paniquez pas ...

Vous devez changer la version Flutter du fichier pubspec.yaml et la version Cod e de local.properties fichier .

Accédez d' abord à votre fichier pubspec.yaml . Les trois premières lignes doivent être le nom, la description et la version de l'application.

Avant la libération -

Pour vous, la version pourrait ressembler à ceci:

version: 1.0.0 + 1

Donc, avant de créer un apk pour la publication (pour mettre à jour votre application existante sur la console Google Play, c'est-à-dire pour une nouvelle mise à jour), assurez-vous d'incrémenter ce nombre de 1. (Vous devez l'incrémenter car il n'y a aucune exigence sur l'étape d'incrémentation).

Solution

Changez simplement cette version en (selon vos besoins)

version: 1.0.1 + 2

Et deuxième si

flutter.versionCode dans Project -> android -> local.properties est

flutter.versionCode = 1 puis modifiez-le ou mettez- le à niveau vers flutter.versionCode = 2 ou tout autre nombre supérieur au code précédent.

Et enfin, publiez l'application conformément à la documentation.

Vaibhav_Welcome_You
la source
Donc, pour un code de version suivant le versionnage sémantique , où il se trouve major.minor.patch+build, Play ne regarde que le dernier buildcomposant? (Ce n'est pas un bug?)
AWhitford
3

si vous utilisez des applications phonegap / cordova, modifiez simplement votre fichier config.xml et ajoutez le code et la version android-version dans le widget.

<widget id = "com.xxx.yyy" version = "1.0.1" xmlns = "http://www.w3.org/ns/widgets" xmlns: cdv = "http://cordova.apache.org/ ns / 1.0 "android-versionCode =" 100001 "version =" 1.0.1 ">

Sanjoy Kanrar
la source
1

Si vous obtenez cette erreur pour l'APK Android de votre application Flutter, dans votre fichier app / build.gradle sous defaultConfig {}

commenter

versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

et ajouter

versionCode 2
versionName "2"

ou "code de la version précédente" + 1.

Muhammed Ali BINICI
la source
1

J'ai reçu la même erreur lors du téléchargement d'une application Flutter sur Playstore, il suffit de changer le code de version dans pubspec.yaml a fonctionné pour moi. peut-être essayer de changer le code de version, par exemple de +1 à +2, puis reconstruire l'apk en utilisant

flutter build apk --split-per-abi 

et téléchargez tous les apk sur le Playstore pour vos utilisateurs. La prochaine fois que vous voudrez pousser une mise à jour, assurez-vous de mettre à jour le code de version à +3 et ainsi de suite.

Remarque: que le code de version et le nom de version sont différents, vous pouvez le voir dans le fichier android / local.properties . par exemple version: 1.0.0 + 2

la version est 1.0.0 et le code de version est +2

maheshmnj
la source
0

Cela semble parce que vous avez déjà téléchargé le fichier APK de la version 3 sur Google Play Store. Et encore une fois, vous téléchargez apk avec la même version. Donc, ce problème s'est produit.

Donc, pour la solution, vous devez changer le nom de votre version et le code de version (incrémenter avec 1) et exécuter l'application une fois et après l'exportation, téléchargez-la sur Google Play.

Piyush
la source
0

J'ai continué à recevoir la même erreur encore et encore,

enfin j'ai téléchargé le fichier apk manuellement à l'aide de Google Play Console, comme indiqué dans la capture d'écran.

Sous App Release, vous sélectionnez le bouton "CREATE RELEASE" affiché dans la capture d'écran et téléchargez votre fichier apk depuis/android/app/bin/build/outputs/apk/release/app-release.apk

entrez la description de l'image ici

Akshay Vijay Jain
la source
0

Dans mon cas, j'avais quelque chose comme ça dans mon AndroidManifest,

      javaCompileOptions {
        annotationProcessorOptions {
            arguments = [
                    'androidManifestFile': 'app\\build\\intermediates\\merged_manifests\\debug\\processDebugManifest\\merged\\AndroidManifest.xml'
            ]
        }
   }

ici l'emplacement 'androidManifestFile' est incorrect, l'avez changé en

"androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()

tout a fonctionné

MJahongir
la source