Przesyłanie nie powiodło się. Musisz użyć innego kodu wersji dla swojego pliku APK, ponieważ masz już taki z kodem wersji 2


129

Zgodnie z tą odpowiedzią Jak rozwiązać problem „Kod wersji pliku APK musi być wyższy niż 2”. w Konsoli programisty Google Play? Właśnie zmieniłem kod wersji z 2 na 3 i nie udało mi się przesłać kompilacji.

To jest mój stary manifest przed przesłaniem 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" />
        .....

oto kod nowej wersji, który muszę przesłać na konsolę programisty Androida. Zobacz mój menifest

<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" />
        ......

Nie wiem, w czym problem. Jakaś pomoc? wprowadź opis obrazu tutaj

Odpowiedzi:


125
android:versionCode="28"

Twój poprzedni versionCodemiał 28. Powinieneś zwiększyć go o 1 do 29.

android:versionCode="29"

Przypuszczalnie poprzednie wersje aplikacji to od 1 do 28. Wydanie z wersją versionCode 3 powoduje konflikt z poprzednią wersją aplikacji, która została już wydana z tym kodemwersji.


Ta liczba jest używana tylko do określenia, czy jedna wersja jest nowsza od innej, przy czym wyższe liczby oznaczają nowsze wersje. To nie jest numer wersji pokazywany użytkownikom
— Mohamed AbdelraZek

Dla każdego, kto mógłby być zdezorientowany, pamiętaj, że to nie jest wersja
— SDK,

Czy możesz mi powiedzieć dokładnie, jaka jest ścieżka do tego pliku?
— João Pimentel Ferreira

214

Dla ludzi, którzy korzystają z systemu Android Studio problem może być rozwiązany poprzez edycję versionCodei versionNamew build.gradlezamiast AndroidManifest.xml.

na przykład

defaultConfig {
    applicationId "com.my.packageId"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 2      <-- change this
    versionName "2.0"  <-- change this
}

3
Czy potrafisz czytać AndroidManifest.xml z build.gradle? Nie ma sensu mieć wartości dwa razy.
— MonoThreaded

To jest odpowiedź. To, co się tutaj stało, to fakt, że gradle jest tym, który ładuje projekt, więc nadpisuje wersje
— jasmo2

1
upewnij się, że versionCode jest liczbą całkowitą i po zmianie dokonujesz synchronizacji.
— sk md

29

W moim przypadku to prosta sprawa. Wcześniej przesłałem aplikację do konsoli, więc po rozwiązaniu niektórych problemów próbuję ją przesłać ponownie. Wszystko, co robię, to usunięcie poprzedniego pliku APK z Biblioteki artefaktów


11
Przesłałem wersję przez Konsolę Google Play, a następnie usunąłem ją przed opublikowaniem, przesłałem ponownie i otrzymałem błąd OP. Myślałem, że go usunąłem, ale nadal był obecny w Bibliotece Artefaktów. Usuń stamtąd, a potem mogę przesłać ...
— Scuzzlebutt

22

jeśli używasz Ionic Framework , przejdź do pliku config.xml i zmień atrybut „version” w tagu „widget” . zwiększyć numer wersji. następnie odbuduj, podpisz i prześlij swój apk do sklepu Play. to rozwiązało mój problem.


7
Dzięki. Dodam tylko kilka szczegółów. Zmieniłem atrybut wersji w tagu widget z 0.0.1 do 0.0.2 . Po wykonaniu cordova build --release androidpolecenia ta zmiana zmodyfikowała AndroidManifest.xml w dwóch atrybutach, od android: versionCode = "1" do android: versionCode = "2" i od android: versionName = "0.0.1" ** do ** android: versionName = „0.0.2” w tagu manifestu.
— remat_br

16

Ten błąd pojawia się, gdy próbujesz przesłać plik APK, który ma takie same wartości wersji, jak ta, która jest już w sklepie playstore.

Po prostu zmień następujące elementy w pliku build.gradle => versionCode i 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"
}

11

Czasami PlayStore napotyka błąd, gdy przesyłasz plik APK podczas tworzenia wersji, i utkniesz, ponieważ nie możesz ponownie przesłać tego samego pliku APK dla bieżącej wersji roboczej. Pojawia się błąd „Przesyłanie nie powiodło się ...”

Rozwiązaniem jest przejście do menu biblioteki artefaktów w sekcji Zarządzanie wersjami i usunięcie projektu artefaktu. Gdy to zrobisz, będziesz mógł ponownie przesłać plik APK i dokończyć wydanie.

Mam nadzieję, że pomoże to innym ...

Ben


7

W Android Studio 1.1.0, zmiany versionCodew build.gradleza Module: appi nie koniecznie zmienić versionName:

android {
...
    defaultConfig {
...
        versionCode 3
        versionName "1.0"
    }
...
}

4

Tak jak powiedziała odpowiedź Martina Konecnego , musisz zmienić kod wersji na wyższy.

Twój kod poprzedniej wersji to 28. należy go zmienić na 29.

Zgodnie z dokumentem na stronie programisty Androida. kod wersji to

Wartość całkowita reprezentująca wersję kodu aplikacji względem innych wersji.

Powinien więc być powiązany (przez pokrewny, mam na myśli wyższy) z poprzednią wersjąKod, jak odnotowano w dokumencie:

powinieneś upewnić się, że każde kolejne wydanie aplikacji ma większą wartość.

Jak wspomniano ponownie w dokumencie

wartość android: versionCode niekoniecznie ma duże podobieństwo do wersji wydania aplikacji, która jest widoczna dla użytkownika (patrz android: versionName, poniżej)

Więc nawet jeśli jest to wydanie 2.0001Twojej aplikacji, nie musi to oznaczać, że kod_wersji to 2.

Mam nadzieję że to pomoże :)


4

Jeśli używasz Android Studio, możesz:

Buduj -> Edytuj smaki

I stamtąd zmień kod wersji i nazwę.

wprowadź opis obrazu tutaj


4

Jeśli używasz tworzenia samodzielnych aplikacji z Expo, błąd versionCode może się pojawić ze względu na fakt, że standardowa app.jsonkonfiguracja ma tylko odniesienie do versionwłaściwości.

Udało mi się dodać następującą versionCodewłaściwość android:

Przykładowy plik 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.
    }
  }
}

Szczegółowa dokumentacja: https://docs.expo.io/versions/v32.0.0/workflow/configuration/#versioncode


4

(Dla aplikacji Flutter) Musisz użyć innego kodu wersji dla swojego pliku APK lub pakietu aplikacji na Androida, ponieważ masz już taki z kodem wersji 1.

Nie panikuj ...

Musisz zmienić w Flutter Version z pliku pubspec.yaml i Version Cod e z pliku local.properties .

Najpierw przejdź do pliku pubspec.yaml . Pierwsze trzy linie powinny zawierać nazwę, opis i wersję aplikacji.

Przed wydaniem -

Dla Ciebie wersja może wyglądać mniej więcej tak:

wersja: 1.0.0 + 1

Dlatego przed utworzeniem apk do wydania (aby zaktualizować wychodzącą aplikację w Konsoli Google Play, tj. W celu nowej aktualizacji), upewnij się, że zwiększasz tę liczbę o 1. (Powinieneś ją zwiększyć, ponieważ nie ma wymagań co do kroku inkrementacji).

Rozwiązanie

Po prostu zmień tę wersję na (zgodnie z potrzebami)

wersja: 1.0.1 + 2

Po drugie, jeśli

flutter.versionCode w Project -> android -> local.properties to

flutter.versionCode = 1, a następnie zmień go lub zaktualizuj do flutter.versionCode = 2 lub dowolnej innej większej liczby niż poprzedni kod.

I wreszcie wypuść aplikację zgodnie z dokumentacją.


Tak więc w przypadku kodu wersji po wersjonowaniu semantycznym , gdzie to jest major.minor.patch+build, Play patrzy tylko na ostatni buildskładnik? (To nie jest błąd?)
— AWhitford

3

jeśli używasz aplikacji phonegap / cordova, po prostu wyedytuj plik config.xml i dodaj kod android-versionCode i wersję w widżecie.

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


1

Jeśli pojawi się ten błąd dla pliku APK aplikacji Flutter na Androida, w pliku app / build.gradle w defaultConfig {}

skomentować

versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

i dodaj

versionCode 2
versionName "2"

lub „kod poprzedniej wersji” + 1.


1

Otrzymałem ten sam błąd podczas przesyłania aplikacji flutter do playstore, po prostu zmień kod wersji w pubspec.yaml działał dla mnie. można spróbować zmienić kod wersji, np. z +1 na +2, a następnie przebudować apk za pomocą

flutter build apk --split-per-abi 

i prześlij wszystkie aplikacje do sklepu playstore dla swoich użytkowników. Następnym razem, gdy będziesz chciał wypchnąć aktualizację, zaktualizuj kod wersji do +3 i tak dalej.

Uwaga: że kod wersji i nazwa wersji są różne, widać to w pliku android / local.properties . np. wersja: 1.0.0 + 2

wersja to 1.0.0, a kod wersji to +2


0

Wygląda na to, że przesłałeś już plik APK wersji 3 do sklepu Google Play. I znowu przesyłasz apk z tą samą wersją. Więc ten problem wystąpił.

Aby rozwiązać problem, musisz zmienić nazwę wersji i kod wersji (zwiększ o 1) i raz uruchomić aplikację, a po wyeksportowaniu przesłać ją do Google Play.


0

Ciągle otrzymywałem ten sam błąd, w

końcu załadowałem plik apk ręcznie za pomocą Konsoli Google Play, jak pokazano na zrzucie ekranu.

W wersji aplikacji wybierasz przycisk „UTWÓRZ WYDANIE” pokazany na zrzucie ekranu i przesyłasz plik apk z/android/app/bin/build/outputs/apk/release/app-release.apk

wprowadź opis obrazu tutaj


0

W moim przypadku miałem coś takiego w moim AndroidManifest,

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

tutaj lokalizacja „androidManifestFile” jest nieprawidłowa, zmieniono ją na

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

wszystko działało

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.