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:
- App Center'da uygulamanıza gidin.
- Derleme'ye gidin.
- Listeden seçerek yapılandırmak istediğiniz dala gidin.
- 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.
- sign derlemelerini etkinleştirin.
- 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:
- Gradle ayarlarımı devre dışı bırak ayarı tamamen imzalamayı otomatik olarak işleyecek şekilde ayarlanmıştır.
- 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
.jks
sahiptir. - İ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:
- Derleme yapılandırmanıza gidin.
- Gradle ayarlarım adlı onay kutusunun işaretlenmediği otomatik olarak imzalamayı işleyecek şekilde ayarlandığından emin olun.
- İ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.