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 

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

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

Intereting Posts
В чем разница между v4.app.NotificationCompat и v7.app.NotificationCompat? Скольжение – загрузка одного кадра из видео в определенное время? Исправлено изменение названия ящика на изменение ориентации? ListView (адаптор) элемент видимости прослушивателя Как перенести квадрат OpenGL пальцем? Как сделать мой ImageView фиксированным, независимо от размера растрового изображения Можно ли создавать вызовы OpenGL ES из вашего кода на C ++ и Java? Как установить непрозрачность фигуры? Android Bitmap привязывается к сетке Импортируйте проект eclipse android с системой управления версиями в Android Studio Тема / Стиль не применяется, когда надуватель используется с ApplicationContext Обновите плагин Cordova / Phonegap (3.2.0) в проекте Как написать собственное контекстное меню для копирования и вставки? Могу ли я разрабатывать приложения для Android с помощью gwt? Игровое программирование iphone osx android 1.6 shared codebase