Aracılığıyla paylaş


App Center'da Android kod imzalama kurulumu

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

İpucu

Xamarin.Android kullanıcıları için işlem biraz farklıdır. Ayrıntılar için Xamarin.Android Kod İmzalama kılavuzumuza bakın.

Uygulama imzalama, geliştirme işlemi sırasında bir uygulamayı gerçek cihazlarda çalıştırmak veya bir beta programı aracılığıyla ya da Play Store'da dağıtmak için bir gereksinimdir. Kod imzalama olmadan uygulama yalnızca öykünücüde çalıştırılabilir.

App Center hata ayıklama derleme türüne sahip bir Android uygulaması derlediğinde, bir geliştirici için anahtar deposu gerekmez, ancak karşıya yüklenebilir. Bu derlemeler otomatik olarak bir hata ayıklama anahtarıyla imzalanacak. Dağıtılacak bir sürüm derlemesi için App Center'a bir anahtar deposu yükleyin.

Anahtar deposu oluşturma

Şu anda bir keystore'nuz yoksa, Android Studio'da bir anahtar deposu oluşturabilirsiniz. Android Studio'nun resmi Kullanıcı Kılavuzu'nda API'leri imzalamak için bir anahtar deposu oluşturma yönergelerini bulabilirsiniz.

Kod İmzalama'nın ayarlanması

App Center, Android uygulamaları için kod imzalamayı ayarlamanın üç farklı yolunu destekler. Üç yöntemin de ilk olarak derleme yapılandırmasına gitmeniz ve kod imzalamayı etkinleştirmeniz gerekir:

  1. App Center'da uygulamanıza gidin.
  2. Derleme'ye gidin.
  3. Listeden seçerek yapılandırmak istediğiniz dala gidin.
  4. Sağ üst köşedeki 'Ayarlar' menüsünü kullanın veya dalınız henüz derleme için yapılandırılmamışsa Yapılandır'ı seçin.
  5. sign derlemelerini etkinleştirin.
  6. Kaydet'i seçin.

Ardından senaryonuza bağlı olarak aşağıdaki bölümlerde yer alan üç seçenekte en uygun olanını kullanın. İlk seçenek, deponuzda kimlik bilgilerini denetlemeyi, diğer ikisi ise kimlik bilgilerinizi işlemek için App Center'ı kullanır.

Android 11'den itibaren, APK imzalayanı kullanmak zorunlu (API düzeyi 30 kullanıyorsanız) çünkü bazı ek şemalar ayarlayacak "APK İmza Şeması v2 artık gerekli". App Center artık (17 Aralık 2020'den bu yana) android uygulamalarını daha önce kullanılan JAR imzalayan yerine APK imzalayanı dahili olarak imzalar. App Center'da APK imzalayanı etkinleştirme özelliğinin bir parçası olarak, Android imzalama görevi V3 uygulandı ve yeni İmzalama görevi için gereksinimler keystore dosyasının kaydedilme biçimini değiştirmekti - keystore dosyasını AzDO güvenli dosyasında depolamak için (Android imzalama derleme ve yayın görevi - Azure Pipelines | Microsoft Docs).

Uyarı

17 Aralık 2020'den önce keystore dosyalarını karşıya yüklemiş olan tüm derleme yapılandırmaları apk signature scheme v2 imzalama yöntemini (jarsigner) kullanmaya devam eder. APK İmza Şeması v3 imzalama akışını kullanmak için kullanıcıların keystore dosyalarını yeniden yüklemeleri ve dal yapılandırmasını kaydetmeleri gerekir.

Not

Android Gradle Eklentisi sürüm 4.1.x'in kullanımı tam olarak desteklenmez. Bu sürümü kullanmak için dosyaya bir sonraki seçenek ayarını gradle.properties eklemeniz gerekir:

 android.useNewApkCreator = false

A. Her şeyi Gradle yapılandırmasında depolama

İmzalama ayrıntılarını build.gradle (uygulama düzeyi) dosyasında belirtebilirsiniz. tüm kimlik bilgileri ve anahtar deposu bilgileriyle birlikte imzalama ayrıntıları depoda görünür. İlk olarak, ihtiyacınız olan tüm öğeleri kodunuza ekleyin ve deponuza iade edin. Ardından App Center'daki derleme yapılandırmasında, Gradle ayarlarım tamamen imzalamayı otomatik olarak işleyecek şekilde ayarlanır'ı etkinleştirin.

B. Her şeyi App Center'a yükleme

Keystore'yi karşıya yükleyebilir ve imzalama kimlik bilgilerini App Center aracılığıyla yapılandırabilirsiniz. Bu durumda, App Center önce Android uygulamanızı derleyecek ve başarılı derlemeden sonra bir imzalama adımı çalıştıracaktır.

Not

Derleme yalnızca bir kez imzalanabilir. Seçilen derleme değişkeni için Gradle yapılandırmanızda imzalama yapılandırmalarıyla çakışma olmadığından emin olun. Hem App Center'da hem de Gradle dosyasında imzalama ayarları varsa, derleme iki kez imzalanabilir ve bu da çakışmalara yol açabilir.

App Center'da derleme yapılandırmanızı aşağıdaki gibi ayarlayın:

  1. Gradle ayarlarımı devre dışı bırak ayarı tamamen imzalamayı otomatik olarak işleyecek şekilde ayarlanmıştır.
  2. Keystore dosyanızı Keystore dosyası karşıya yükleme dosyası bırakma bölümüne yükleyin. Dosyayı kutuya sürükleyebilir veya tıklayıp dosyaya göz atabilirsiniz. Keystore dosyaları veya uzantısına .keystore .jkssahiptir.
  3. İlgili alanlara anahtar deposu parolasını, anahtar diğer adını ve anahtar parolasını girin. Bu değerler, bir derlemeyi imzalarken Android Studio'da girdiğiniz değerlerle aynıdır.

C. İmzalama Ayrıntılarını Ortam Değişkenleriyle Depoda Depolama

Deponuz keystore'yu zaten içeriyorsa ancak kimlik bilgilerini orada depolamak istemiyorsanız bu yöntemi kullanın. Derleme zamanında kimlik bilgileri Gradle derlemesine Sistem özellikleri olarak sağlanacaktır. Bunların nasıl kullanılacağına ilişkin aşağıdaki kod örneğine bakın:

android {
    signingConfigs {
        releaseSigningConfig {
            storeFile rootProject.file("app/testapp.jks")
            storePassword System.getProperty("APPCENTER_KEYSTORE_PASSWORD")
            keyAlias System.getProperty("APPCENTER_KEY_ALIAS")
            keyPassword System.getProperty("APPCENTER_KEY_PASSWORD")
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.releaseSigningConfig
        }
    }
}

Yukarıdaki kodda, derlemenize eklenen sistem özelliklerinin arkasındaki değerlerin güvenliğini sağlamak, imzalama kimlik bilgilerinizi güvende tutar; değerler şifrelenir ve yalnızca derleme zamanında derleme aracıları tarafından kullanılabilir. App Center aracılığıyla değerleri sağlayabilirsiniz. Ayrıca herhangi bir değeri sabit kodlayabilir ve bunları deponuzda denetleyebilirsiniz. App Center'ı kullanarak değerleri korumak için:

  1. Derleme yapılandırmanıza gidin.
  2. Gradle ayarlarım adlı onay kutusunun işaretlenmediği otomatik olarak imzalamayı işleyecek şekilde ayarlandığından emin olun.
  3. İlgili alanlara anahtar deposu parolasını, anahtar diğer adını ve anahtar parolasını girin. Bu değerler, bir derlemeyi imzalarken Android Studio'da girdiğiniz değerlerle aynıdır.

Ürün çeşitlerini kullanıyorsanız, tüm sürüm yapılandırmalarınızın doğru imzalama yapılandırmasını kullanması için yukarıdaki kodu ayarlamanız gerekebilir.

Not

(uygulama düzeyi) dosyanızdaki build.gradle bölümün buildTypes içindeki seçeneğini kullanırsanızsigningConfig, App Center derlemesi sırasında kod imzalama hatalarıyla karşılaşabilirsiniz. Bu özellikle Android için React Native sürüm 0.60.x ve üzerini kullanan uygulamalar için geçerlidir:

 Execution failed for task ':app:validateSigningRelease'.
 Keystore file '.../android/app/debug.keystore' not found for signing config 'debug'

Bu sorunu çözmek için deponuza imzalamak için kullanılan uygun bir anahtar deposu göndermeniz ve Gradle ayarlarım'ın tamamen App Center portalındaki derleme yapılandırmanızda otomatik olarak imzayı işleyecek şekilde ayarlanmasını etkinleştirmeniz gerekir.

App Center portalında derleme yapılandırmasına bir anahtar deposu yüklediyseniz, React Native proje şablonunun varsayılan durumundan güncelleştirmediyseniz bu yaklaşımın (uygulama düzeyi) dosyanızın build.gradle bölümünden seçeneği buildTypes silmeyi signingConfig gerektireceğini dikkate alın.