Обновление существующего приложения отладки с помощью разных разработчиков

У меня проблемы с обновлением отладочной версии apk приложения:

Ошибка установки с сообщением Не удалось завершить сеанс: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Подписи пакета [здесь наш пакет] не соответствуют ранее установленной версии; игнорирование

Два разработчика. Два ПК с одинаковыми версиями Android Studio (3.2.1). Но когда я пытаюсь установить - есть такое, когда второй разработчик делает отладочный apk с тем же кодом (с git), он устанавливается нормально. Если делаю апк - то ошибка произошла через обновление версии второго разработчика на другом устройстве (тестере).

Что я уже пробовал:

  • Перезапустите Android Studio.
  • Очистить и восстановить.
  • Недействительные кеши и перезапуск.
  • Сборка apk и установка с устройства. (при обновлении произошла ошибка "Приложение не устанавливается")
  • Увеличьте код версии.

Устройство представляет собой планшет Lenovo TB-X103F на Android 6.0.1.


person Artem Winokurov    schedule 22.01.2019    source источник
comment
Вы пытались увеличить номер версии?   -  person ares777    schedule 22.01.2019
comment
удалите предыдущий apk и установите заново   -  person Vivek Mishra    schedule 22.01.2019
comment
stackoverflow.com/questions/11891848/   -  person IntelliJ Amiya    schedule 22.01.2019
comment
@VivekMishra, мне нужно обновить, а не просто установить новую версию (для db в моем случае), это очевидно.   -  person Artem Winokurov    schedule 22.01.2019
comment
@ user3344236, да. Не помогло.   -  person Artem Winokurov    schedule 22.01.2019


Ответы (2)


Вам нужно использовать одно и то же хранилище ключей отладки. Хранилище ключей ваших коллег будет находиться по адресу:

  • Окна: C:\Users\USERNAME\.android\debug.keystore
  • Linux / Mac: ~/.android/debug.keystore

Ниже приведены 3 решения в порядке убывания правильности:

  1. В долгосрочной перспективе это должно быть настроено внутри вашего проекта, чтобы любой пользователь проекта мог подписывать отладочные сборки. Это делается путем настройки вашего build.gradle так.

  2. Вы также можете установить свою конфигурацию подписи в Android Studio, чтобы вам не приходилось копировать его файл в будущем. Вот как это установить.

  3. Вы также можете просто заменить хранилище ключей отладки в этом месте своими коллегами, чтобы использовать ту же конфигурацию.

person Jake Lee    schedule 22.01.2019
comment
Странная вещь, но это работает! Вы также можете просто заменить хранилище отладочных ключей в этом месте своими коллегами, чтобы вы использовали ту же конфигурацию. - person Artem Winokurov; 22.01.2019

Это предупреждение вызывают разные файлы хранилища ключей. Для точного решения;

-Создайте свои собственные файлы хранилища ключей для каждого типа сборки.

-Определите buildTypes и SigningConfigs в файле градиента на уровне приложения следующим образом:

signingConfigs {
    release {
        keyAlias '******'
        keyPassword '******'
        storeFile file('...\\release.jks')
        storePassword '******'
    }

    debug {
        keyAlias 'alias'
        keyPassword '******'
        storeFile file('...\\debug.jks')
        storePassword '******'
    }
}
buildTypes {
    release {
        lintOptions {
        }
        debuggable false
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }

    debug {
        debuggable true
        minifyEnabled false
        signingConfig signingConfigs.debug
    }
}

ВНИМАНИЕ!!! Вы можете переместить файл хранилища ключей отладки в папку проекта (хорошим выбором будет папка приложения). Таким образом, оба разработчика легко имеют одно и то же хранилище ключей.

person serefakyuz    schedule 22.01.2019
comment
Спасибо за ваш ответ и время. Но в моем случае помог ответ @JakeSteam. - person Artem Winokurov; 22.01.2019