Я использую плагины Eclipse Android для создания проекта, но я получаю эту ошибку в окне консоли:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
Как мне это исправить?
Я использую плагины Eclipse Android для создания проекта, но я получаю эту ошибку в окне консоли:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
Как мне это исправить?
Ответы:
Удалите свой сертификат отладки ~/.android/debug.keystoreв Linux и Mac OS X ; каталог похож %USERPROFILE%/.androidна Windows .
Плагин Eclipse должен генерировать новый сертификат при следующей попытке создать пакет отладки. Вам может потребоваться очистить, а затем собрать для создания сертификата.
После установки Android SDK создает debugсертификат подписи для вас в хранилище ключей с именем debug.keystore. Плагин Eclipse использует этот сертификат для подписи каждой создаваемой сборки приложения.
К сожалению, сертификат отладки действителен только в течение 365 дней. Для создания нового необходимо удалить существующий debug.keystoreфайл. Его расположение зависит от платформы - вы можете найти его в Предпочтения - Android - Сборка - Склад ключей отладки по умолчанию .
Трудно удалить все ваши файлы .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», организационную единицу - как «Android», а двухбуквенный код страны - как «США». Вы можете оставить значения организации, города и штата как «Неизвестно». В этом примере используется срок действия 14000 дней. Вы можете использовать любое значение, которое вам нравится.
На Vista это сработало:
DOS: del c:\user\dad\.android\debug.keystore
ЗАТМЕНИЕ: В Проекте, Очистить проект. Закрыть Затмение. Снова откройте Eclipse.
ЗАТМЕНИЕ: Запустите эмулятор. Удалить приложение из эмулятора.
Тебе хорошо идти.
Я очень переживал, когда говорю об этой ошибке, но я исправил ее из-за того, что я читал здесь и играл в течение 10 минут.
Удалить: debug.keystore
находится в
C:\Documents and Settings\\[user]\.android, Очистить и построить свой проект.
C:\Users\[username]\.androidи удалите файл debug.keystore.Очистите и постройте свой проект.
Удалите хранилище ключей, расположенное в ~/.android/debug.keystoreЧистой, и постройте свой проект.
Во всех опциях, если вы не можете получить новый debug.keystore, просто перезапустите eclipse.
На Mac откройте Терминал (должен открыться каталог текущего пользователя), cd ".android" (здесь есть "ls" для проверки debug.keystore). Наконец, «rm debug.keystore», чтобы удалить файл.
Android SDK генерирует «отладочный» сертификат подписи для вас в хранилище ключей с именем debug.keystore. Плагин Eclipse использует этот сертификат для подписи каждой создаваемой сборки приложения.
К сожалению, сертификат отладки действителен только в течение 365 дней. Чтобы создать новый, вы должны удалить существующий debug.keystoreфайл. Его расположение зависит от платформы - вы можете найти его в « Настройки» -> « Android» -> « Сборка» -> * хранилище ключей отладки по умолчанию.
DOS: del c: \ user \ dad.android \ debug.keystore
Затмение: в проекте, очистить проект. Закрыть Затмение. Снова откройте Eclipse.
Затмение: Запустите Эмулятор. Удалить приложение из эмулятора.
Удалите вручную debug.keystoreиз .androidпапки.
Вы можете найти .androidпапку следующим образом:home/username/.android
Примечание: .androidфайл по умолчанию будет скрыт.
Так что нажмите на меню мест. Под выберите домашнюю папку. Под кликом на представлении, под кликом показать скрытые файлы и тогда .androidпапка будет видна.
Удалить debug.keystoreиз .android folder.
Тогда почистите свой проект. Теперь Android сгенерирует новый .android folderфайл.
У меня была эта проблема пару недель назад. Сначала я попробовал устранить неполадки на сайте разработчиков Android, но без удачи. После этого я переустановил Android SDK, что решило мою проблему.
Хммм. Интересно, как много людей имели немного другой опыт с этим. Я помню дни, когда это считалось признаком того, что программное обеспечение не было готово к выпуску, и команда фактически исправляла его ДО того, как пользователи начали видеть эти проблемы :(
Мой собственный опыт был немного другим. Я уже пробовал Project> Clean, но все равно получил тот же сбой сборки. Затем я удалил debug.keystore (под .android), как и сказал первый ответ. Все еще есть та же проблема. Потом я снова сделал чистку, и чудо из чудес, это сработало!
Теперь не поймите меня неправильно, я рад, что все получилось благодаря подсказкам в этой теме. Но ясно, что очистка не работает правильно, и как он нашел истекший ключ после того, как я удалил хранилище ключей ??? Очевидно, что-то не так с Eclipse или ADT - не уверен, что именно.
На Ubuntu это сработало:
Я пошел home/username/.androidи я переименовал keystore.debugв keystoreold.debug. Затем я закрыл Eclipse, запустил Eclipse, и SDK создал новый сертификат keystore.debugв этой папке.
Затем вам нужно удалить / переустановить приложения, которые вы установили с помощью отладки USB или неподписанного APK («unsigned» APK = подписан с помощью сертификата отладки).
Для Windows XP перейдите C:\Documents and Settings\%userprofile%\.androidи удалите файл debug.keystore , перезапустите eclipse, и теперь ваш проект будет собран без ошибок.
Пример пути:
C:\Documents and Settings\raja.ap\.android\
В Windows debug.keystoreфайл находится в C:\Users\%Username%\.androidпапке. Этот файл создается при установке Android SDK и действует только в течение года. После этого perod вы начнете получать эту ошибку Error getting final archive: Debug certificate expired on xx/xx/xxxx.
Чтобы удалить эту ошибку, просто удалите файл и снова запустите программу. В моем Eclipse я включил, Project->Build Automaticallyчтобы он работал напрямую, но в случае, если вы отключили его, вам нужно будет очистить проект Project->Clean.. выберите ваш проект и нажмите ОК. Тогда вам нужно будет построить его вручную. 3-й щелкни по своему проекту и выбери Build project. (Примечание. Эта опция появится только в том случае, если в меню «Проекты» есть функция «Автоматически строить»).
Сначала закройте затмение, затем
Откройте CMD с помощью Window Key + R или через Run as Admin
Следует за следующим шагом
del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000
после этого перезапустите затмение.
После установки 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 PreferencesAndroidBuildDefault debug keystoreТам вы должны увидеть папку, в которой находится файл. Просто удалите этот файл, и все готово.
Для получения дополнительной информации. Вы можете посетить
http://developer.android.com/tools/publishing/app-signing.html
Чтобы решить эту проблему, просто удалите файл 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