Android Studio 3.4 (Nisan 2019)

Android Studio 3.4, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.

3.4.2 (Temmuz 2019)

Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.

3.4.1 (Mayıs 2019)

Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.

3.4.0 sürümüyle ilgili bilinen sorunlar

  • Uygulamanızı Android Q Beta çalıştıran bir cihaza dağıtırken profil oluşturma devre dışı bırakılır.

  • Veri Bağlama Kitaplığı kullanılırken LiveDataListener.onChanged(), NPE ile başarısız olabilir. Bu soruna yönelik düzeltme, Android Studio 3.4.1'e eklenecek ve Android Studio 3.5'in en yeni önizleme sürümünde kullanıma sunulacaktır. ( 122066788 numaralı soruna bakın)

IntelliJ IDEA 2018.3.4

Temel Android Studio IDE, IntelliJ IDEA'daki iyileştirmelerle 2018.3.4 sürümü aracılığıyla güncellendi.

Android Gradle eklentisi 3.4.0 güncellemeleri

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

Yeni Proje Yapısı İletişim Kutusu

Yeni Proje Yapısı İletişim Kutusu (PSD), bağımlılıkları güncellemenizi ve projenizin farklı yönlerini (ör. modüller, derleme varyantları, imzalama yapılandırmaları ve derleme değişkenleri) yapılandırmanızı kolaylaştırır.

Menü çubuğundan Dosya > Proje Yapısı'nı seçerek PSD'yi açabilirsiniz. PSD'yi Windows ve Linux'ta Ctrl+Shift+Alt+S, macOS'te ise Command+; (noktalı virgül) tuşuna basarak da açabilirsiniz. PSD'nin yeni ve güncellenmiş bölümlerinden bazılarının açıklamalarını aşağıda bulabilirsiniz.

Değişkenler

PSD'nin yeni değişkenler bölümü, projenizdeki bağımlılıkların sürüm numaralarını tutarlı tutmak gibi derleme değişkenleri oluşturup yönetmenize olanak tanır.

  • Projenizin Gradle derleme komut dosyalarında bulunan derleme değişkenlerini hızlıca görüntüleyip düzenleyin.
  • PSD'den doğrudan proje veya modül düzeyinde yeni derleme değişkenleri ekleyin.

Not: Mevcut derleme yapılandırma dosyalarınız değerleri karmaşık Groovy komut dosyaları aracılığıyla atıyorsa bu değerleri PSD üzerinden düzenleyemeyebilirsiniz. Ayrıca, PSD'yi kullanarak Kotlin'de yazılmış derleme dosyalarını düzenleyemezsiniz.

Modüller

Mevcut bir modüldeki tüm derleme varyantlarına uygulanan özellikleri yapılandırın veya Modüller bölümünden projenize yeni modüller ekleyin. Örneğin, defaultConfig özelliklerini yapılandırabilir veya imzalama yapılandırmalarını yönetebilirsiniz.

Bağımlılıklar

Proje senkronizasyonu sırasında Gradle tarafından çözülen proje bağımlılık grafiğindeki her bağımlılığı incelemek ve görselleştirmek için aşağıdaki adımları uygulayın:

  1. PSD'nin sol bölmesinde Bağımlılıklar'ı seçin.
  2. Modüller bölmesinde, çözümlenmiş bağımlılıklarını incelemek istediğiniz bir modülü seçin.
  3. PSD'nin sağ tarafında, aşağıda gösterilen Çözümlenmiş Bağımlılıklar bölmesini açın.

Ayrıca, PSD'nin Bağımlılıklar bölümünden bir modül seçip Bildirilmiş Bağımlılıklar bölümündeki (+) düğmesini tıklayarak ve eklemek istediğiniz bağımlılık türünü seçerek projenize hızlıca bağımlılık arayabilir ve ekleyebilirsiniz.

Seçtiğiniz bağımlılık türüne bağlı olarak, bağımlılığı modüle eklemenize yardımcı olan aşağıdaki gibi bir iletişim kutusu görürsünüz.

Derleme Varyantları

PSD'nin bu bölümünde, projenizdeki her modül için derleme varyantları ve ürün aromaları oluşturup yapılandırın. Manifest yer tutucuları ekleyebilir, ProGuard dosyaları ekleyebilir, imzalama anahtarları atayabilir ve daha fazlasını yapabilirsiniz.

Öneriler

Proje bağımlılıkları ve derleme değişkenleri için önerilen güncellemeleri aşağıdaki gibi Öneriler bölümünde görebilirsiniz.

Yeni Resource Manager

Kaynak Yöneticisi, uygulamanızdaki kaynakları içe aktarmak, oluşturmak, yönetmek ve kullanmak için yeni bir araç penceresidir. Menü çubuğundan Görünüm > Araç Pencereleri > Kaynak Yöneticisi'ni seçerek araç penceresini açabilirsiniz. Kaynak Yöneticisi, aşağıdakileri yapmanıza olanak tanır:

  • Kaynakları görselleştirme: İhtiyacınız olan kaynakları hızlıca bulmak için çizilebilir öğeleri, renkleri ve düzenleri önizleyebilirsiniz.
  • Toplu içe aktarma: Birden fazla çizilebilir öğeyi tek seferde içe aktarmak için bunları Kaynak Yöneticisi araç penceresine sürükleyip bırakabilir veya Çizilebilir öğeleri içe aktar sihirbazını kullanabilirsiniz. Sihirbaza erişmek için araç penceresinin sol üst köşesindeki (+) düğmesini ve ardından açılır menüden Import Drawables'ı seçin.
  • SVG'leri VectorDrawable nesnelerine dönüştürme: SVG resimlerinizi VectorDrawable nesnelerine dönüştürmek için Çizilebilir Öğeleri İçe Aktar sihirbazını kullanabilirsiniz.
  • Öğeleri sürükleyip bırakma: Kaynak Yöneticisi araç penceresinden, çizilebilir öğeleri Layout Editor'ın hem tasarım hem de XML görünümlerine sürükleyip bırakabilirsiniz.
  • Alternatif sürümleri görüntüleme: Artık Araç penceresinde bir kaynağı çift tıklayarak kaynaklarınızın alternatif sürümlerini görüntüleyebilirsiniz. Bu görünümde, oluşturduğunuz farklı sürümler ve dahil edilen niteleyiciler gösterilir.
  • Karo ve liste görünümleri: Kaynaklarınızı farklı düzenlerde görselleştirmek için araç penceresindeki görünümü değiştirebilirsiniz.

Daha fazla bilgi edinmek için Uygulama kaynaklarını yönetme hakkındaki kılavuzu inceleyin.

APK'larda profil oluşturma ve hata ayıklama sırasında derleme kimliklerini kontrol etme

APK'nızdaki .sopaylaşılan kitaplıklar için hata ayıklama simge dosyaları sağladığınızda Android Studio, sağlanan simge dosyalarının derleme kimliğinin, APK'daki .sokitaplıkların derleme kimliğiyle eşleştiğini doğrular.

APK'nızdaki yerel kitaplıkları bir derleme kimliğiyle oluşturursanız Android Studio, sembol dosyalarınızdaki derleme kimliğinin yerel kitaplıklarınızdaki derleme kimliğiyle eşleşip eşleşmediğini kontrol eder ve bir uyuşmazlık varsa sembol dosyalarını reddeder. Derleme kimliğiyle derleme yapmadıysanız yanlış sembol dosyaları sağlamak hata ayıklamayla ilgili sorunlara neden olabilir.

R8 varsayılan olarak etkindir

R8, tüm bu işlemleri tek bir adımda entegre ederek kayda değer derleme performansı iyileştirmeleri sağlar. R8, Android Gradle eklentisi 3.3.0'da kullanıma sunuldu ve artık 3.4.0 ve sonraki eklenti sürümlerini kullanan hem uygulama hem de Android kitaplık projelerinde varsayılan olarak etkin.

Aşağıdaki resimde, R8'in kullanıma sunulmasından önceki derleme sürecine genel bir bakış sunulmaktadır.

R8'den önce ProGuard, dexing ve desugaring'den farklı bir derleme adımıydı.

R8 ile birlikte, aşağıda gösterildiği gibi, desugaring, küçültme, karartma, optimizasyon ve dexing (D8) tek bir adımda tamamlanır.

R8 ile desugaring, küçültme, karartma, optimizasyon ve dexing işlemlerinin tümü tek bir derleme adımında gerçekleştirilir.

R8'in mevcut ProGuard kurallarınızla çalışacak şekilde tasarlandığını unutmayın. Bu nedenle, R8'den yararlanmak için herhangi bir işlem yapmanız gerekmeyebilir. Ancak, ProGuard'dan farklı bir teknoloji olduğu ve özellikle Android projeleri için tasarlandığı için küçültme ve optimizasyon, ProGuard'ın kaldırmadığı kodların kaldırılmasına neden olabilir. Bu nedenle, bu olası olmayan durumda, söz konusu kodu derleme çıktınızda tutmak için ek kurallar eklemeniz gerekebilir.

R8'i kullanırken sorun yaşıyorsanız sorununuzun çözümü olup olmadığını kontrol etmek için R8 uyumluluğuyla ilgili SSS sayfasını inceleyin. Çözüm belgelenmemişse lütfen hata bildirin. Aşağıdaki satırlardan birini projenizin gradle.properties dosyasına ekleyerek R8'i devre dışı bırakabilirsiniz:

    # Disables R8 for Android Library modules only.
    android.enableR8.libraries = false
    # Disables R8 for all modules.
    android.enableR8 = false
    
  

Not: Belirli bir derleme türü için uygulama modülünüzün build.gradle dosyasında useProguard değerini false olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties dosyasında R8'i devre dışı bırakıp bırakmadığınıza bakılmaksızın bu derleme türü için uygulamanızın kodunu küçültmek üzere R8'i kullanır.

Gezinme bileşeni tarafından desteklenen tüm bağımsız değişken türleri artık Gezinme Düzenleyici'de desteklenmektedir. Desteklenen türler hakkında daha fazla bilgi için Hedefler arasında veri geçirme başlıklı makaleyi inceleyin.

Layout Editor'daki iyileştirmeler {:#layout-editor}

Düzen Düzenleyici'deki Özellikler bölmesi, yapılandırabileceğiniz özellikleri göstermek için genişletebileceğiniz bölümlerin bulunduğu tek bir sayfada birleştirildi. Özellikler bölmesi aşağıdaki güncellemeleri de içerir:

  • Yeni Bildirilmiş Özellikler bölümünde, düzen dosyasının belirttiği özellikler listelenir ve yeni özellikler hızlıca eklenir.
  • Özellikler bölmesinde artık her özelliğin yanında, özelliğin değeri kaynak referansı olduğunda dolu, aksi takdirde boş olan göstergeler de yer alıyor.
  • Hata veya uyarı içeren özellikler artık vurgulanıyor. Kırmızı vurgular hataları (ör. geçersiz düzen değerleri kullandığınızda), turuncu vurgular ise uyarıları (ör. sabit kodlanmış değerler kullandığınızda) gösterir.

Bağımlılıkları hızlıca içe aktarmak için yeni niyet işlemi

Kodunuzda belirli Jetpack ve Firebase sınıflarını kullanmaya başlarsanız henüz yapmadıysanız yeni bir niyet işlemi, gerekli Gradle kitaplığı bağımlılığını projenize eklemenizi önerir. Örneğin, gerekli android.arch.work:work-runtime bağımlılığını önce içe aktarmadan WorkManager sınıfına referans verirseniz niyet işlemi, aşağıda gösterildiği gibi tek bir tıklamayla bunu kolayca yapmanıza olanak tanır.

Özellikle Jetpack, destek kitaplığını yönetilmesi ve güncellenmesi daha kolay olan ayrı paketler halinde yeniden paketlediğinden bu niyet işlemi, kullanmak istediğiniz Jetpack bileşenleri için yalnızca ihtiyacınız olan bağımlılıkları hızlı bir şekilde eklemenize yardımcı olur.