2012-08-04 34 views
5

Tôi cố gắng để tải lên ứng dụng Android của tôi vào Google Play thị trường và tôi nhận được lỗi:android - APK phải có chữ ký với các chứng chỉ tương tự như các phiên bản trước

the apk must be signed with the same certificates as the previous version 

Điều buồn cười là tôi bằng cách sử dụng keystone gốc với mật khẩu ban đầu, vì vậy tôi nhầm lẫn với những gì có thể gây ra vấn đề này.

1) Tôi đã nâng cấp Mac OS X lên Lion mà hệ điều hành 64 bit từ hệ điều hành 32 bit trước đó. Có thể đó là vấn đề?

2) Tôi đã cập nhật các công cụ Android: Eclipse, SDK và Java trước khi tạo phiên bản ứng dụng mới này. Có thể đó là vấn đề?

3) Tôi cũng đã cố gắng chạy

jarsigner -verify -verbose -certs 

trên phiên bản cũ của ứng dụng đó là trên Google Play và ứng dụng mới và Giấy chứng nhận lần hợp lệ đều giống nhau.

4) Tôi đã tạo APK mới theo cách thủ công và bằng cách sử dụng Xuất ứng dụng Android trong Eclipse.

5) Bằng tay tôi tạo APK bởi trong Eclipse sử dụng `

Android Tools -> Export Unsigned Application and then using 
jarsigner -verbose -keystore mykeystore.keystore app.apk companyName 
/Developer/android-sdk-mac_86/tools/zipalign -v 4 app.apk app_aligned.apk 

Vì vậy, tôi không nghĩ rằng vấn đề là tôi đang sử dụng keystore sai. Tôi đã đọc rằng vấn đề này cũng có thể do

A) Cố gắng tải lên một gói gỡ lỗi thay vì một gói phát hành.

B) Có tên gói sai trong tệp kê khai.

C) Không tăng versionCode và versionName.

Có những thứ khác có thể gây ra vấn đề này ngoài việc sử dụng sai chính không?

+0

bản sao có thể có của [Gói ứng dụng phải được ký với cùng chứng chỉ như phiên bản trước] (http://stackoverflow.com/questions/4843212/the-apk-must-be-signed-with-the-same- chứng chỉ-as-the-trước-phiên bản) –

+0

Bạn có thể muốn đọc http://developer.android.com/tools/publishing/app-signing.html, nhưng khi bạn nâng cấp, bạn đã sao lưu khóa của mình trước chưa? –

+0

Tôi không nghĩ đó là câu hỏi trùng lặp vì tôi có bản gốc. –

Trả lời

1

Trong trường hợp của tôi, hóa ra tôi đã sử dụng kho khóa sai. Điều gì khiến tôi nhận ra điều này đang chạy

jarsigner -verify -verbose -certs android_app 

trên ứng dụng trước và mới và nhận tên tệp CERT.RSA khác nhau cho mỗi ứng dụng.

Vì vậy, tôi đào xung quanh một chút và tìm thấy một kho khóa khác, hóa ra đó chính xác.

+0

Tôi có kho khóa cũ của mình, làm cách nào để đăng ký bằng cách sử dụng khóa thay vì mã khóa sai? Tôi không thấy tùy chọn trên Eclipse. – dee

Các vấn đề liên quan