Android Studio Kirpi | 1.1.2023

Android Studio, Android geliştirme için resmi IDE'dir ve Android uygulamaları oluşturmak için ihtiyacınız olan her şeyi içerir.

Bu sayfada, Android Studio Hedgehog adlı kararlı kanalındaki son sürümdeki yeni özellikler ve iyileştirmeler listelenmektedir. Uygulamayı buradan indirebilir veya Yardım > Güncellemeleri kontrol et'i tıklayarak Android Studio'da güncelleyebilirsiniz (macOS'te Android Studio > Güncellemeleri kontrol et)

Android Studio'nun eski sürümlerine ait sürüm notlarını görüntülemek için Geçmiş sürümler konusuna bakın.

Yakında çıkacak özelliklere ve iyileştirmelere erken erişim için Android Studio'nun derlemelerini önizleme konusuna bakın.

Android Studio'da sorunlarla karşılaşırsanız Bilinen sorunlar veya Sorun giderme sayfasına bakın.

Android Gradle eklentisi ve Android Studio uyumluluğu

Android Studio derleme sistemi Gradle'a dayanır ve Android Gradle eklentisi (AGP), Android uygulamaları oluşturmaya özel çeşitli özellikler ekler. Aşağıdaki tabloda, Android Studio'nun her sürümü için hangi AGP sürümünün gerektiği listelenmiştir.

Android Studio sürümü Gerekli AGP sürümü
İguana | 1.2.2023 3,2-8,3
Kirpi | 1.1.2023 3,2-8,2
Zürafa | 1.3.2022 3,2-8,1
Flamingo | 1.2.2022 3,2-8,0
Elektrikli yılan balığı | 1.1.2022 3,2-7,4

Eski sürümler

Android Studio sürümü Gerekli AGP sürümü
Yunus | 1.3.2021 3,2-7,3
Sincap | 1.2.2021 3,2-7,2
Yaban Arısı | 1.1.2021 3,2-7,1
Kutup Tilkisi | 1.3.2020 3,1-7,0

Android Gradle eklentisindeki yenilikler hakkında bilgi edinmek için Android Gradle eklentisi sürüm notlarına bakın.

Android API düzeyi için araçların minimum sürümleri

Android Studio ve AGP'nin belirli bir API düzeyini destekleyen minimum sürümleri vardır. Projenizin targetSdk ya da compileSdk için gerekenden daha düşük Android Studio veya AGP sürümlerinin kullanılması, beklenmedik sorunlara yol açabilir. Android OS'in önizleme sürümlerini hedefleyen projelerde çalışmak için Android Studio ve AGP'nin en son önizleme sürümünü kullanmanızı öneririz. Android Studio'nun önizleme sürümlerini kararlı bir sürümüyle birlikte yükleyebilirsiniz.

Android Studio ve AGP'nin minimum sürümleri aşağıdaki gibidir:

API seviyesi Minimum Android Studio sürümü Minimum AGP sürümü
34 Kirpi | 1.1.2023 8.1.1
33 Flamingo | 1.2.2022 7,2

Android Studio Hedgehog'daki yeni özellikler aşağıda belirtilmiştir.

IntelliJ IDEA 2023.1 platform güncellemesi

Android Studio Hedgehog, Studio IDE deneyimini iyileştiren IntelliJ IDEA 2023.1 güncellemelerini içerir. Değişikliklerle ilgili ayrıntılar için IntelliJ IDEA 2023.1 sürüm notlarına göz atın.

Uygulama Kalitesi Analizleri'nde Android vitals'ı analiz etme

Uygulama Kalitesi Analizleri artık Android vitals verilerini içeriyor. Bu sayede, Google Play tarafından toplanan temel metriklere daha kolay erişebilir ve kullanıcı deneyiminizi iyileştirebilirsiniz. Google Play'de uygulamanızın kalitesini iyileştirmeye yardımcı olmak üzere uygulama kararlılığı ile ilgili sorunları gidermek için Android vitals'ı kullanın.

Uygulama Kalitesi Analizleri araç penceresinden Android vitals sorunlarını görüntüleyebilir, filtreleyebilir ve yığın izlemeden (yığın izlemeden) kodlamaya geçebilirsiniz. Başlamak için şu adımları uygulayın:

  1. Araç çubuğunun sonundaki profil simgesini kullanarak Android Studio'da geliştirici hesabınızda oturum açın.
  2. Android Studio'daki araç penceresini veya Görünüm > Araç Pencereleri > Uygulama Kalitesi Analizleri'ni tıklayarak Uygulama Kalitesi Analizleri'ni açın.
  3. Uygulama Kalitesi Analizleri'nde Android vitals sekmesini tıklayın.

Android vitals ve Crashlytics arasındaki farklı sayılar

Android vitals'ın ve Crashlytics'in aynı kilitlenmeyle ilişkilendirilen kullanıcı ve etkinlik sayısı için farklı değerler raporlayabileceğini unutmayın. Bu tutarsızlıkların nedeni Play ve Crashlytics'in, farklı zamanlarda ve farklı kullanıcılar için kilitlenmeleri yakalayabilmesidir. Play ve Crashlytics sayılarının farklı olmasına yol açabilecek birkaç nedeni aşağıda bulabilirsiniz:

  • Play, kilitlenmeleri başlatma anından tespit ederken Crashlytics, Crashlytics SDK başlatıldıktan sonra gerçekleşen kilitlenmeleri yakalar.
  • Bir kullanıcı, yeni bir telefon alırken kilitlenme raporu almayı devre dışı bırakırsa bu kilitlenmeler Play'e bildirilmez. Ancak Crashlytics, kilitlenmeleri bir uygulamanın kendi gizlilik politikasına göre yakalar.

Yeni Güç Profil Aracı

Power Profiler, Android Studio Hedgehog'dan başlayarak cihazlardaki güç tüketimini gösterir. Bu yeni verileri Cihazdaki Power Rails Monitor'da (ODPM) görüntüleyebilirsiniz. ODPM, verileri Power Rails adı verilen alt sistemlere göre segmentlere ayırır. Desteklenen alt sistemlerin listesi için Profillenebilir güç rayları sayfasına bakın.

Sistem İzleme, güç tüketimi verilerini kaydedip görüntüler. CPU profil aracının bir parçasıdır. Bu veriler, cihazın güç tüketimini uygulamanızda gerçekleşen işlemlerle görsel olarak ilişkilendirmenize yardımcı olur. Güç Profili Aracı, bu verilerin görselleştirilmesini sağlar.

Yeni Güç Profil Aracı

Yeni Güç Profil Aracı'ndaki verileri görüntülemek için Pixel 6 ve sonraki model bir cihazda sistem izlemesi alın:

  1. Görünüm > Araç Pencereleri > Profil Aracı'nı seçin.
  2. CPU Profil Aracı'nı açıp sistem izlemesi başlatmak için CPU zaman çizelgesinde herhangi bir yeri tıklayın.

Yeni Uygulama Bağlantıları Asistanı, uygulamanızda oluşturulan derin bağlantılara kapsamlı bir genel bakış sunar. Asistan, uygulamanın AndroidManifest.xml dosyasındaki mevcut tüm derin bağlantıları görüntüler, bu derin bağlantıların yapılandırmasının doğru olup olmadığını doğrular ve yanlış yapılandırmaları otomatik olarak düzeltmenin hızlı bir yolunu sunar.

Uygulama Bağlantıları Asistanı'nı açmak için Android Studio'da Araçlar > Uygulama Bağlantıları Asistanı'na gidin. Uygulama bağlantıları hakkında daha fazla bilgi için Android Uygulama Bağlantıları Ekleme bölümüne bakın.

Canlı Düzenleme güncellenmiş manuel mod kısayolu

Android Studio Hedgehog'daki Canlı Düzenleme özelliği, manuel mod için yeni bir kısayol içerir (Manuel Olarak İt): Control+\ (macOS için Command+\). Manuel mod, güncellemelerin çalışan uygulamaya ne zaman dağıtılacağı üzerinde hassas bir kontrole sahip olmak istediğiniz durumlarda kullanışlıdır. Örneğin, bir dosyada büyük ölçekli bir değişiklik yapıyor ve cihaza herhangi bir ara durumun yansıtılmasını istemiyorsanız bu işlemi yapabilirsiniz. Canlı Düzenleme ayarlarında veya Canlı Düzenleme kullanıcı arayüzü göstergesini kullanarak Manuel Olarak Aktar ve Kaydetirken Manuel Olarak Aktar arasında seçim yapabilirsiniz. Daha fazla bilgi için JetpackCompose için Canlı Düzenleme'deki video klibe bakın.

Çoklu önizleme şablonları oluşturma

androidx.compose.ui:ui-tooling-preview 1.6.0-alpha01+ yeni Multipreview API şablonlarını sunar: @PreviewScreenSizes, @PreviewFontScales, @PreviewLightDark ve @PreviewDynamicColors. Böylece sık karşılaşılan senaryolarda Compose kullanıcı arayüzünüzü tek bir ek açıklamayla önizleyebilirsiniz.

Android Studio Hedgehog'da, Oluşturma Önizlemesi'nde yeni bir Galeri modu kullanıma sunulmuştur. Bu mod, aynı anda bir önizlemeye odaklanmanızı ve oluşturma sırasında kaynaklardan tasarruf etmenizi sağlar. Uygulamanızın kullanıcı arayüzünde yineleme yapmanız ve kullanıcı arayüzü varyantlarını görmeniz gerektiğinde Izgara veya Liste gibi diğer modlara geçmeniz gerektiğinde Galeri Modu'nu kullanmanızı öneririz.

Hata ayıklayıcıda durum bilgilerini oluşturma

Compose kullanıcı arayüzünüzün bazı bölümleri beklenmedik bir şekilde yeniden derlendiğinde bazen bunun nedenini anlamak zor olur. Artık, oluşturulabilir bir işlevde ayrılma noktası ayarlarken hata ayıklayıcı, birleştirilen öğenin parametrelerini ve durumlarının listesini listeler. Böylece, yeniden birleştirmeye hangi değişikliklerin neden olmuş olabileceğini daha kolay bir şekilde belirleyebilirsiniz. Örneğin, bestelenmiş bir öğeyi duraklattığınızda, hata ayıklayıcı hangi parametrelerin tam olarak "Değiştirildi" veya "Değiştirilmedi" olarak kaldığını size bildirebilir. Böylece, yeniden birleştirmenin nedenini daha verimli bir şekilde araştırabilirsiniz.

Cihaz yansıtma

Artık fiziksel cihazınızı Android Studio'daki Çalışan Cihazlar penceresinde yansıtabilirsiniz. Cihazınızın ekranını doğrudan Android Studio'ya aktararak, uygulamaları başlatma ve uygulamalarla etkileşimde bulunma, ekranı döndürme, telefonu katlama ve açma, ses düzeyini değiştirme gibi sık kullanılan işlemleri doğrudan Studio IDE'den gerçekleştirebilirsiniz.

Cihaz yansıtma, bilgisayara bağlı ve USB ya da kablosuz hata ayıklama işlevi etkinleştirilmiş cihazlar olduğunda her zaman kullanılabilir. Çalışan Cihazlar penceresini veya Cihaz Yöneticisi'ni (Görünüm > Araç Pencereleri > Cihaz Yöneticisi) kullanarak yansıtmayı başlatabilir ve durdurabilirsiniz. Ayrıca, cihaz yansıtma özelliğinin etkinleştirilip etkinleştirilmediğini ayarlardan özelleştirebilirsiniz (Ayarlar > Araçlar > Cihaz Yansıtma).

Çalışan Cihazlar Kullanıcı Arayüzü

Bilinen sorunlar

Bazı cihazlar, cihaz yansıtmasını desteklemek için yeterli bit hızında kodlama yapamayabilir. Bu tür durumlarda, aşağıdakine benzer günlüklerin yanı sıra Çalışan Cihazlar penceresinde bir hata görebilirsiniz.

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

Gizlilik uyarısı

Android Studio, cihazın yansıtma ayarlarına bağlı olarak bağlı ve eşlenmiş herhangi bir cihaz için cihaz yansıtmasını otomatik olarak başlatabilir. Bu durum, yansıtma bilgileri ve komutların şifrelenmemiş bir kanal üzerinden aktarılmasından dolayı adb tcpip komutuyla bağlı cihazlar için bilgilerin açıklanmasına neden olabilir. Ayrıca, Android Studio adb sunucusuyla iletişim kurmak için şifrelenmemiş bir kanal kullanır. Böylece, yansıtma bilgileri ana makine makinenizdeki diğer kullanıcılar tarafından ele geçirilebilir.

Donanım girişi yönlendirme

Artık fare ve klavye gibi iş istasyonu donanım girişlerinizin bağlı bir fiziksel ve sanal cihaza şeffaf şekilde yönlendirilmesini sağlayabilirsiniz. Şeffaf yönlendirmeyi etkinleştirmek için Çalışan Cihazlar penceresinde hedef cihaz için Donanım girişi'ni tıklayın.

Cihazları doğrudan Çalışan Cihazlar penceresinden yönetin

Artık doğrudan Çalışan Cihazlar penceresinden + simgesini tıklayıp bir cihaz seçerek Android Sanal Cihazı (AVD) başlatabilir veya fiziksel bir cihazı yansıtmaya başlayabilirsiniz. Fiziksel bir cihazın ortalama görüntüleme süresini veya yansıtmasını durdurmak için cihaz sekmesini kapatın.

Çalışan Cihazlar'daki Cihaz açılır menüsü

Yerleştirilmiş Düzen Denetleyici

Android Studio Hedgehog Canary 2'den başlayarak, Layout Inspector'ı doğrudan Çalışan Cihazlar araç penceresinden çalıştırabilirsiniz. Bu deneysel özellik, ekran alanını korur ve kullanıcı arayüzü hata ayıklama iş akışınızı tek bir araç penceresinde düzenlemenize yardımcı olur. Yerleşik modda bir görünüm hiyerarşisi gösterebilir, her görünümün özelliklerini inceleyebilir ve diğer yaygın Layout Inspector özelliklerine erişebilirsiniz. Seçeneklerin tamamına erişmek için yine de Layout Inspector'ı bağımsız bir pencerede çalıştırmanız gerekir (Windows'da Dosya > Ayarlar > Deneysel > Layout Inspector veya macOS'te Android Studio > Ayarlar > Deneysel > Layout Inspector).

Yerleştirilmiş Layout Inspector'ın sınırlamalarından biri, 3D modunun yalnızca anlık görüntülerde kullanılabilmesidir.

Yerleştirilmiş Layout Inspector'ı iyileştirmemize yardımcı olmak için lütfen bize geri bildirim gönderin.

Yeni kullanıcı arayüzü iyileştirmeleri

Android Studio için yeni kullanıcı arayüzü, Studio IDE'ye daha modern ve daha sade bir görünüm ve tarz katıyor. Şimdiye kadar geri bildirimlerinizi dinledik ve Android Studio Hedgehog'daki aşağıdaki özelliklerle ilgili sorunları düzelttik:

  • Kompakt mod
  • Dikey veya yatay olarak bölme desteği
  • macOS için proje sekmeleri
  • Dikkat dağıtmayan mod için düzeltmeler
  • Araç penceresi işlemlerini her zaman göstermek için gelişmiş ayarlar

SDK Yükseltme Asistanı güncellemeleri

SDK Yükseltme Asistanı targetSdkVersion yükseltmeleri konusunda size yardımcı olmak için adım adım açıklamalı bir sihirbaz akışı sağlar. Android Studio Hedgehog'daki SDK Yükseltme Asistanı güncellemelerini aşağıda bulabilirsiniz:

  • Android 14'e yükseltmeyle ilgili önemli değişiklikleri görün
  • Alaka düzeyi filtreleri eklendi. Böylece bazı gereksiz adımlar kaldırıldı
  • Belirli değişikliklerde, değişikliklerin kodda tam olarak nerede yapılması gerektiğini belirleyin

Firebase Test Lab cihazlarını Gradle tarafından yönetilen cihazlarla kullanma

AGP 8.2.0-alpha03 veya sonraki sürümleri kullanırken Gradle tarafından yönetilen cihazları kullanırken otomatik izlemeli testlerinizi Firebase Test Lab cihazlarında geniş ölçekte çalıştırabilirsiniz. Test Lab, testlerinizi hem fiziksel hem de sanal pek çok farklı Android cihazda eş zamanlı olarak çalıştırmanıza olanak tanır. Bu testler Google'ın uzak veri merkezlerinde yürütülür. Gradle tarafından yönetilen cihazların (GMD) desteğiyle, derleme sistemi artık projenizin Gradle dosyalarındaki yapılandırmalara göre bu Test Lab cihazlarında çalışan testleri tamamen yönetebilir.

Gradle tarafından yönetilen Firebase Test Lab cihazlarını kullanmaya başlayın

Aşağıdaki adımlarda, Firebase Test Lab cihazlarını GMD ile nasıl kullanmaya başlayacağınız açıklanmaktadır. Bu adımlar, tüm geliştirme ortamları için geçerli olmayabilecek kullanıcı kimlik bilgilerini sağlamak için gcloud KSA'yı kullanır. İhtiyaçlarınız için hangi kimlik doğrulama işlemini kullanacağınızla ilgili daha fazla bilgi edinmek için Uygulama Varsayılan Kimlik Bilgileri nasıl çalışır? bölümüne bakın.

  1. Firebase projesi oluşturmak için Firebase konsoluna gidin. Proje oluşturmak için Proje ekle'yi tıklayın ve ekrandaki talimatları uygulayın. Proje kimliğinizi unutmayın.

  2. Google Cloud KSA'yı yüklemek için gcloud CLI'ı yükleme sayfasındaki adımları uygulayın.

  3. Yerel ortamınızı yapılandırın.

    1. gcloud'daki Firebase projenize bağlayın:

      gcloud config set project FIREBASE_PROJECT_ID
      
    2. API erişimi için kullanıcı kimlik bilgilerinizin kullanımına yetki verin. Modül düzeyindeki derleme komut dosyasında DSL'yi kullanarak Gradle'a bir hizmet hesabı JSON dosyası ileterek yetkilendirme yapmanızı öneririz:

      Kotlin

      firebaseTestLab {
        ...
        serviceAccountCredentials.set(file(SERVICE_ACCOUNT_JSON_FILE))
      }
      

      Modern

      firebaseTestLab {
        ...
        serviceAccountCredentials = file(SERVICE_ACCOUNT_JSON_FILE)
      }
      

      Alternatif olarak aşağıdaki terminal komutunu kullanarak manuel olarak yetkilendirebilirsiniz:

      gcloud auth application-default login
      
    3. İsteğe bağlı: Firebase projenizi kota projesi olarak ekleyin. Bu adım, yalnızca Test Lab için ücretsiz kotayı aşarsanız gereklidir.

      gcloud auth application-default set-quota-project FIREBASE_PROJECT_ID
      
  4. Gerekli API'leri etkinleştirin.

    Google Developers Console API Kitaplığı sayfasında, bu API adlarını konsolun üst kısmındaki arama kutusuna yazıp her API'nin genel bakış sayfasındaki API'yi Etkinleştir seçeneğini tıklayarak Cloud Testing API ve Cloud Tool Results API'yi etkinleştirin.

  5. Android projenizi yapılandırın.

    1. Firebase Test Lab eklentisini üst düzey derleme komut dosyasına ekleyin:

      Kotlin

      plugins {
        ...
        id("com.google.firebase.testlab") version "0.0.1-alpha05" apply false
      }
      

      Modern

      plugins {
        ...
        id 'com.google.firebase.testlab' version '0.0.1-alpha05' apply false
      }
      
    2. gradle.properties dosyasında özel cihaz türlerini etkinleştir:

      android.experimental.testOptions.managedDevices.customDevice=true
      
    3. Firebase Test Lab eklentisini modül düzeyindeki derleme komut dosyasına ekleyin:

      Kotlin

      plugins {
       ...
       id "com.google.firebase.testlab"
      }
      

      Modern

      plugins {
       ...
       id 'com.google.firebase.testlab'
      }
      

Gradle tarafından yönetilen Firebase Test Lab cihazında test oluşturma ve çalıştırma

Gradle'ın modül düzeyindeki derleme komut dosyasında uygulamanızı test etmek için kullanacağı bir Firebase Test Lab cihazı belirtebilirsiniz. Aşağıdaki kod örneği, Gradle tarafından yönetilen ftlDevice adlı bir Test Lab cihazı olarak API düzeyi 30'u çalıştıran bir Pixel 3 oluşturur. firebaseTestLab {} blokunu, com.google.firebase.testlab eklentisini modülünüze uyguladığınızda kullanılabilir. Desteklenen minimum Android Gradle Plugin sürümü 8.2.0-alpha01'dir.

Kotlin

firebaseTestLab {
  managedDevices {
    create("ftlDevice") {
      device = "Pixel3"
      apiLevel = 30
    }
  }
  ...
}

Modern

firebaseTestLab {
  managedDevices {
    ftlDevice {
      device = "Pixel3"
      apiLevel = 30
    }
  }
  ...
}

Testlerinizi, yapılandırdığınız Gradle tarafından yönetilen Test Lab cihazlarını kullanarak çalıştırmak için aşağıdaki komutu kullanın. device-name, Gradle derleme komut dosyanızda yapılandırdığınız cihazın adıdır (ör. ftlDevice). BuildVariant ise test etmek istediğiniz uygulamanızın derleme varyantıdır. Gradle'ın paralel olarak test çalıştırmadığını veya Test Lab cihazları için diğer Google Cloud KSA yapılandırmalarını desteklemediğini unutmayın.

Windows'da:

gradlew device-nameBuildVariantAndroidTest

Linux veya macOS'te:

./gradlew device-nameBuildVariantAndroidTest

Test çıkışı, test raporunu içeren bir HTML dosyasının yolunu içerir. Ayrıca, daha ayrıntılı analiz için IDE'de Çalıştır > Test Geçmişi'ni tıklayarak test sonuçlarını Android Studio'ya aktarabilirsiniz.

Cihaz grubunda test oluşturma ve çalıştırma

Testinizi ölçeklendirmek için bir cihaz grubuna birden fazla Gradle tarafından yönetilen Firebase Test Lab cihazı ekleyin ve ardından tek bir komutla bu cihazların hepsinde test çalıştırın. Aşağıdaki gibi ayarlanmış birden fazla cihazınız olduğunu varsayalım:

firebaseTestLab {
  managedDevices {
    create("GalaxyS23Ultra") { ... }
    create("GalaxyZFlip3") { ... }
    create("GalaxyZFold3") { ... }
    create("GalaxyTabS2") { ... }
  }
}

Bu cihazları samsungGalaxy adlı cihaz grubuna eklemek için groups {} blokunu kullanın:

firebaseTestLab {
  managedDevices {...}
}

android {
  ...
  testOptions {
    managedDevices {
      groups {
        create("samsungGalaxy") {
          targetDevices.add(devices["GalaxyS23Ultra"])
          targetDevices.add(devices["GalaxyZFlip3"])
          targetDevices.add(devices["GalaxyZFold3"])
          targetDevices.add(devices["GalaxyTabS3"])
        }
      }
    }
  }
}

Cihaz grubundaki tüm cihazlarda test çalıştırmak için aşağıdaki komutu kullanın:

Windows'da:

gradlew group-nameGroupBuildVariantAndroidTest

Linux veya macOS'te:

./gradlew group-nameGroupBuildVariantAndroidTest

Akıllı parçalama ile test çalıştırmalarını optimize edin

Gradle tarafından yönetilen Test Lab cihazlarında testler, artık akıllı parçalamayı desteklemektedir. Akıllı parçalama, testlerinizi parçalara otomatik olarak dağıtır. Böylece her parça yaklaşık olarak aynı süre boyunca çalışır. Böylece, manuel ayırma çabası ve genel test çalıştırma süresi azalır. Akıllı parçalama, testleri optimum şekilde dağıtmak için test geçmişinizi veya testlerinizin daha önce çalıştırılmasının ne kadar sürdüğüyle ilgili bilgileri kullanır. Akıllı parçalamayı kullanmak için Firebase Test Lab için Gradle eklentisinin 0.0.1-alpha05 sürümüne ihtiyacınız olduğunu unutmayın.

Akıllı parçalamayı etkinleştirmek için her bir parçadaki testlerin süresini belirtin. Testler tamamlanmadan önce parçaların iptal edilmesini önlemek için, hedef parça süresini en az beş dakika timeoutMinutes olacak şekilde ayarlamanız gerekir.

firebaseTestLab {
  ...
  testOptions {
    targetedShardDurationMinutes = 2
  }
}

Daha fazla bilgi edinmek için yeni DSL seçenekleri hakkında bilgi edinin.

DSL, Gradle tarafından yönetilen Firebase Test Lab cihazları için güncellendi

Test çalıştırmalarınızı özelleştirmenize veya hâlihazırda kullanıyor olabileceğiniz diğer çözümlerden geçişe yardımcı olmak için yapılandırabileceğiniz daha fazla DSL seçeneği vardır. Bu seçeneklerden bazılarını aşağıdaki kod snippet'inde açıklandığı şekilde inceleyin.

firebaseTestLab {
  ...

  /**
   * A path to a JSON file that contains service account credentials to access to
   * a Firebase Test Lab project.
   */
  serviceAccountCredentials.set(file("your_service_account_credentials.json"))


  testOptions {
    fixture {
      /**
       * Whether to grant permissions on the device before tests begin.
       * Available options are "all" or "none".
       *
       * Default value is "all".
       */
      grantedPermissions = "all"

      /**
       * Map of files to push to the device before starting the test.
       *
       * The key is the location on the device.
       * The value is the location of the file, either local or in Google Cloud.
       */
      extraDeviceFiles["/sdcard/dir1/file1.txt"] = "local/file.txt"
      extraDeviceFiles["/sdcard/dir2/file2.txt"] = "gs://bucket/file.jpg"

      /**
       * The name of the network traffic profile.
       *
       * Specifies network conditions to emulate when running tests.
       *
       * Default value is empty.
       */
      networkProfile = "LTE"
    }

    execution {
      /**
       * The maximum time to run the test execution before cancellation,
       * measured in minutes. Does not include the setup or teardown of device,
       * and is handled server-side.
       *
       * The maximum possible testing time is 45 minutes on physical devices
       * and 60 minutes on virtual devices.
       *
       * Defaults to 15 minutes.
       */
       timeoutMinutes = 30

      /**
       * Number of times the test should be rerun if tests fail.
       * The number of times a test execution should be retried if one
       * or more of its test cases fail.
       *
       * The max number of times is 10.
       *
       * The default number of times is 0.
       */
      maxTestReruns = 2

      /**
       * Ensures only a single attempt is made for each execution if
       * an infrastructure issue occurs. This doesn't affect `maxTestReruns`.
       * Normally, two or more attempts are made by Firebase Test Lab if a
       * potential infrastructure issue is detected. This is best enabled for
       * latency sensitive workloads. The number of execution failures might be
       * significantly greater with `failFast` enabled.
       *
       * Defaults to false.
       */
      failFast = false

      /**
       * The number of shards to split the tests across.
       * 
       * Default to 0 for no sharding.
       */
      numUniformShards = 20
    }

    /**
     * For smart sharding, the target length of time each shard should takes in
     * minutes. Maxes out at 50 shards for physical devices and 100 shards for
     * virtual devices.
     *
     * Only one of numUniformShards or targetedShardDurationMinutes can be set.
     *
     * Defaults to 0 for no smart sharding.
     */
     targetedShardDurationMinutes = 15
    }

    results {
      /**
       * The name of the Google storage bucket to store the test results in.
       *
       * If left unspecified, the default bucket is used.
       *
       * Please refer to Firebase Test Lab permissions for required permissions
       * for using the bucket.
       */
      cloudStorageBucket = "bucketLocationName"

      /**
       * Name of test results for the Firebase console history list.
       * All tests results with the same history name are grouped
       * together in the Firebase console in a time-ordered test history list.
       *
       * Defaults to the application label in the APK manifest in Flank/Fladle.
       */
      resultsHistoryName = "application-history"

      /**
       * List of paths to copy from the test device's storage to the test
       * results folder. These must be absolute paths under /sdcard or
       * /data/local/tmp.
       */
      directoriesToPull.addAll(
        "/sdcard/path/to/something"
      )

      /**
       * Whether to enable video recording during the test.
       *
       * Disabled by default.
       */
      recordVideo = false

      /**
       * Whether to enable performance metrics. If enabled, monitors and records
       * performance metrics such as CPU, memory, and network usage.
       *
       * Defaults to false.
       */
      performanceMetrics = true
    }
  }
}

Yalnızca hedef API düzeyi için derleme optimizasyonunu devre dışı bırak

Artık IDE optimizasyonunu hedef cihaz API düzeyi için devre dışı bırakabilirsiniz. Varsayılan olarak Android Studio, dexing işlemini dağıtım yaptığınız hedef cihazın API düzeyine göre uyarlayarak genel derleme süresini kısaltır. Bu özelliği kapatmak için Dosya > Ayarlar > Deneysel'e (macOS'te Android Studio > Ayarlar > Deneysel) gidip Derlemeyi yalnızca hedef cihaz API düzeyi için optimize et seçeneğinin işaretini kaldırın. Bu derleme optimizasyonunu devre dışı bırakmanın, derleme süresini artırabileceğini unutmayın.

[Yalnızca Windows] Virüsten korunma yazılımlarının derleme hızı üzerindeki etkisini en aza indirme

Derleme Analiz Aracı, derleme performansınızı virüsten koruma yazılımının etkileyip etkilemediğini size bildirir. Bu durum, Windows Defender gibi virüsten koruma yazılımı Gradle tarafından kullanılan dizinleri gerçek zamanlı olarak taradığında ortaya çıkabilir. Derleme Analiz Aracı, etkin taramadan hariç tutulacak dizinlerin bir listesini önerir ve mümkünse bunları Windows Defender klasör hariç tutma listesine eklemek için bir bağlantı sunar.

Eclipse Android Geliştirme Aracı projeleri artık desteklenmiyor

Android Studio Hedgehog ve sonraki sürümler Eclipse ADT projelerini içe aktarmayı desteklemez. Bu projeleri hâlâ açabilirsiniz ancak artık Android projesi olarak tanınmıyorlar. Bu tür projeleri içe aktarmanız gerekiyorsa Android Studio'nun önceki bir sürümünü kullanabilirsiniz. Android Studio'nun belirli bir sürümü projenizi içe aktaramıyorsa daha eski bir sürümü deneyebilirsiniz. Proje, Android Studio'nun daha eski bir sürümü kullanılarak Android projesine dönüştürüldükten sonra, en son Android Studio sürümünü kullanarak o proje üzerinde çalışmak için AGP Yükseltme Asistanı'nı kullanabilirsiniz.