Ant не удалось создать подписанный apk после обновления до android v20

Довольно немного странной ошибки происходит после того, как я обновил инструменты android и eclipse до v20

Создание через Ant перестало работать со следующей ошибкой при создании подписанного apk

BUILD FAILED C:\Programs\Android\tools\ant\build.xml:1097: The following error occurred while executing this line: C:\Programs\Android\tools\ant\build.xml:1109: Cannot recover key 

Любая идея, что могло измениться при обновлении компонентов Android JB, и как это можно исправить?

Я ценю любую помощь …

Я просто потратил около 5 часов на эту тему … Все это спустилось до места после пароля.

По-видимому, в предыдущей версии он обрезал пароль, а в текущей версии он этого не сделал.

Поэтому убедитесь, что у вас нет пробелов в конце строк, может иметь значение. Это решило проблему для нас – не нужно идти в JDK7 (хотя, похоже, он все равно строит и работает, хотя бы от муравья).

У нас была та же проблема, и у нас есть решение, но не очень объяснение!

Наши существующие сборки имели следующие свойства в файлах свойств:

  • key.store = COMPANY_NAME-key.keystore
  • key.alias = COMPANY_NAME
  • key.store.password = KEY_STORE_PASSWORD
  • key.alias.password = KEY_ALIAS_PASSWORD

Но это перестало работать – однако, когда мы меняем key.alias.password, чтобы соответствовать паролю хранилища, он работает, например:

  • key.store = COMPANY_NAME-key.keystore
  • key.alias = COMPANY_NAME
  • key.store.password = KEY_STORE_PASSWORD
  • key.alias.password = KEY_STORE_PASSWORD

Псевдоним не уверен, почему, возможно, кто-то испортил библиотеку муравьев?

Остерегайтесь сообщения об ошибке:

Неверный key.store.password приводит к:

Keystore был изменен, или пароль был неверен: проверка пароля не удалась

Если неверный key.alias.password приводит к:

Не удается восстановить ключ

Для everone, который проверял только пароль store keytool -v -list mykeystore.keystore и никогда не подтвердил alias.password.

До SDK v20 я построил проект с использованием сценария bash, введя следующие пароли:

build_v1.sh

 ant release p@ssw0rd p@ssw0rd 

В v20 он не работает, потому что пароль не принимается. Похоже, что это связано с символом конца строки, но я не уверен. Чтобы процесс сборки не запрашивался, вы можете добавить свойства пароля в файл ant.properties:

ant.properties

 key.store=company-key.keystore key.alias=company key.store.password=p@ssw0rd key.alias.password=p@ssw0rd 

Для моего конкретного проекта в файлах ant.properties сохраняется поддельный пароль хранилища ключей, и я заменяю его паролем хранилища ключей в момент сборки:

build_v2.sh

 keyPass=p@ssw0rd sed -i "s|key.store.password=.*|key.store.password=${keyPass}|g" ant.properties sed -i "s|key.alias.password=.*|key.alias.password=${keyPass}|g" ant.properties ant release 

Это позволяет сохранить секретный пароль для хранения ключей в другом месте. Удачи!

Похоже, что ваш отладочный ключ не видел муравей.