Android: хранилище ключей было взломано или введен неверный пароль после перехода с Eclipse на Android Studio

Я разрабатывал свой проект в Eclipse IDE. Приложение представлено в Play Store, и я успешно опубликовал несколько обновлений версий.

Недавно я перешел на Android Studio (и, конечно, на Gradle). Я внес некоторые изменения в базу кода проекта, в том числе изменения min и target sdk, но имя пакета осталось прежним. Проект успешно скомпилирован, и приложение отладки успешно собрано и работает нормально.

Но сейчас не могу собрать релизную версию из-за:

Keystore was tampered with, or password was incorrect

Хранилище ключей не изменилось, и я знаю его пароль.

Я установил signingconfigs в build.gradle:

android {
  ...
  signingConfigs {
    release {
        storeFile file("keystore/motolife.keystore")
        storePassword "***"
        keyAlias "motolife"
        keyPassword "***"
    }
  }

  buildTypes {
    release {
        signingConfig signingConfigs.release
    }
  }
  ...
}

Я также пытался подписать с помощью jarsigner:

jarsigner -verbose -keystore keystore/motolife.keystore build/outputs/apk/motolife-new-debug.apk motolife

Но не повезло. Я даже установил поддержку gradle для Eclipse и попытался собрать приложение с подписанным выпуском, но получил ту же ошибку «Хранилище ключей было подделано, или пароль был неверным».


person alexaschka    schedule 02.07.2014    source источник
comment
в вашем пароле есть сложные символы? Я видел, что запятые в нем вызывают проблемы.   -  person reidisaki    schedule 02.07.2014
comment
@reidisaki, пароль буквенно-цифровой плюс символ @   -  person alexaschka    schedule 02.07.2014
comment
можно ли попробовать создать хранилище ключей с простым паролем без @? Я видел, как у людей возникают проблемы с небуквенно-цифровыми символами при миграции.   -  person reidisaki    schedule 02.07.2014
comment
@reidisaki, я даже не могу изменить пароль для своего хранилища ключей из-за этой ошибки. И создание нового хранилища ключей для меня не вариант.   -  person alexaschka    schedule 02.07.2014
comment
@alexaschka У вас есть решение вашей проблемы? Пожалуйста, дай мне знать.   -  person Arun Badole    schedule 02.12.2014


Ответы (1)


попробуйте сделать что-то вроде этого тогда:

    release {
        storeFile file("keystoreName.keystore") //change value per signing
         def pass = System.console().readPassword("\nPlease enter key password: ")   
        pass = new String(pass)
        storePassword pass
        keyAlias "revision3" //need to change these values per signing
        keyPassword pass            
    }
person reidisaki    schedule 02.07.2014