Android Studio 3.4 (Nisan 2019)

Android Studio 3.4, çeşitli yeni özellikler ve iyileştirmeler içeren ana 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 Sürüm Güncellemeleri 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 Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

3.4.0 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 son önizleme sürümünde kullanıma sunulmuştur. ( sorun #122066788'e bakın)

IntelliJ IDEA 2018.3.4

Temel Android Studio IDE'si, 2018.3.4 sürümüne kadar IntelliJ IDEA'daki iyileştirmelerle güncellendi.

Android Gradle eklentisi 3.4.0 güncellemeleri

Android Gradle eklentisi 3.4.0'taki 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ı iletişim kutusu (PSD), bağımlılıklarını 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.

PSD'yi menü çubuğundan Dosya > Proje Yapısı'nı seçerek açabilirsiniz. PSD'yi Windows ve Linux'da Ctrl+Shift+Alt+S, macOS'te ise Command+; (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ü, bağımlılıklar için sürüm numaralarını projeniz genelinde tutarlı tutmak gibi derleme değişkenlerini oluşturmanıza ve yönetmenize olanak tanır.

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

Not: Mevcut derleme yapılandırma dosyalarınız karmaşık Groovy komut dosyaları aracılığıyla değer atıyorsa bu değerleri PSD üzerinden düzenleyemeyebilirsiniz. Ayrıca, PSD'yi kullanarak Kotlin ile 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 mülklerini yapılandırabilir veya imzalama yapılandırmalarını yönetebilirsiniz.

Bağımlılıklar

Aşağıdaki adımları uygulayarak proje senkronizasyonu sırasında Gradle tarafından çözülen projenizin bağımlılık grafiğindeki her bağımlılığı inceleyin ve görselleştirin:

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

Ayrıca, önce PSD'nin Bağımlılar bölümünden bir modül seçip Tanımlanmış 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ık modüle eklemenize yardımcı olacak aşağıdakine benzer 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 çeşitleri oluşturup yapılandırın. Manifest yer tutucuları, 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ğıda gösterildiği gibi Öneriler bölümünde görebilirsiniz.

Yeni Resource Manager

Kaynak Yöneticisi, uygulamanızda 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 şunları 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 Kaynak Yöneticisi araç penceresine sürükleyip bırakarak veya Çizilebilir öğeleri içe aktar sihirbazını kullanarak tek seferde içe aktarabilirsiniz. Sihirbaza erişmek için araç penceresinin sol üst köşesindeki (+) düğmesini ve ardından açılır menüden Çizilebilirleri İçe Aktar'ı seçin.
  • SVG'leri VectorDrawable nesnelerine dönüştürme: SVG resimlerinizi VectorDrawable nesnelerine dönüştürmek için Çizilebilir öğeleri içe aktar sihirbazını kullanabilirsiniz.
  • Öğeleri sürükleyip bırakma: Kaynak Yöneticisi araç penceresinden, çizilebilir öğeleri Düzenleyici'nin 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ç penceresindeki 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 nitelikler gösterilir.
  • Karo ve liste görünümleri: Kaynaklarınızı farklı düzenlemelerde 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 ile ilgili kılavuzu okuyun.

APK'lar için profil oluştururken ve hata ayıklarken derleme kimliklerini kontrol etme

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

APK'nızda yerel kitaplıkları bir derleme kimliğiyle oluşturursanız Android Studio, simge 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 uyumsuzluk varsa simge dosyalarını reddeder. Derlemeyi bir derleme kimliğiyle yapmadıysanız yanlış simge dosyaları sağlamanın hata ayıklamayla ilgili sorunlara neden olması mümkündür.

R8 varsayılan olarak etkindir

R8, şeker çıkarma, küçültme, karartma, optimize etme ve dex çıkarma işlemlerini tek bir adımda entegre eder. Bu da belirgin bir derleme performansı artışı sağlar. R8, Android Gradle eklentisi 3.3.0'da kullanıma sunuldu ve artık 3.4.0 ve sonraki sürümlerin kullanıldığı hem uygulama hem de Android kitaplık projeleri için varsayılan olarak etkinleştirildi.

Aşağıdaki resimde, R8'in kullanıma sunulmasından önceki derleme işlemi hakkında üst düzey bir genel bakış sunulmaktadır.

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

Artık R8 ile şeker çıkarma, küçültme, karartma, optimizasyon ve kod çıkarma (D8) işlemlerinin tümü aşağıda gösterildiği gibi tek bir adımda tamamlanıyor.

R8 ile şekerleme kaldırma, küçültme, karartma, optimizasyon ve kod çözme 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 sıkıştırma ve optimizasyon, ProGuard'ın kaldıramayabileceği kodların kaldırılmasına neden olabilir. Bu nedenle, bu olasılık düşük bir durumda, söz konusu kodu derleme çıkışınızda tutmak için ek kurallar eklemeniz gerekebilir.

R8 kullanırken sorun yaşıyorsanız sorununuza bir çözüm olup olmadığını kontrol etmek için R8 uyumluluğu SSS sayfasını okuyun. Çözümü bulamadıysanız lütfen hata bildirin. R8'i devre dışı bırakmak için projenizin gradle.properties dosyasına aşağıdaki satırlardan birini ekleyebilirsiniz:

    # 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ızdan bağımsız olarak uygulamanızın kodunu söz konusu derleme türü için 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.

Düzenleyici iyileştirmeleri {:#layout-editor}

Düzen Düzenleyici'deki Özellikler bölmesi, yapılandırabileceğiniz özellikleri göstermek için genişletebileceğiniz bölümler içeren tek bir sayfaya dönüştürüldü. Özellikler bölmesinde aşağıdaki güncellemeler de yer alır:

  • Yeni bir Tanımlanmış Özellikler bölümü, sayfa düzeni dosyasının belirttiği özellikleri listeler ve yenilerini hızlıca eklemenize olanak tanır.
  • Özellikler bölmesinde artık her özelliğin yanında, özelliğin değeri bir 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ı (örneğin, geçersiz düzen değerleri kullandığınızda), turuncu vurgular ise uyarıları gösterir (örneğin, sabit kodlanmış değerler kullandığınızda).

Bağımlılıkları hızlı bir şekilde içe aktarmak için yeni intent işlemi

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

Özellikle Jetpack, destek kitaplığını yönetmesi ve güncellemesi daha kolay ayrı paketler halinde yeniden paketlediğinden bu intent işlemi, kullanmak istediğiniz Jetpack bileşenleri için yalnızca ihtiyaç duyduğunuz bağımlılıkları hızlıca eklemenize yardımcı olur.