Ошибка «Отладочный сертификат истек» в плагинах Eclipse для Android

1686

Я использую плагины для Eclipse Android для создания проекта, но я получение этой ошибки в окне консоли:

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!

Как это исправить?

  • 8
    Может кто-нибудь сказать, почему это происходит?
  • 2
    Изменилась ли ваша системная дата, потому что она имеет действительный сертификат на 25 лет (как рекомендуется при подписании заявки). это не событие более 5 лет конкретно
Показать ещё 1 комментарий
Теги:
certificate

17 ответов

2035
Лучший ответ

Удалите сертификат отладки под ~/.android/debug.keystore в Linux и Mac OS X; каталог похож на %USERPROFILE%/.android на Windows.

Плагин Eclipse должен сгенерировать новый сертификат, когда вы попытаетесь создать пакет отладки. Возможно, вам понадобится очистить и затем выполнить сборку для создания сертификата.

  • 12
    В Windows мне пришлось удалить debug.keystore и внести некоторые изменения, чтобы запустить новую компиляцию. Я создал новый тестовый проект, и был создан новый debug.keystore.
  • 116
    Он также будет сгенерирован для текущего проекта, если вы «очистите» проект (перейдите в Проект -> Очистить ...)
Показать ещё 25 комментариев
307

После установки Android SDK генерирует сертификат подписи debug для вас в хранилище ключей под названием debug.keystore. Плагин Eclipse использует этот сертификат для подписи созданной сборки приложения.

К сожалению, сертификат отладки действителен только в течение 365 дней. Чтобы сгенерировать новый, вы должны удалить существующий файл debug.keystore. Его местоположение зависит от платформы: вы можете найти его в Предпочтения - Android - Build - Default debug keystore.

  • 22
    6 апреля 2011 года было принято изменение 30 лет по умолчанию: review.source.android.com/#change,22128
  • 0
    Если вы удалите свой debug.keystore, как бы вы обновили свое приложение?
Показать ещё 2 комментария
232

Мне больно удалять все ваши файлы .apk разработки, потому что новый сертификат не соответствует, поэтому вы не можете обновлять их во всех своих AVD. Вы также должны получить еще один ключ MAP-API разработки. Там другое решение.

Вы можете создать свой собственный сертификат отладки в debug.keystore с любым истечением срока действия. Сделайте это в папке .android в каталоге HOME:

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

keytool.exe можно найти в папке bin JDK (например, C:\Program Files\Java\jdk1.6.0_31\bin\ в Windows).

ADT устанавливает имя и фамилию в сертификате как "Android Debug", организационное подразделение "Android" и двухбуквенный код страны как "США". Вы можете оставить значения организации, города и государства как "Неизвестные". В этом примере используется срок действия 14000 дней. Вы можете использовать любое значение, которое вам нравится.

  • 3
    Мне это нравится, потому что он обеспечивает более долгосрочное исправление, пока SDK не предоставит лучший способ справиться с истекающим сертификатом.
  • 21
    Мне это нравится, потому что мне вообще не нужно использовать затмение.
Показать ещё 4 комментария
66

В Vista это сработало:

  • DOS: del c:\user\dad\.android\debug.keystore

  • ECLIPSE: В проекте очистите проект. Закрыть Eclipse. Повторно открыть Eclipse.

  • ECLIPSE: Запустите эмулятор. Удалите приложение из эмулятора.

Вы хорошо пойдете.

Я был очень обеспокоен, когда я произнес эту ошибку, но я исправил ее от чтения здесь и поиграл 10 минут.

61
  • WINDOWS

Удалить: debug.keystore находится в C:\Documents and Settings\\[user]\.android. Очистите и создайте проект.

  • Windows 7 перейдите в C:\Users\[username]\.android и удалите файл debug.keystore.

Очистите и создайте свой проект.

  • MAC

Удалите хранилище ключей, расположенное в ~/.android/debug.keystore. Очистите и создайте проект.

Во всех параметрах, если вы не можете получить новый debug.keystore, просто перезапустите eclipse.

49

В Windows 7 он находится на пути

C:\Users\[username]\.android
  • перейдите по этому пути и удалите debug.keystore
  • очистите и создайте свой проект.
35

Если срок действия сертификата истекает в середине отладки проекта, вы должны выполнить удаление вручную:

Пожалуйста, выполните adb uninstall <package_name> в оболочке.

32

На Mac откройте консоль (текущий каталог пользователя должен открыть), cd ".android" ( "ls" для проверки debug.keystore есть). Наконец, "rm debug.keystore", чтобы удалить файл.

30

В Ubuntu это сработало:

Я пошел в home/username/.android, и я переименовал keystore.debug в keystoreold.debug. Затем я закрыл Eclipse, запустил Eclipse, и SDK создал новый сертификат keystore.debug в этой папке.

Затем вам необходимо удалить/переустановить приложения, установленные с помощью USB-отладки или без знака APK ( "unsigned" APK = подписан с сертификатом отладки).

30

Н-м-м-м. Интересно, как так много людей имели немного отличающийся от этого опыт. Я помню те дни, когда это считалось признаком того, что программное обеспечение не было готово к выпуску, и команда фактически исправит его, прежде чем пользователи начнут видеть эти проблемы: (

Мой собственный опыт был немного другим. Я уже пробовал Project > Clean, но все же получил тот же самый сбой сборки. Затем я удалил debug.keystore(под .android), как сказал первый ответ. Все еще была та же проблема. Затем я снова сделал чистку и удивлялся чудесам, это сработало!

Теперь не поймите меня неправильно, я рад, что получил работу благодаря подсказкам в этой теме. Но ясно, что чистая работа не работает, и как она нашла истекший ключ после того, как я удалил хранилище ключей? Очевидно, что что-то не так с Eclipse или ADT - не совсем уверен, что.

  • 0
    Eclipse имеет тенденцию кешировать файлы, поэтому иногда требуется очистка / обновление, чтобы сообщить, что файл изменился на диске.
30

У меня была эта проблема пару недель назад. Я сначала попробовал troubleshooting на сайте разработчика Android, но без везения. После этого я переустановил Android SDK, который решил мою проблему.

  • 0
    действительно печеночная ..
29

Android SDK генерирует сертификат подписи "debug" для вас в хранилище ключей debug.keystore. Плагин Eclipse использует этот сертификат для подписывания каждой созданной сборки приложения.

К сожалению, сертификат отладки действителен только в течение 365 дней. Чтобы создать новый, вы должны удалить существующий файл debug.keystore. Его местоположение зависит от платформы: вы можете найти его в настройках → Android → Build → * Default debug keystore.

Если вы используете Windows, выполните следующие действия.

DOS: del c:\user\dad.android\debug.keystore

Eclipse: В проекте очистите проект. Закрыть Eclipse. Повторно открыть Eclipse.

Затмение: Запустите эмулятор. Удалите приложение из эмулятора.

Если вы используете Linux или Mac, выполните следующие действия.

Вручную удалите debug.keystore из папки .android.

Вы можете найти папку .android следующим образом: home/username/.android

Примечание: файл .android по умолчанию будет скрыт.

Итак, нажмите на меню мест. В разделе выбора домашней папки. Под кликом по представлению в контекстном меню отображаются скрытые файлы, а затем будет отображаться папка .android.

Удалите debug.keystore из .android folder.

Затем очистите проект. Теперь Android будет генерировать новый .android folder файл.

11

Для Windows xp перейдите к C:\Documents and Settings\%userprofile%\.android и удалите файл debug.keystore, перезапустите eclipse, и теперь ваш проект будет создан без ошибок.

Пример пути:

C:\Documents and Settings\raja.ap\.android\

read-here-for-more.

10

В Windows debug.keystore файл является локальным в папке C:\Users\%Username%\.android. Этот файл создается при установке SDK для Android и действует только год. После этого perod вы начнете получать эту ошибку Error getting final archive: Debug certificate expired on xx/xx/xxxx.

Чтобы удалить эту ошибку, просто удалите файл и запустите программу еще раз. В моем Eclipse я включил Project->Build Automatically, чтобы он работал напрямую, но если вы отключили его, вам нужно будет очистить проект Project->Clean.. выберите свой проект и нажмите ok. Затем вам нужно будет создать его вручную. 3-й клик по вашему проекту и выберите Build project. (Примечание. Вы увидите эту опцию только в том случае, если в меню "Проекты" автоматически отключена функция "Сборка автоматически" )

7

Сначала закройте затмение, затем

Открыть CMD по окну Ключ + R или через Запуск от имени администратора

Выполняется следующий шаг

del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000

после перезапуска eclipse.

5

После установки Android SDK in Eclipse он генерирует сертификат подписи отладки для хранилища ключей debug.keystore. Плагин Eclipse использует этот сертификат для подписывания каждой созданной сборки приложения.

Теперь проблема с этим отладочным сертификатом заключается в том, что он действителен только год или 365 дней. If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app.

Чтобы устранить эту проблему, все, что вам нужно сделать, это удалить файл debug.keystore.

  • Go to Preferences
  • Android
  • Build
  • Default debug keystore

Там вы должны увидеть папку, в которой находится файл. Просто удалите этот файл, и вы хорошо пойдете.

Подробнее. вы можете посетить

http://developer.android.com/tools/publishing/app-signing.html

0

Чтобы устранить эту проблему, просто удалите файл debug.keystore.

Место хранения по умолчанию для AVD - это

В ~/.android/на OS X и Linux.

В C:\Documents and Settings \.android\в Windows XP

В C:\Users \.android\в Windows Vista и Windows 7.

Также см. эту ссылку, которая может быть полезна.

http://developer.android.com/tools/publishing/app-signing.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню