Câu hỏi Lỗi "Chứng chỉ gỡ lỗi đã hết hạn" trong các plugin Eclipse của Android


Tôi đang sử dụng các plugin Eclipse Android để xây dựng một dự án, nhưng tôi nhận được lỗi này trong cửa sổ bảng điều khiển:

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

Làm thế nào để tôi sửa chữa nó?


1756
2018-02-03 19:26


gốc


Ai đó có thể cho biết tại sao điều này xảy ra? - Matical
Ngày hệ thống của bạn có thay đổi hay không, gây ra chứng nhận hợp lệ 25 năm (như được đề xuất trong khi ký đơn). sự kiện không quá 5 tuổi của nó - Trikaldarshi
Bạn cần tạo kho khóa mới - bynu022


Các câu trả lời:


Xóa chứng chỉ gỡ lỗi của bạn trong ~/.android/debug.keystore trên Linux và Mac OS X; thư mục giống như %USERPROFILE%/.androidtrên các cửa sổ.

Sau đó, Eclipse plugin sẽ tạo ra một chứng chỉ mới khi bạn cố gắng xây dựng một gói gỡ lỗi tiếp theo. Bạn có thể cần phải làm sạch và sau đó xây dựng để tạo chứng chỉ.


2185
2018-02-03 23:50



Trên Windows, tôi phải xóa debug.keystore và thực hiện một số thay đổi để có được một biên dịch mới. Tôi đã tạo một dự án thử nghiệm mới và debug.keystore mới đã được tạo. - Tomas
Nó cũng sẽ được tái tạo cho dự án hiện tại nếu bạn 'làm sạch' dự án (đi đến Project -> Clean ...) - adamnfish
@adamnfish: nó không làm việc cho tôi trên mac và nhật thực. - rjoshi
Hiện có một vấn đề về trình theo dõi lỗi yêu cầu điều này được sửa. Hãy bình chọn cho nó. code.google.com/p/android/issues/detail?id=15370 - Manfred Moser
Sạch sẽ không khắc phục được vấn đề cho tôi, tôi cần rm ~ / .android / debug.keystore bằng tay. - James Moore


Sau khi cài đặt, SDK Android sẽ tạo debug ký chứng chỉ cho bạn trong kho khóa được gọi là debug.keystore. Trình cắm thêm Eclipse sử dụng chứng chỉ này để ký mỗi bản dựng ứng dụng được tạo ra.

Rất tiếc, chứng chỉ gỡ lỗi chỉ hợp lệ trong 365 ngày. Để tạo một cái mới, bạn phải xóa cái hiện có debug.keystore tập tin. Vị trí của nó phụ thuộc vào nền tảng - bạn có thể tìm thấy nó trong Tuỳ chọn - Android - Xây dựng - Keystore gỡ lỗi mặc định.


318
2018-02-04 04:18



Thay đổi để thực hiện 30 năm mặc định đã được chấp nhận vào ngày 6 tháng 4 năm 2011: review.source.android.com/#change,22128 - James Moore
Nếu bạn xóa debug.keystore, bạn sẽ cập nhật ứng dụng của mình như thế nào? - user739375
@ user739375, debug.keystore chỉ được sử dụng để gỡ lỗi, một chứng chỉ riêng được sử dụng cho "sản xuất". - Teo Klestrup Röijezon
@ JamesMoore Tôi thực sự ngạc nhiên rằng chứng chỉ cũ là bao nhiêu - Trikaldarshi


Đó là một nỗi đau phải xóa tất cả các tệp .apk phát triển của bạn, bởi vì chứng chỉ mới không khớp nên bạn không thể nâng cấp chúng trong tất cả các AVD của mình. Bạn cũng phải có một khóa MAP-API phát triển khác. Có một giải pháp khác.

Bạn có thể tạo chứng chỉ gỡ lỗi của riêng mình trong debug.keystore với bất cứ điều gì hết hạn bạn muốn. Làm điều này trong .android thư mục dưới HOME danh mục:

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

keytool.exe có thể được tìm thấy trong thư mục bin JDK (ví dụ: C:\Program Files\Java\jdk1.6.0_31\bin\ trên Windows).

ADT đặt tên và họ trên chứng chỉ là "Android Debug", đơn vị tổ chức là "Android" và mã quốc gia gồm hai chữ cái là "Hoa Kỳ". Bạn có thể để giá trị của tổ chức, thành phố và tiểu bang là "Không xác định". Ví dụ này sử dụng hiệu lực của 14000 ngày. Bạn có thể sử dụng bất cứ giá trị nào bạn thích.


229
2017-10-29 21:01



Tôi thích điều này vì nó cung cấp bản sửa lỗi dài hạn hơn cho đến khi SDK cung cấp cách tốt hơn để xử lý chứng chỉ hết hạn. - Sean Aitken
Tôi thích điều này vì tôi không cần sử dụng nhật thực. - MattK
Tôi giả định rằng điều này là để được gõ theo dòng lệnh. Nếu vậy, tôi nhận được một lỗi "keytool không được công nhận". Bạn có thể giải thích thêm về phương pháp này không? - Ted Betz
keytool có thể được tìm thấy trong thư mục bin của JDK (bất kỳ hệ điều hành nào). Tôi thường thêm thư mục bin này vào PATH của tôi vì vậy ở trên sẽ làm việc từ bất cứ đâu. Bạn có thể tìm thấy thư mục bin JDK của bạn và thêm nó vào PATH của bạn, hoặc bạn có thể đặt tên đường dẫn đầy đủ vào keytool trên dòng lệnh. - Dave MacLean
Như những người bình luận khác đã chỉ ra, Google dường như đã mở rộng thời hạn mặc định của chứng chỉ gỡ lỗi để xóa tệp debug.keystore và làm sạch / xây dựng dễ dàng hơn nhiều. - Dave MacLean


Trên Vista, điều này đã làm việc:

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

  2. ECLIPSE: Trong dự án, làm sạch dự án. Đóng Eclipse. Mở lại Eclipse.

  3. ECLIPSE: Khởi chạy Trình giả lập. Xóa ứng dụng khỏi trình mô phỏng.

Bạn tốt để đi.

Tôi đã khá lo lắng khi tôi nói lỗi đó, nhưng tôi đã cố gắng đọc nó ở đây và chơi khoảng 10 phút.


72
2017-08-01 02:43



+1 cho đề xuất xóa "debug.keystore". Trong máy tính của tôi, xóa tệp đó và "Vệ sinh" Dự án là đủ (tức là không phải khởi động lại nhật thực). Cảm ơn. - MyNameIsZero


  • CÁC CỬA SỔ

Xóa: debug.keystore nằm ở C:\Documents and Settings\\[user]\.android, Làm sạch và xây dựng dự án của bạn.

  • Windows 7 đi đến C:\Users\[username]\.android và xóa tệp debug.keystore.

Làm sạch và xây dựng dự án của bạn.

  • MAC

Xóa kho khóa của bạn ở ~/.android/debug.keystore Làm sạch và xây dựng dự án của bạn.

Trong tất cả các tùy chọn nếu bạn không thể có được debug.keystore mới chỉ cần khởi động lại nhật thực.


63
2017-10-11 15:40





Trong Windows 7, nó đang ở trên con đường

C:\Users\[username]\.android
  • goto đường dẫn này và xóa debug.keystore
  • làm sạch và xây dựng dự án của bạn.

51
2017-11-23 04:50





Nếu chứng chỉ hết hạn vào giữa quá trình gỡ lỗi dự án, bạn phải thực hiện gỡ cài đặt thủ công:

Vui lòng thực thi adb uninstall <package_name> trong một cái vỏ.


38
2017-12-13 14:26





Trên máy Mac, mở bàn điều khiển (thư mục người dùng hiện tại sẽ mở), cd ".android" ("ls" để xác thực debug.keystore là có). Cuối cùng "rm debug.keystore" để xóa tệp.


34
2018-05-09 06:21