2013-07-22 9 views
5

Na razie trzy z moich aplikacji w Google Play miałem błąd podpisanie takiego, gdy próbuje załadować nową wersję w ciągu ostatnich kilku dni:Przesyłanie nie powiodło się z podpisaniem błędu dla nowej wersji aplikacji w Google Play

Przesyłanie nie powiodło się Przesłałeś plik APK, który jest podpisany innym certyfikatem niż poprzednie pakiety APK. Musisz użyć tego samego certyfikatu. Istniejące pliki APK są podpisane za pomocą certyfikatu (-ów) z odciskami palców:

[SHA1: 87: 17: A3: 71: CD: CF: D6: 73: 71: 56: B1: 59: DE: 89: 6D: 5A: E0: EE: 31: 8A, SHA1: 4C: 45: 1E: 30: 2D: 04: F4: DC: 36: 0E: EF: 29: 1B: 1E: E1: 02: C0: E8: E9: 85]

i certyfikat (-y) użyty do podpisania APK przesłanych masz odcisk palca (s):

[SHA1: 87: 17: A3: 71: CD: CF: D6: 73: 71: 56: B1: 59: DE: 89: 6D: 5A: E0: EE: 31: 8A]

Sprawdziłem dwukrotnie magazyn kluczy i jest to ten, którego zawsze używałem. W rzeczywistości niektóre aplikacje mają wersję pro, która używa tego samego magazynu kluczy i tam aktualizacja działa dobrze. Co jest uderzające IMO to dziwny odcisk palca starego, istniejącego pliku APK, który w powyższym przypadku ma drugi wpis z "SHA1:" w nim i dla jednej z innych aplikacji, które się nie powiodły, stary odcisk palca został wymieniony jako "[]" , czyli pusty. W międzyczasie zaktualizowałem także inne aplikacje iw większości przypadków wszystko działało dobrze. Jedyną rzeczą (zauważyłem), z którą mają trzy wspólne aplikacje, jest to, że te aplikacje są dość stare, z pierwszą wersją APK z 2009 lub nawet 2008. Ale wersje pro - gdzie wszystko działa dobrze - zostały wprowadzone później.

Istnieje podobne pytanie Upload failed for newer version apk on google play, ale rozwiązanie pamięci podręcznej przeglądarki nie działa i jestem również całkiem pewien, że użyłem odpowiedniego klucza.

Ktoś ma pojęcie, jakie może być tutaj rozwiązanie? Zaczynam myśleć, że być może w przypadku niektórych starszych aplikacji odciski palców zostały nieprawidłowo wyodrębnione z plików APK po stronie Google (stąd jedno puste, a drugie IMO nieco dziwne odciski palców w starszych wersjach). Ale zazwyczaj problemy pochodzą między własnymi uszami ...

Dzięki

+0

+1 Za dobrze sformułowane pytanie. Niestety obecnie nie mam żadnych sugestii ;-( –

Odpowiedz

0

Jest możliwe, aby podpisać APK z więcej niż jednego klucza. To nigdy nie było tak dobrze obsługiwane zachowanie, a kolejność, w której klucze zostaną przetworzone, jest niezdefiniowana. Ale jeśli twój wczesny plik APK został podpisany dwoma kluczami, jak sugeruje komunikat, to twoja aktualizacja będzie musiała zostać podpisana przy użyciu tych samych kluczy (być może w tej samej kolejności).

Wygląda na to, że pierwszy klucz jest taki sam, jak ten, którego użyłeś, więc musisz znaleźć magazyn kluczy dla drugiego klucza. Być może częścią procesu budowania było ponowne podpisanie pliku APK przed przesłaniem. Prawdopodobnym podejrzanym może być twój plik kluczy debugowania w ~/.android.

+0

Dzięki, ale co z drugim odciskiem palca wymienionym jako "[]"? Podpisanie bez klucza z pewnością nigdy nie było możliwe – Ecthelion

0

Mam również ten sam problem. Nic się nie zmieniło, nadal korzystam z tego samego magazynu kluczy i zaktualizowałem aplikację dwa tygodnie temu bez żadnych problemów. Teraz oznacza to, że podpisana aktualizacja aplikacji ma tylko jeden certyfikat skrótu odcisków palców SHA1, a istniejąca aplikacja w sklepie ma dwa różne odciski palców SHA1 (i jedno z nich jest takie samo jak aktualizacja aplikacji). Wygląda więc na to, że był kiedyś podpisany dwoma certyfikatami, ale teraz jest tylko jeden. Ale nic się nie zmieniło w procesie eksportowania i podpisywania - odbywa się to za pomocą podpisanej aplikacji eksportu Eclipse, jak zawsze.

Być może zawsze podpisywał się z dwoma, a jeden z nich został przeniesiony lub usunięty. To moja jedyna teoria w tym momencie.A może coś straciło ważność w kodzie pobierania/podpisywania w Google Play na konsoli programisty Play.

Kolejny szczegół, w którym nasza aplikacja dzieli się z aplikacją OP, jest również opublikowana po raz pierwszy w 2009 r.

+1

Bardzo interesujące I rzeczywiście dokładnie tak jak w moim przypadku Osobiście uważam, że to wspiera teorię, że jest to specjalny problem w starych aplikacjach – Ecthelion

+0

Zgodnie z tym można sprawdzić odciski palców certyfikatów APK w ten sposób ... http: //stackoverflow.com/questions/11331469/how-to- find-which-key-was-used-to-sign-an-app, która sugeruje, że powinny one być SHA-1 - zauważam, że moje odciski palców to MD5withRSA, kiedy to robię - być może jest to problem, gdy magazyn kluczy ma certyfikaty z MD5withRSA. Czy możesz sprawdzić pliki APK w ten sposób, aby zobaczyć, czy to różnica między tymi, które działają, a tymi, które nie działają? Być może Google (przypadkowo) zrzuciło wsparcie dla starszych certyfikatów MD5 w tym miesiącu. –

+1

Naprawili to teraz był to Goo gle kwestia. –