.Keystore dosyamı mı kaybettim?


91

Tamam millet .. uzun lafın kısası, artık erişemediğim bir bilgisayarda geliştiriyordum. Kaynak kodunu alabildim, ancak uygulamamı imzalamak ve pazarda yayınlamak için kullanılan .keystore dosyasını alamadım (birkaç güncellemeyle). Güncelleme yapmak istersem, ben ve zayıf kullanıcılarım şanssız mıyım?

Anahtarı imzalamak için kullanılan şifreyi biliyorum (en azından üçünden biri olabilir), peki başka bir tane oluşturabilir miyim? Bunun bir yolu olmalı .. peki ya sabit disk arızalı?


14
Orada ise oldu onun etrafında bir yol, o sunulması gereken tüm güvenlik amacı yenmek!
Noel Baba

Yanıtlar:


78

Aynı sorunla karşılaştı. Silinen dosyaları geri yükleme araçlarıyla geri yüklemeye çalışıyordum, ancak başarısız oldu. Yani başka bir yol yok: başka bir başvuru yapmalısınız.

Genel olarak, anahtar depolarında bulunan tek tavsiye: "her zaman yedekleyin!"


1
Bununla karşılaştım ve uygulamamın yeni bir sürümünü yeniden yayınlamak zorunda kaldım. O zamandan beri tüm anahtarlarım Dropbox'ta.
Varun

Android Studio 3.3'e güncelledikten sonra, eski anahtar depom artık uygulamayı imzalarken kabul edilmiyor. "Anahtar kurtarılamıyor" hata mesajı görüntüleniyor.
Yar

Her Android Studio yükseltmesinde olur. 4.0'dan 4.1'e yükseltmelerde aynı sorunu iki kez yaşıyorum.
Toni Garabedyan

60

Şimdi endişelenmeyin, işte .JKS dosyasını sıfırlamak için tam ve son adımlar.

Anahtarımı başarıyla dinlendirdim

Aşama 1

Google Play Store Konsolunuzdan YÜKLEME SERTİFİKASINI (dosya adı - upload_cert.der ) indirin

upload_cert.der dosyasını indirmek için

Adım 2

Bu LINK https://support.google.com/googleplay/android-developer/contact/otherbugs adresine gidin ve başvuru formunu geçerli E-posta Kimliğinizle doldurun ve dosyayı yükleyin (upload_cert.der).

Başvuru formunu doldurun

Aşama 3

Şimdi e-postayı destek ekibinden alacaksınız ve .JKS dosyanıza ihtiyaçları yok, ancak burada .PEM dosyası e-posta Örneği.

görüntü açıklamasını buraya girin

4.Adım

.JKS dosyasını .PEM dosyasına dönüştürmek için KeyStore Explorer'ı indirmeniz yeterlidir JKS için PEM

Postayı yanıtladıktan sonra, anahtar deposu dolgunuzun sıfırlanmasını 48 ila 72 saat bekleyin.


7
Bir uygulama için Google Play Uygulamasında oturum açma etkinleştirilmemişse ne olur?
Vipul Behl

Onun dışında hiçbir şey bulunamadı. Google, Mayıs 2017'de yeni Android Uygulama imzalama tekniğini resmen duyurdu.
Geliştirici Vicky

1
3. adımda yeni jks dosyası oluşturmam ve pem dosyasına dönüştürmem ve bunu repaly postası olarak onlara göndermem gerekiyor mu? bu adım doğru mu ???
giveJob

1
evet, yeni JSK dosyası oluşturmalı ve PEM'e dönüştürmelisiniz @HemanthSP
Geliştirici Vicky

evet yaptım ve şimdi yeni anahtar
depom

35

Bugüne kadar, anahtarınızı kaybetmeniz, uygulamanızı yeni bir sürümle güncellemenizi imkansız hale getirecektir. Bu gibi durumlarda tek çözüm, yeni bir paket adı ve anahtarıyla yeni bir uygulama yayınlamak ve tüm kullanıcılarınızdan onu yüklemelerini istemekti.

Bugünden itibaren , Play Console'daki uygulama imzalama anahtarı artık Google Play tarafından güvenli bir şekilde yönetiliyor, yani yalnızca yükleme anahtarınızı yönetmekten siz sorumlu olacaksınız. Yükleme anahtarınızın güvenliği ihlal edilirse veya kaybolursa, Google'ın geliştirici işlemleri ekibi kimliğinizi doğrulayarak ve yükleme anahtarınızı sıfırlayarak size yardımcı olabilir. Google yine de aynı uygulama imzalama anahtarıyla yeniden oturum açarak uygulamanın her zamanki gibi güncellenmesine izin verecektir.

Mevcut uygulamalar için , uygulama imzalama anahtarınızın Google Play'e aktarılması gerekir. Yeni uygulamalar için Google, uygulama imzalama anahtarınızı oluşturabilir. Uygulama imzalamaya kaydolduğunuzda, APK'nızı Google'ın kimliğinizi doğrulamak için kullandığı bir yükleme anahtarıyla imzalarsınız. Daha sonra bu imzayı çıkaracaklar ve uygulamanızı uygulama imzalama anahtarıyla yeniden imzalayacaklar.

Referans: Play Console Yardımı> Uygulama imzalama anahtarlarınızı yönetin


13

Uzun bir süre mümkün.

  1. Yeni bir anahtar oluşturmak için Android Studio Yardım Merkezi'ndeki talimatları izleyin . Önceki anahtarlardan farklı olmalıdır. Alternatif olarak, yeni bir anahtar oluşturmak için aşağıdaki komut satırını kullanabilirsiniz:

keytool -genkeypair -alias newalias -keyalg RSA -keysize 2048 -validity 9125 -keystore.jks

Bu anahtarın 2048 bitlik bir RSA anahtarı olması ve 25 yıllık geçerliliği olması gerekir.

  1. Bu anahtarın sertifikasını PEM biçiminde dışa aktarın:

keytool -export -rfc -alias newalias -file upload_certificate.pem -keystore nameofkeystore.jks

Daha sonra bu pem dosyasını yükleyin ve formu doldurup bu siteye gönderin . Yeni yükleme anahtarını kaydettikten sonra bir e-posta alacaksınız. Yalnızca Play Console hesap sahibinden gelen anahtar sıfırlama isteklerini kabul eder .

Her şey yolunda ve güzel. Yeni jks dosyanızla yeni sürüm apk yayınlayabilirsiniz.


2
Bu, yalnızca Google Play Uygulama İmzalama'yı etkinleştirdiyseniz çalışır.
Zirve

Hayır . Google Play Uygulama İmzalamaya gerek yoktur. en azından etkinleştirmiyorum.
ksgngrkn

Bu herhangi bir yerde belgelendi mi?
Zirve

Bu yalnızca uygulama imzalama uygulamaları için çalışır. Az önce onayladım.
Euridice01

11

Anahtar deposu şifrenizi biliyorsanız, uygulamanızı imzalamak için hala ilişkili özel anahtara sahip değilsiniz. Ayrıca, genel anahtarınıza karşılık gelen aynı özel anahtarı üretme şansınız da yoktur.

Bu nedenle: Anahtar deposu dosyanızı her zaman yedekleyin. Kaynak kodunuz kadar önemlidir.


2
Yani, eğer bunu doğru bir şekilde alırsam, bu özel anahtar her anahtar deposu için rastgele oluşturulur, değil mi? Ve bildiğimiz tek şey açık anahtar, değil mi?
iCantSeeSharp

Anahtar deposuna yetkili erişiminiz varsa, özel anahtarı dışa aktarabilir ve diğer anahtar depolarına veya hizmetlere aktarabilirsiniz.
saxos

Anahtar deposu dosyanızı ve anahtarlarınızı deponuzla birlikte depolamak ideal mi?
Neon Warge

5

Uygulamanız için Google Play Uygulama imzalamayı etkinleştirdiyseniz endişelenmenize gerek yoktur.

Google Play Uygulama imzalamayı etkinleştirip etkinleştirmediğinizi kontrol etmek için Google Play Konsolunuzda Sürüm yönetimi -> Uygulama İmzalama'ya gidin.

Etkinleştirilmişse, destek formunu doldurarak Google Play Destek ile iletişime geçebilir veya buradan bir destek personeli ile canlı sohbeti de seçebilirsiniz: https://support.google.com/googleplay/android-developer/answer/7218994? hl = tr

Onlara sorununuzu açıklayın ve size 25 yıllık geçerliliğe sahip yeni bir 2048 bit RSA anahtar deposu oluşturmayı ve anahtarı PEM formatına aktarmayı ve onlara e-posta ile göndermeyi içeren sonraki adımları anlatacaklar.

Anahtarı PEM formatına aktarmak için:

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

3

Uzun günlerden beri bunun için bir çözüm aradım ama şimdiye kadar başarılı olamadım. Uygulamanızın apk'sinin son sürümüne sahipseniz, jarsigner cmd komutunu kullanarak ondan sertifikaları alabilirsiniz. Ancak güncelleme için özel bir anahtara ihtiyacınız var. Google Play bunun için herhangi bir rahatlama sağlamadı.


3
bunun nasıl yapılacağı hakkında daha fazla bilginiz var mı?
Zabs

1

İmzalı apk'yi android stüdyosunu kullanarak oluşturdum, bu yüzden " anahtar Depo Yolu " na uzantısız bir ad yazdım ve bu açılır pencereyi doldurup uygulamayı imzaladım. görüntü açıklamasını buraya girin

bir dahaki sefere uygulamayı yayınlamak için oluşturulduğu yeri ve adı hatırlamıyorum.

bir şekilde "C: \ Program Files \ Java \ jdk1.8.0_45 \ jre \ bin" olan varsayılan konumu buluyorum: \ jre \ bin

ve bu klasörde tarihe göre kısa, sonra son dosyayla denedim ve benim için çalıştı.

Not: Anahtar deposu şifresini ve anahtar şifresini hatırlamanız gerekir.


1

Şimdi Mümkün, Mayıs 2017'den sonra anahtar deponuzu veya anahtar deposu şifrenizi kaybettiyseniz uygulamanızı güncelleyebilirsiniz. Kayıp anahtar deponuzu kurtaramazsınız, ancak oyun mağazasında anahtar deposunu değiştirebilirsiniz. Buraya Tıkla

Uygulama imzalama süreci:

Google Play'den uygulama imzalamaya katılmadan önce veya sonra orijinal uygulama imzalama anahtarıyla imzalanmış APK'ları yükleyebilirsiniz.

Android App Bundle'ı kullanmaya başlıyorsanız üretimde mevcut APK'nızı kullanırken bunları test kanallarında test edebilirsiniz. Süreç şu şekilde işler:

  1. Uygulama paketinizi veya APK'nızı imzalayın ve Play Console'unuza yükleyin.
  2. Ne yüklediğinize bağlı olarak, imzalama süreci şu şekilde farklılık gösterir:

    • Uygulama paketi: Google, uygulama paketinizden optimize edilmiş APK'lar oluşturur ve bunları uygulama imzalama anahtarıyla imzalar.
    • Yükleme anahtarıyla imzalanmış APK: Google, APK'daki imzanızı doğrular ve kaldırır ve ardından, uygulama imzalama anahtarıyla APK'yı yeniden imzalar.
    • Uygulama imzalama anahtarıyla imzalanmış APK: Google imzayı doğrular. Google, imzalı APK'ları kullanıcılara sunar.

0

Bunun bir yolu olmalı .. peki ya sabit disk arızalı?

Google Drive, Dropbox gibi bulut depolamada her zaman anahtar deposunun bir yedeğini saklamayı veya kendinize e-posta ile göndermeyi eklemek isterim.


Elbette bunun etrafından dolaşmanın yolları var, sadece google bunu yapmayacak. Windows Mağazası (kimse kullanmasa bile), uygulamalarınızı Visual Studio'dan imzalamanıza izin verir (sadece mağaza hesabınızla oturum açmanız gerekir) ve ardından mağazaya kolayca yüklenebilir. Google--; Microsoft ++;
Juan Carlos

0

Evet, mevcut uygulamaya yeni bir anahtarla güncelleme yayınlayabilirsiniz!

Google artık Google Destek'te e-posta / canlı sohbet yoluyla sıfırlamalarını isteyerek yeni anahtarı mevcut uygulamaya yüklemenize izin veriyor.

Bu süreç 1-2 iş günü sürer.

Bu süreci takip ettim ve aynı uygulamaya yeni bir anahtarla güncelleme yükledim. Google Play Store teknik ekibi, önceki anahtarı sıfırlamama yardımcı oldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.