Yeni bir uygulama yüklemem gerekiyor, sadece biraz farklı olan tasarım. Dün uygulamayı imzalamak için anahtar deposu dosyasını oluşturdum. Ben de aynısını kullanabilir miyim?
Yeni bir uygulama yüklemem gerekiyor, sadece biraz farklı olan tasarım. Dün uygulamayı imzalamak için anahtar deposu dosyasını oluşturdum. Ben de aynısını kullanabilir miyim?
Yanıtlar:
Bunu keystore
herhangi bir sayıda uygulama için kullanabilirsiniz .
Yeni bir anahtar deposu oluşturmaya gerek yok.
Şimdiye kadar fikir birliği cevabına karşı bir argüman yapacağım.
Çoğu uygulama yazarının uygulamalarınız arasında aynı anahtar deposu / sertifika / şifreyi paylaşmanın iyi çalışacağını kabul ediyorum. Önemli olan, uygulamalarınızın beklenen ömrü boyunca aynı sertifikayı kullanmaktır kendisini yükseltebilmesi için " .
Ancak, ayrı uygulamalar veya uygulama aileleri için ayrı anahtar depolarına sahip olmak için çok iyi bir neden düşünebilirim. Orijinaline yükseltme olarak yayınlamaları için başka birine bir uygulama satmak isteyebileceğinizi düşünüyorsanız, bunu yapmak için tek ve tek anahtar deponuzu ve şifrenizi onlarla paylaşmanız gerekir. Muhtemelen büyük bir sorun değil, sizin için biraz endişe ve belki de yeterince büyük bir alıcı için durum tespiti sorunu.
Ayrıca, dokümantasyondaki aynı satırı @ol_v_er ile aynı şekilde okumuyorum. Şu anki satırı düşünüyorum:
Uygulamalarınızın beklenen ömrü boyunca tüm uygulamalarınızı aynı sertifikayla imzalamalısınız.
(mevcut sürümde virgül olmamasına dikkat edin), yalnızca 'ömür boyu' önerisinin tüm uygulamalar için geçerli olduğunu vurgulamaktır, aslında sizi tüm uygulamalarınız için aynı sertifikayı kullanmaya yönlendirmez.
Resmi belgeler bize şunları söylüyor:
Genel olarak, tüm geliştiriciler için önerilen strateji, uygulamalarınızın beklenen ömrü boyunca tüm uygulamalarınızı aynı sertifikayla imzalamaktır. Bunu yapmanız için birkaç neden var ...
https://developer.android.com/studio/publish/app-signing.html#considerations
Yani evet, tüm uygulamalarınızı aynı sertifika ile imzalamayı deneyin.
Buraya biraz açıklama eklemek istiyorum, çünkü bu soru ve verilen cevaplar kafamı karıştırıyor. Bir anahtar deposunun gerçekte ne olduğunu anlamak çok önemlidir.
Anahtar deposu, Android apks'lerinizi imzalamak için kullanılan genel / özel anahtar çiftini güvenli bir şekilde depolamanın bir yoludur. Yani evet, aynı anahtar deposunu kullanabilirsiniz birden fazla apks'i imzalamak sorunsuz bir şekilde kullanabilirsiniz. Aynı takma adı (her diğer ad bir sertifikadır) birden fazla apk imzalamak için de kullanabilirsiniz ve çalışacaktır. Bununla birlikte, güvenlik açısından etkileri vardır. Tek takma adınızın güvenliği ihlal edilirse, tüm uygulamalarınızın güvenliği ihlal edilmiş olur.
Ancak, bir gün uygulamalarınızın haklarını satmayı düşünüyorsanız, tüm uygulamalarınız için aynı takma adı kullanmak iyi bir fikir olmayabilir. Ancak, her apk için farklı bir takma ad kullanmanız koşuluyla, aynı anahtar deposunu kullanmak kötü bir seçenek olmayabilir. Bir sertifikayı bir anahtar deposundan diğerine taşımanın bir yolu olduğundan eminim, böylece yalnızca o sertifika için gerekli anahtarları güvenli bir şekilde alıcınıza verebilirsiniz.
Açıkça söylemek gerekirse, bir anahtar deposu, anahtarlar için bir depolama ortamıdır. Bir apk imzalama sürecinde gerçek bir rol oynamaz, ancak yalnızca gerçekten apk imzalamak için kullanılan anahtarları saklamaya yarar.
Referanslar:
Anahtar deposu, sertifikalar ve diğer adları anlama
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
Elbette! Aynı anahtar deposu dosyasını istediğiniz kadar kullanabilirsiniz. Geliştirdiğiniz tüm uygulamalar için aynı anahtar deposu dosyasını kullanmak her zaman daha iyidir. Uygulamayı güncellemek veya değiştirmek isterseniz bu yardımcı olacaktır. O zaman başvurunuzu aynı anahtarla imzalamanız gerekir.
Tüm uygulamalarımı aynı sertifikayı (anahtar deposu) kullanarak imzalıyorum. Fikrimi değiştirirsem ve uygulamalarımın verilerini paylaşmasını istersem bu bir avantaj sağlar.
Bildiğiniz gibi, Android her uygulamayı bir UID ile tanımlar. Tüm uygulamalarınız aynı sertifika ile imzalanmışsa, android'in aynı kullanıcı kimliğini birden fazla uygulama atamasını isteyebilir ve bunları tek bir işlemde çalıştırıp verileri paylaşmasını sağlayabilirsiniz.
Android doc android'den: sharedUserId
android: sharedUserId
Diğer uygulamalarla paylaşılacak olan Linux kullanıcı kimliğinin adı. Varsayılan olarak, Android her uygulamaya kendi benzersiz kullanıcı kimliğini atar. Ancak, bu öznitelik iki veya daha fazla uygulama için aynı değere ayarlanırsa, aynı sertifika ile imzalanmış olmaları koşuluyla, hepsi aynı kimliği paylaşacaktır. Aynı kullanıcı kimliğine sahip uygulama birbirlerinin verilerine erişebilir ve istenirse aynı işlemde çalıştırılabilir
Son Güncelleme
Google tarafından Uygulama imzalamaya kaydolmak istiyorsanız , apk'nizi veya paketinizi imzalamak için yeni farklı anahtar kullanmanız gerekir, aksi takdirde Google konsolunu yükledikten sonra size hata mesajı verecektir.
Kullanıcılara teslim edilen APK'ları imzalamak için de kullanılan bir anahtarla imzalanmış bir APK veya Android App Bundle yüklediniz. Google Play'den Uygulama İmzalama'ya kaydolduğunuz için, APK'nızı veya Android App Bundle'ınızı yüklemeden önce yeni bir anahtarla imzalamalısınız