Помилка завантаження. Для вашого APK потрібно використовувати інший код версії, оскільки у вас вже є код версії 2


127

Відповідно до цієї відповіді Як вирішити "Код версії вашого APK повинен бути вищим за 2." в консолі розробника Google Play? Щойно я змінив код версії з 2 на 3 і не вдалося завантажити збірку.

Це мій старий маніфест до того, як я завантажив 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" />
        .....

ось новий код версії, який мені доведеться завантажувати на консоль розробника для android. Подивіться мій найдорожчий

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

Я не знаю, в чому проблема. Будь-яка допомога? введіть тут опис зображення

Відповіді:


125
android:versionCode="28"

Ваш попередній versionCodeбув 28. Ви повинні збільшити його на 1 до 29.

android:versionCode="29"

Імовірно, ваші попередні версії додатків були від 1 до 28. Опублікувавши версіюCode 3, ви конфліктуєте з попередньою версією свого додатка, яка вже була випущена з цією версієюCode.


Цей номер використовується лише для того, щоб визначити, чи є одна версія пізнішою, ніж інша, при цьому більш високі цифри вказують на новіші версії. Це не номер версії, показаний користувачам
Mohamed AbdelraZek

Для всіх, хто може заплутатися, зверніть увагу, що це не версія sdk, а код вашої програми,
SHIKHAR SINGH

Ви можете мені точно сказати, який шлях до цього файлу?
Жоао Піментел Феррейра

214

Для людей , які використовують Android Studio , проблема може бути вирішена шляхом редагування versionCodeі versionNameв build.gradleа AndroidManifest.xml.

напр

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

3
Чи можете ви прочитати AndroidManifest.xml з build.gradle? Не має сенсу мати значення двічі.
MonoThreeded

Це відповідь. То, що відбувається тут, - це те, що градель є тим, хто створює проект, тому він замінює версії
jasmo2

1
переконайтесь, що versionCode - це ціле число, і ви синхронізуєте після зміни.
sk md

29

У моєму випадку це просте питання. Я раніше завантажив додаток у консоль, тому я спробую повторно завантажити його після вирішення деяких проблем. Я лише видалити попередній APK з бібліотеки артефактів


11
Я завантажив версію через консоль Google Play, потім видалив перед публікацією, знову завантажив і отримав помилку OP. Я думав, що видалив його, але він все ще присутній у Бібліотеці артефактів. Видалити звідти, тоді я можу завантажити ...
Scuzzlebutt

22

якщо ви використовуєте ionic Framework , перейдіть до файла config.xml та змініть атрибут "version" у тезі "віджет" . збільшити номер версії потім відновіть, підпишіть та завантажте ур apk в магазин ігор. що вирішило мою проблему.


7
Дякую. Я буду просто додати кілька деталей. Я змінив атрибут версії в тезі віджетів з 0.0.1 на 0.0.2 . Після виконаної cordova build --release androidкоманди ця зміна змінила AndroidManifest.xml на два атрибути, з android: versionCode = "1" на android: versionCode = "2" та з android: versionName = "0.0.1" ** в ** android: versionName = "0.0.2" у тезі маніфесту.
remat_br

16

Ця помилка з’являється під час спроби завантажити apk, який має ті самі значення версії, що і той, який вже є у playstore.

Просто змініть у файлі build.gradle => versionCode та 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"
}

10

Іноді PlayStore стикається з помилкою, коли ви завантажуєте APK під час створення випуску, і ви застрягли, оскільки ви не можете знову завантажити той самий APK для поточної версії проекту. Ви отримуєте помилку "Не вдалося завантажити ..."

Рішення полягає в тому, щоб перейти до меню бібліотеки Artifact , під управлінням випуску та видалити проект артефакту. Як тільки це буде зроблено, ви зможете знову завантажити APK і закінчити випуск.

Сподіваюся, це допоможе іншим ...

Бен


7

В Android Studio 1.1.0, зміна versionCodeв build.gradleпротягом Module: appі не обов'язково міняти versionName:

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

4

Так само, як сказано у відповіді Мартина Конечного , вам потрібно змінити versionCode на щось вище.

Ваш попередній код версії був 28. це слід змінити на 29.

Згідно з документом на веб-сайті розробника Android. код версії

Ціле значення, яке представляє версію коду програми, відносно інших версій.

Таким чином, він повинен бути пов'язаний (пов'язаний я маю на увазі вище) з попередньою версієюCode, як зазначено в документі:

ви повинні переконатися, що кожен наступний випуск вашої програми використовує більше значення.

Як знову згадується в документі

Значення android: versionCode не обов'язково має велику схожість з версією випуску програми, видимою для користувача (див. android: versionName, нижче)

Тож, навіть якщо це випуск 2.0001вашого додатка, це не обов'язково означає, що це версіяCode 2.

Сподіваюся, це допомагає :)


4

Якщо ви використовуєте Android Studio, ви можете перейти:

Збірка -> Редагувати смаки

І змінити код версії та ім'я звідти.

введіть тут опис зображення


4

Якщо ви використовуєте Створення автономних програм з Expo, помилка versionCode може повзати через те, що стандартна app.jsonконфігурація має лише посилання на versionвластивість.

Мені вдалося додати versionCodeвластивість у androidтакий спосіб:

Зразок 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.
    }
  }
}

Детальна документація: https://docs.expo.io/versions/v32.0.0/workflow/configuration/#versioncode


4

(Для програми Flutter) Вам потрібно використовувати інший код версії для пакету програм APK або Android App, оскільки у вас вже є код версії 1.

Не варто панікувати ...

Вам потрібно змінити в Flutter версії від pubspec.yaml файлу і версія Cod е з local.properties файлу.

Спочатку перейдіть до файлу pubspec.yaml . У перших трьох рядках повинні бути назва, опис та версія програми.

Перед випуском -

Для вас версія може виглядати приблизно так:

версія: 1.0.0 + 1

Тому перш ніж створити apk для випуску (для оновлення програми, що виходить, на Google Play Console, тобто для нового оновлення), переконайтеся, що ви збільшили це число на 1. (Ви повинні збільшити його, оскільки немає необхідності щодо кроку).

Рішення

Просто змініть цю версію на (Відповідно до ваших потреб)

версія: 1.0.1 + 2

А друге якщо

flutter.versionCode у Project -> android -> local.properties is

flutter.versionCode = 1, то змініть або оновіть його на flutter.versionCode = 2 або будь-яке інше більше число, ніж попередній код.

І нарешті випустіть додаток відповідно до документації.


Отже, для коду версії, що знаходиться після Semantic Versioning , де він є major.minor.patch+build, Play лише дивиться на останній buildкомпонент? (Це не помилка?)
AWhitford,

3

якщо ви використовуєте програми fonegap / cordova, просто відредагуйте config.xml та додайте у віджет android-versionCode та версію.

<widget id = "com.xxx.yyy" версія = "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

Якщо ви отримаєте цю помилку для Android APK свого додатка Flutter, у файлі програми / build.gradle під замовчуваннямConfig {}

коментувати

versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

і додати

versionCode 2
versionName "2"

або "код попередньої версії" + 1.


1

Я отримав таку саму помилку під час завантаження флетерного додатка в playstore, просто змініть код версії в pubspec.yaml працював на мене. можливо, спробуйте змінити код версії, наприклад, від +1 до +2, а потім відновити apk, використовуючи

flutter build apk --split-per-abi 

і завантажте всі програми для своїх користувачів. Наступного разу, коли потрібно натиснути оновлення, обов’язково оновіть код версії до +3 тощо.

Зауважте: що код версії та назва версії різні, ви можете бачити це у файлі android / local.properties . наприклад версія: 1.0.0 + 2

версія 1.0.0, а код verison - +2


0

Це здається, тому що ви вже завантажили файл APK версії 3 до Google Play Store. І знову ви завантажуєте apk з тією ж версією. Отже, це питання виникло.

Тож для вирішення вам потрібно змінити назву версії та код версії (з кроком до 1) та запустити додаток один раз та після експорту його завантажити в Google Play.


0

Я знову і знову отримував однакові помилки.

Нарешті я завантажив файл apk вручну за допомогою Google Play Console, як показано на знімку екрана.

У розділі "Випуск програми" ви вибираєте кнопку "СТВОРИТИ ЗВ'ЯЗКУ", показану на знімку екрана, і завантажуєте свій apk-файл із/android/app/bin/build/outputs/apk/release/app-release.apk

введіть тут опис зображення


0

У моєму випадку у мене було щось подібне AndroidManifest,

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

тут неправильне місцезнаходження "androidManifestFile", його змінили на

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

все працювало

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.