❗ AppGallery’de İmza Uyuşmazlık Hatası: Nedenleri ve Çözüm Yolları

Merve Yönetci
Huawei Developers - Türkiye
3 min readSep 18, 2024
App Signing

Giriş

Herkese merhaba! Ben Merve, Huawei’de Android Developer olarak çalışıyorum. Bugün sizlerle, AppGalleryConnect’te karşılaşılan imza uyuşmazlık sorununu ve olası çözümlerini paylaşmak istiyorum.

https://giphy.com/gifs/medyapan-68BuPwhY3moYZWdfJy

Bir uygulama geliştirdiysen ve bunu hem AppGallery hem de Play Store’da yayınlamayı planlıyorsan, dikkat etmen gereken kritik bir konu var: Uygulama imzalama!

Uygulama imzalamanın temel amacı, güvenliği ve bütünlüğü sağlamaktır. AppGallery’de uygulama imzalama işleminin nasıl yapıldığını öğrenmek istiyorsan, bu linke tıklayabilirsin. Google Play’deki uygulama imzalama süreci için ise bu linke tıklayabilirsin.

Şimdi sizlere, geliştiricilerin karşılaştığı önemli bir sorundan bahsetmek istiyorum.

İmza Uyuşmazlığı Nedenleri ve Olası Çözümler

Farz edelim, uygulamanızı AppGallery’de yayınladınız ve uygulama imzalama işlemini gerçekleştireceksiniz. Tam imza bilgilerinizi yükleyeceğiniz sırada karşınıza şu uyarı metni çıktı:

“The app signature key information is different from that of the app version uploaded earlier. Please upload a valid key file.”

Uyarı mesajı

Eğer yalnızca tek bir imza dosyası oluşturduğunuzdan eminseniz ancak yine de bu hatayı alıyorsanız, gözden kaçırdığınız bazı noktalar olabilir.

  1. Eğer uygulamanızı ilk olarak Play Store’da yayınladıysanız ve orada uygulamanızı imzalayıp daha sonra bu imzalı APK’yı AppGallery’e yüklediyseniz, bu uyarıyı almanız muhtemel! Uygulamanız Play Store’da yayınlandıktan sonra Google, sizin imzanızın üzerine kendi imzasını ekler. Eğer bu imzalı APK’yı alıp AppGallery’e yüklerseniz, maalesef bu uyarıyla karşılaşacaksınız. Yani kendi imzaladığınız APK’yı yüklediğinizi düşünürken aslında Google’ın imzaladığı APK’yı yüklemiş oluyorsunuz. Bunun doğruluğunu kontrol etmek için yayınladığınız APK’nın ve güncel APK’nızın imza bilgilerini karşılaştırabilirsiniz. AppGallery’de yayınlanan APK ile şimdi yüklemeye çalıştığınız APK’nın imza bilgilerini karşılaştırın; iki APK’nın imza bilgilerinin farklı olduğunu göreceksiniz. (İmza bilgilerini öğrenmek için apksigner kullanabilirsiniz.)
  2. Eğer Google’ın APK’nızı imzalamasına izin vermediyseniz ve tek bir imza dosyanız olduğundan eminseniz, gözden kaçırdığınız bazı noktalar olabilir. Özellikle şirketinizde handover durumları olduysa, sizden önce çalışan ekip arkadaşlarınızla iletişime geçmenizde fayda var. İmzalama işlemleri sırasında yürütülen süreç hakkında bilgi almanız, sorunu çözmenize yardımcı olabilir.

“Problemin nedenini bulduk, peki çözüm olarak ne yapmamız gerekiyor?”

https://giphy.com/gifs/movie-mrw-see-2H67VmB5UEBmU

Uygulama imzalama, güvenlik açısından oldukça önemli olduğu için çözüm seçenekleri sınırlı. Yine de size iki çözüm önerebilirim.

  1. Doğru imza bilgilerini yüklemeniz.
  2. İmza değişikliği yapmanız.

İkinci seçenek çözüm olarak sunuluyor, ancak pek önerilmiyor. Çünkü imzanızı değiştirdiğinizde indirme sayılarınız, değerlendirmeleriniz gibi veriler kaybolabilir ve uygulamanızı daha önce indiren kullanıcılar, son sürümü kullanabilmek için uygulamanızı silip tekrar indirmek zorunda kalabilirler. Bu riskleri kabul ediyorsanız, imzanızı değiştirme yoluna gidebilirsiniz.

İmza değişikliği sonrasında karşılaşılabilecek sorunlar

İmza değişikliğinin nasıl yapılacağını öğrenmek için bu linke tıklayabilirsiniz.

Not: Eğer imza değişikliği yapmanız için bir kutucuk görünmüyorsa, uygulamanızı incelemeye gönderirken not/yorum kısmına imza değişikliği yapmak istediğinizi belirtmeniz gerekir.

Sonuç

Hem AppGallery hem de Play Store’da aynı imza dosyasını kullanarak uygulamanızı imzalamak en güvenli ve pratik yöntemdir. Bu, iki mağazada da aynı imza ile yayınlamanızı sağlar ve olası imza uyuşmazlıklarının önüne geçer. Google Play’de “Google Play App Signing” hizmetini kullanıyorsanız, Google, uygulamanızı tekrar imzalayacağı için kendi imzanız üzerinde tam kontrole sahip olmayabilirsiniz. Eğer bu hizmeti kullanıyorsanız, AppGallery için Google Play’deki imzayı değil, kendi oluşturduğunuz imza dosyasını kullanın. Eğer AppGallery’ye Google Play imzalı APK yüklerseniz, bir uyarı alabilirsiniz. Bu nedenle, AppGallery’ye yüklerken mutlaka kendi imzanızla imzalanmış APK’yı kullanın. Eğer Google Play App Signing kullanmıyorsanız, kendi oluşturduğunuz imza dosyasını her iki platformda da kullanabilirsiniz. Bu şekilde iki mağaza arasında imza uyuşmazlığı yaşamazsınız.

Bu yazının ingilizce versiyonunu bu linke tıklayarak bulabilirsiniz.

--

--