Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Azure DevOps Services
Bu hızlı başlangıçta, Bir Android uygulamasını otomatik olarak derlemek, test etmek ve dağıtmak için Azure Pipelines'da YAML işlem hattının nasıl ayarlanacağı gösterilmektedir.
İşlem hatları oluşturma ve uygulama dağıtma izninizin olduğu bir Azure DevOps kuruluşu ve projesi. Proje oluşturmak için bkz . Azure DevOps'ta proje oluşturma.
Bir GitHub hesabı.
Önemli
GitHub yordamları sırasında oturum açmak, Azure Pipelines'ı yüklemek, Azure Pipelines'ı yetkilendirmek veya GitHub kuruluşlarına kimlik doğrulaması yapmak için GitHub hizmet bağlantısı oluşturmanız veya GitHub'a yönlendirilmeniz istenebilir. İşlemi tamamlamak için ekrandaki yönergeleri izleyin. Daha fazla bilgi için bkz . GitHub depolarına erişim.
Basit bir Android uygulaması için işlem hattı ayarlamak için aşağıdaki görevleri gerçekleştirin.
Derleme çalıştırması sayfasında derleme ayrıntıları ve ilerleme durumu gösterilir. İşlem hattınızın nasıl çalıştığını izlemek istiyorsanız sayfanın alt kısmındaki İş'i seçin.
Artık deponuzda özelleştirmeye hazır çalışan bir Android YAML işlem hattınız azure-pipelines.yml.
İşlem hattınızda değişiklik yapmak için işlem hattı sayfasında Düzenle'yi seçin. Aşağıdaki bölümlerde, Android işlem hattınızı özelleştirmenin bazı yaygın yolları açıklanmaktadır.
Başlangıç YAML işlem hattı, Android projeleri için yaygın bir açık kaynak derleme aracı olan Gradle'ı kullanır. Daha fazla bilgi için bkz . Gradle görevi.
Örnek görevde parametresi derleme tasks
türünü oluşturur assembleDebug
. , ve tasks
gibi build
test
istediğiniz derleme varyantlarının değerini ayarlayabilirsinizassembleRelease
.
Örnek görev, dosyanızın gradlew
deponun kökünde olduğunu da varsayar. Ayarlanmadıysa ve workingDirectory
değerlerini buna göre ayarlayıngradleWrapperFile
.
workingDirectory
, veya AndroidApps/MyApp
gibi $(system.defaultWorkingDirectory)/AndroidApps/MyApp
deponun köküne benzer olmalıdır. YolgradleWrapperFile
, veya AndroidApps/MyApp/gradlew
gibi $(system.defaultWorkingDirectory)/AndroidApps/MyApp/gradlew
deponun köküne benzer olmalıdır.
- task: Gradle@3
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
tasks: 'assembleDebug'
Gradle görevlerini kullanma hakkında daha fazla bilgi için Gradle belgelerindeki Görevleri kullanma bölümüne bakın. Derleme görevleri hakkında daha fazla bilgi için Google Android geliştirme belgelerindeki Hata ayıklama APK'sı oluşturma ve Derleme değişkenlerini yapılandırma konularına bakın.
Öykünücü yerine bir cihazda çalıştırmak için Android Uygulama Paketi (APK) imzalanmalıdır. Zipaligning, uygulamanın tükettiği RAM'i azaltır. Derlemeniz APK'yı henüz imzalamaz ve sıkıştırmazsa android imzalama görevini işlem hattına ekleyin. Daha fazla bilgi için bkz . Mobil uygulama imzalama.
Güvenlik için ve jarsignerKeystorePassword
değerlerini jarsignerKeyPassword
gizli dizi değişkenlerinde depolayın ve bu değişkenleri işlem hattınızda kullanın.
- task: AndroidSigning@2
inputs:
apkFiles: '**/*.apk'
jarsign: true
jarsignerKeystoreFile: 'pathToYourKeystoreFile'
jarsignerKeystorePassword: '$(jarsignerKeystorePassword)'
jarsignerKeystoreAlias: 'yourKeystoreAlias'
jarsignerKeyPassword: '$(jarsignerKeyPassword)'
zipalign: true
Android öykünücüsünüzü yüklemek ve çalıştırmak için Bash görevini işlem hattınıza ekleyin ve aşağıdaki kodu yapıştırın. Öykünücü bir arka plan işlemi olarak başlar ve sonraki görevlerde kullanılabilir. Öykünücü parametrelerini test ortamınıza uyacak şekilde düzenleyin.
Önemli
Microsoft tarafından barındırılan aracıkullanıyorsanız, Android öykünücüsü ile MacOS aracı görüntüsünü kullanın. Geçerli Android öykünücülerinin başlatılması için donanım hızlandırma gerekir. Azure DevOps barındırılan Ubuntu aracıları donanım hızlandırmayı desteklemez.
- task: Bash@3
inputs:
targetType: 'inline'
script: |
#!/usr/bin/env bash
# Install AVD files
echo "y" | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install 'system-images;android-35;google_apis;x86_64'
# Create emulator
echo "y" | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n xamarin_android_emulator -d "Nexus 10" -k 'system-images;android-35;google_apis;x86_64' --force
echo "y" | $ANDROID_HOME/emulator/emulator -list-avds
echo "Starting emulator"
# Start emulator in background
nohup $ANDROID_HOME/emulator/emulator -avd xamarin_android_emulator -no-snapshot -no-window -no-audio -no-boot-anim -accel on > /dev/null 2>&1 &
# Fixed quoting around "\r"
$ANDROID_HOME/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d "\r") ]]; do sleep 1; done; input keyevent 82'
$ANDROID_HOME/platform-tools/adb devices
echo "Emulator started"
Uygulamanızı Visual Studio App Center'daki barındırılan bir Android cihaz laboratuvarında test etmek için işlem hattınıza App Center Test görevini ekleyin.
Bu görev, test laboratuvarını kullanmaya devam etmek için 30 gün sonra ücretliye dönüştürülmesi gereken bir App Center ücretsiz deneme hesabı gerektirir. Bu görevi kullanmadan önce bir App Center hesabına kaydolun.
Uyarı
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Destek zaman çizelgeleri ve önerilen alternatifler hakkında daha fazla bilgi edinin.
İlk olarak App Center'a kaydolun.
Aşağıdaki örnekte bir App Center test paketi çalıştırılır. Görev, ayarlamanız gereken bir hizmet bağlantısı kullanır.
Tam görev söz dizimi ve başvurusu için bkz . App Center Test görevi. Daha fazla bilgi için bkz . Ui Testi için Azure DevOps kullanma.
- task: AppCenterTest@1
inputs:
appFile: path/myapp.ipa
artifactsDirectory: '$(Build.ArtifactStagingDirectory)/AppCenterTest'
frameworkOption: 'appium'
appiumBuildDirectory: test/upload
serverEndpoint: 'My App Center service connection'
appSlug: username/appIdentifier
devices: 'devicelist'
APK dosyanızı derleme kaydıyla depolamak veya test etmek ve sonraki işlem hatlarında dağıtmak için Dosyaları Kopyalama ve Derleme Yapıtlarını Yayımlama görevlerini işlem hattınıza ekleyin. Daha fazla bilgi için bkz . İşlem hattı yapıtlarını yayımlama ve indirme.
- task: CopyFiles@2
inputs:
contents: '**/*.apk'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Bir uygulamayı test eden veya beta kullanıcı grubuna dağıtmak veya uygulamayı Intune veya Google Play'e yükseltmek için App Center Distribute görevini ekleyin. Görev, ücretsiz olarak kalan ücretsiz bir App Center hesabı gerektirir.
Aşağıdaki örnek bir uygulamayı kullanıcılara dağıtır. Tam görev söz dizimi ve başvurusu için bkz . App Center Distribute. Daha fazla bilgi için bkz . App Center ile Azure DevOps Derlemelerini Dağıtma.
- task: AppCenterDistribute@3
inputs:
serverEndpoint: 'AppCenter'
appSlug: '$(APP_CENTER_SLUG)'
appFile: '$(APP_FILE)' # Relative path from the repo root to the APK file you want to publish
symbolsOption: 'Android'
releaseNotesOption: 'input'
releaseNotesInput: 'Here are the release notes for this version.'
destinationType: 'groups'
Google Play ile etkileşimi otomatikleştirmek için Google Play uzantısını yükleyin ve aşağıdaki görevleri kullanın. Varsayılan olarak, bu görevler yapılandırmanız gereken bir hizmet bağlantısını kullanarak Google Play'de kimlik doğrulaması yapar.
Google Play mağazasına yeni bir Android uygulaması sürümü yayınlamak için google play yayın görevini işlem hattınıza ekleyin.
- task: GooglePlayRelease@4
inputs:
apkFile: '**/*.apk'
serviceEndpoint: 'yourGooglePlayServiceConnectionName'
track: 'internal'
Daha önce yayımlanmış bir Android uygulama güncelleştirmesini → gibi alpha
bir parçadan diğerine yükseltmek için google play yükseltmebeta
.
- task: GooglePlayPromote@3
inputs:
packageName: 'com.yourCompany.appPackageName'
serviceEndpoint: 'yourGooglePlayServiceConnectionName'
sourceTrack: 'internal'
destinationTrack: 'alpha'
Daha önce parçada yayımlanan bir uygulamanın dağıtım yüzdesini artırmak için rollout
Google Play Dağıtımı Artır görevini işlem hattınıza ekleyin.
- task: GooglePlayIncreaseRollout@2
inputs:
packageName: 'com.yourCompany.appPackageName'
serviceEndpoint: 'yourGooglePlayServiceConnectionName'
userFraction: '0.5' # 0.0 to 1.0 (0% to 100%)
Daha önce yayında olan rollout
bir uygulamanın piyasaya çıkma durumunu güncelleştirmek için google play durum güncelleştirme görevini işlem hattınıza ekleyin.
- task: GooglePlayStatusUpdate@2
inputs:
authType: ServiceEndpoint
packageName: 'com.yourCompany.appPackageName'
serviceEndpoint: 'yourGooglePlayServiceConnectionName'
status: 'inProgress' # draft | inProgress | halted | completed
Satır içi betik ve güvenli bir dosyayla uygulama paketi derleyebilir ve imzalayabilirsiniz.
Anahtar deponuzu indirin ve Azure Pipelines kitaplığında güvenli bir dosya olarak depolayın.
Bir keystore.password
, key.alias
ve key.password
için değişkenler oluşturun.
YAML işlem hattınızda:
App.keystore güvenli dosyasını indirmek için Güvenli Dosya İndir görevini ekleyin.
- task: DownloadSecureFile@1
name: keyStore
displayName: "Download keystore from secure files"
inputs:
secureFile: app.keystore
Uygulama paketini derlemek ve imzalamak için Bash görevini bir Bash betiğiyle kullanın.
- task: Bash@3
displayName: "Build and sign App Bundle"
inputs:
targetType: "inline"
script: |
msbuild -restore $(Build.SourcesDirectory)/myAndroidApp/*.csproj -t:SignAndroidPackage -p:AndroidPackageFormat=aab -p:Configuration=$(buildConfiguration) -p:AndroidKeyStore=True -p:AndroidSigningKeyStore=$(keyStore.secureFilePath) -p:AndroidSigningStorePass=$(keystore.password) -p:AndroidSigningKeyAlias=$(key.alias) -p:AndroidSigningKeyPass=$(key.password)
Uygulama paketini kopyalamak için Dosyaları Kopyala görevini kullanın.
- task: CopyFiles@2
displayName: 'Copy deliverables'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/myAndroidApp/bin/$(buildConfiguration)'
Contents: '*.aab'
TargetFolder: 'drop'
Buradan Derleme Yapıtını Yayımla göreviyle bir yapıt oluşturup kaydedebilir veya uygulama paketini yayımlamak için Google Play uzantısını kullanabilirsiniz.
Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunEğitim
Öğrenme yolu
Azure DevOps ile uygulama derleme öğrenme yolu - Training
Bu öğrenme yolunda, Azure Pipelines ve GitHub kullanarak uygulamalarınızı sürekli olarak derlemek, test etmek ve doğrulamak için başkalarıyla nasıl işbirliği yapabileceğinizi öğrenin.
Sertifikasyon
Microsoft Sertifikalı: Azure Geliştirici İş Ortağı - Certifications
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.
Belgeler
Xcode uygulamaları derleme, test etme ve dağıtma - Azure Pipelines
Azure Pipelines, Azure DevOps ve Team Foundation Server ile Xcode projelerini otomatik olarak oluşturma
AppCenterDistribute@3 - App Center v3'i dağıtma görevi
Visual Studio App Center aracılığıyla uygulama derlemelerini test edenlere ve kullanıcılara dağıtabilirsiniz.
AppCenterTest@1 - App Center test v1 görevi
Visual Studio App Center ile uygulama paketlerini test edin.