Я використовую плагіни 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 - Build - Закладка налагодження за замовчуванням .
Видалити всі розроблені файли .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
можна знайти в папці для сміття JDK (наприклад, C:\Program Files\Java\jdk1.6.0_31\bin\
в Windows).
ADT встановлює ім'я та прізвище на сертифікаті як "Android Debug", організаційний підрозділ як "Android", а двобуквенний код країни як "US". Цінність організації, міста та штату ви можете залишити як "Невідомо". Цей приклад використовує термін дії 14000 днів. Ви можете використовувати будь-яке значення, яке вам подобається.
У Vista це спрацювало:
DOS: del c:\user\dad\.android\debug.keystore
ECLIPSE: У проекті Очистіть проект. Закрити затемнення. Повторно відкрийте затемнення.
ECLIPSE: Запустіть емулятор. Видаліть програму з емулятора.
Вам добре піти.
Я дуже хвилювався, коли кажу про цю помилку, але я її виправив, не читаючи тут, і розігруючись протягом 10 хвилин.
Видалити: debug.keystore
розташований у
C:\Documents and Settings\\[user]\.android
, Очистіть та складіть свій проект.
C:\Users\[username]\.android
і видаліть файл debug.keystore.Очистіть і складіть свій проект.
Видаліть сховище ключів, розташоване в ~/.android/debug.keystore
Очистити, та створіть свій проект.
У всіх варіантах, якщо ви не можете отримати новий debug.keystore, просто перезапустіть затемнення.
На 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
Затемнення: У проекті Очистіть проект. Закрити затемнення. Повторно відкрийте затемнення.
Затемнення: Запустіть емулятор. Видаліть програму з емулятора.
Видалити 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 ("без підпису" APK = підписано сертифікатом налагодження).
Для Windows xp перейдіть C:\Documents and Settings\%userprofile%\.android
і видаліть файл debug.keystore , перезапустіть затемнення і тепер ваш проект збирається без помилок.
Приклад шляху:
C:\Documents and Settings\raja.ap\.android\
У debug.keystore
файлі Windows розміщено 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
. (Примітка. Цей параметр ви побачите лише у тому випадку, якщо ви включили функцію Build Automatically в меню проектів)
Спочатку закрийте затемнення потім
Відкрийте 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
після цього перезапуску затемнення.
Після встановлення програми 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
Щоб виправити цю проблему, просто видаліть файл debug.keystore.
Місце для зберігання даних AVD за замовчуванням -
У ~ / .android / на OS X та Linux.
В C: \ Документи та налаштування \ .android \ у Windows XP
В C: \ Користувачі \ .android \ у Windows Vista та Windows 7.
Також дивіться це посилання, яке може бути корисним.
http://developer.android.com/tools/publishing/app-signing.html