Eski sürümler

Aşağıda Android Studio 3.6 ve önceki sürümleri ile Android Graadle eklentisi 3.6.0 ve önceki sürümler için sürüm notları bulunmaktadır.

Android Studio'nun eski sürümleri

3.6 (Şubat 2020)

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

Ayrıca bu sürümün yayınlanmasında bize yardımcı olan toplulukta katkıda bulunan tüm kullanıcılara da teşekkür ederiz.

3.6.3 (Nisan 2020)

Bu küçük güncelleme, çeşitli hata düzeltmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

3.6.2 (Mart 2020)

Bu küçük güncelleme, çeşitli hata düzeltmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

3.6.1 (Şubat 2020)

Bu küçük güncelleme, çeşitli hata düzeltmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

Tasarım araçları

Android Studio'nun bu sürümü, Düzen Düzenleyici ve Resource Manager da dahil olmak üzere çeşitli tasarım araçlarında güncellemeler içerir.

Bölünmüş görünüm ve yakınlaştırma tasarım düzenleyicileri

bölünmüş görünüm, hem tasarım hem de metin görünümlerini aynı anda gösterir

Bu sürümde, görsel tasarım düzenleyicilerinde yapılan aşağıdaki güncellemeler yer almaktadır:

  • Düzen Düzenleyici ve Gezinme Düzenleyicisi gibi tasarım düzenleyiciler, artık kullanıcı arayüzünüzün hem Tasarım hem de Kod görünümlerini aynı anda görmenize olanak tanıyan bir Bölünmüş görünüm sağlamaktadır. Artık düzenleyici penceresinin sağ üst köşesinde, görüntüleme seçenekleri arasında geçiş yapmak için kullanabileceğiniz üç düğme simgeleri göster bulunuyor:

    • Bölünmüş görünümü etkinleştirmek için Böl simgesini bölünmüş görünüm simgesi tıklayın.
    • XML kaynak görünümünü etkinleştirmek için Kaynak simgesini kaynak görünümü simgesi tıklayın.
    • Tasarım görünümünü etkinleştirmek için Tasarım simgesini tasarım görünümü simgesi tıklayın.
  • Tasarım düzenleyicilerindeki yakınlaştırma ve kaydırma kontrolleri, düzenleyici penceresinin sağ alt köşesindeki kayan bir panele taşındı.

Daha fazla bilgi edinmek için Düzen Düzenleyici ile kullanıcı arayüzü oluşturma konusuna bakın.

Renk Seçici Kaynak Sekmesi

XML'nizde veya tasarım araçlarınızda renk seçiciyi kullanırken uygulamanızdaki renk kaynağı değerlerini hızlı bir şekilde güncellemenize yardımcı olmak için IDE, renk kaynağı değerlerini artık sizin için dolduruyor.

Doldurulmuş renk değerleriyle renk seçici

Kaynak Yöneticisi

Resource Manager aşağıdaki güncellemeleri içerir:

  • Resource Manager artık çoğu kaynak türünü destekliyor.
  • Bir kaynak ararken, Resource Manager artık tüm proje modüllerinden sonuçları gösteriyor. Daha önce aramalar yalnızca seçilen modülden sonuçlar döndürüyordu.
  • Filtre düğmesiyle yerele bağımlı modüller, harici kitaplıklar ve Android çerçevesindeki kaynakları görüntüleyebilirsiniz. Filtreyi tema özelliklerini göstermek için de kullanabilirsiniz.
  • Artık içe aktarma işlemi sırasında kaynağın üst kısmındaki metin kutusunu tıklayarak kaynakları yeniden adlandırabilirsiniz.

Daha fazla bilgi için Resource Manager ile uygulamanızın kullanıcı arayüzü kaynaklarını yönetme bölümüne göz atın.

Android Gradle eklentisiyle ilgili güncellemeler

Android Gradle eklentisinin en son sürümü; derleme hızı optimizasyonları, Maven yayınlama eklentisi ve Görünüm Bağlama için destek de dahil olmak üzere pek çok güncelleme içerir. Daha fazla bilgi edinmek için tam sürüm notlarını okuyun.

Bağlamayı görüntüle

Görünüm bağlama, her bir XML düzen dosyası için bir bağlama sınıfı oluşturarak görünümlerle etkileşim kuran kodları daha kolay yazmanıza olanak tanır. Bu sınıflar, ilgili düzende kimliği olan tüm görünümlere doğrudan referanslar içerir.

findViewById()'in yerini aldığı için görünüm bağlama, geçersiz görünüm kimliğinden kaynaklanan boş işaretçi istisnaları riskini ortadan kaldırır.

Görünüm bağlamayı etkinleştirmek için Android Gradle eklentisinin 3.6.0 veya sonraki bir sürümünü kullanmanız ve her modülün build.gradle dosyasına aşağıdakileri eklemeniz gerekir:

Modern

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Değişiklikleri Uygulama

Artık bir sınıf ekleyebilir ve Kod Değişikliklerini Uygula veya Değişiklikleri Uygula ve Etkinliği Yeniden Başlat'ı tıklayarak bu kod değişikliğini çalışan uygulamanıza dağıtabilirsiniz .

Bu iki işlem arasındaki fark hakkında daha fazla bilgi edinmek için Değişiklikleri Uygulama bölümüne bakın.

Hazır Uygulamalar desteğini etkinleştirmek için menü seçeneğini yeniden düzenleyin

Artık uygulama projenizi oluşturduktan sonra temel modülü istediğiniz zaman aşağıdaki şekilde anında etkinleştirebilirsiniz:

  1. Menü çubuğundan Görünüm > Araç Pencereleri > Proje'yi seçerek Proje panelini açın.
  2. Genellikle "uygulama" olarak adlandırılan temel modülünüzü sağ tıklayın ve Yeniden Düzenleme > Hazır Uygulama Desteğini Etkinleştir'i seçin.
  3. Görüntülenen iletişim kutusunda, açılır menüden temel modülünüzü seçin.
  4. Tamam'ı tıklayın.

Not: Temel uygulama modülünüzü Yeni Proje Oluştur sihirbazından anında etkinleştirme seçeneği kaldırılmıştır.

Daha fazla bilgi edinmek için Google Play Instant'a genel bakış başlıklı makaleyi okuyun.

APK Analiz Aracı'nda sınıf ve yöntem bayt kodunun gizlemesini kaldırma

DEX dosyalarını incelemek için APK Analizcisi'ni kullanırken sınıf ve yöntemin bayt kodunun kodunu aşağıdaki şekilde kaldırabilirsiniz:

  1. Menü çubuğundan Oluştur > APK'yı analiz et seçeneğini belirleyin.
  2. Açılan iletişim kutusunda, incelemek istediğiniz APK'ya gidin ve onu seçin.
  3. 'ı tıklayın.
  4. APK Analiz Aracı'nda, incelemek istediğiniz DEX dosyasını seçin.
  5. DEX dosya görüntüleyicisinde, analiz ettiğiniz APK için ProGuard eşlemeleri dosyasını yükleyin.
  6. İncelemek istediğiniz sınıfı veya yöntemi sağ tıklayın ve Bayt kodunu göster'i seçin.

Yerel araçlar

Aşağıdaki güncellemeler, Android Studio'da yerel (C/C++) geliştirmeyi destekler.

Kotlin desteği

Daha önce Java'da desteklenen ve Android Studio'da bulunan aşağıdaki NDK özellikleri artık Kotlin'de de desteklenmektedir:

  • Bir JNI bildiriminden C/C++'taki karşılık gelen uygulama işlevine gidin. Yönetilen kaynak kodu dosyasındaki satır numarasının yakınındaki C veya C++ öğe işaretçisinin üzerine gelerek bu eşlemeyi görüntüleyin.

  • JNI bildirimi için otomatik olarak saplama uygulama işlevi oluşturun. Önce JNI bildirimini tanımlayın ve ardından etkinleştirmek için C/C++ dosyasına "jni" veya yöntem adını yazın.

  • Kullanılmayan yerel uygulama işlevleri, kaynak kodunda uyarı olarak vurgulanır. Eksik uygulamaları olan JNI beyanları da hata olarak vurgulanır.

  • Bir yerel uygulama işlevini yeniden adlandırdığınızda (yeniden düzenlediğinizde) ilgili tüm JNI bildirimleri güncellenir. Yerel uygulama işlevini güncellemek için bir JNI bildirimini yeniden adlandırın.

  • Örtülü bağlı JNI uygulamaları için imza kontrolü.

Diğer JNI iyileştirmeleri

Android Studio'daki kod düzenleyici artık iyileştirilmiş tür ipuçları, otomatik tamamlama, denetimler ve kodları yeniden düzenleme gibi daha sorunsuz bir JNI geliştirme iş akışını destekliyor.

Yerel kitaplıklar için APK yeniden yükleniyor {:#3.6-reload-apk}

Projenizdeki APK, IDE dışında güncellendiğinde yeni bir proje oluşturmanız gerekmez. Android Studio, APK'daki değişiklikleri algılar ve yeniden içe aktarma seçeneği sunar.

Yalnızca Kotlin APK kaynaklarını ekleyin

Önceden oluşturulmuş APK'ların profilini çıkarırken ve bu APK'larda hata ayıklarken artık yalnızca Kotlin harici APK kaynaklarını ekleyebilirsiniz. Daha fazla bilgi edinmek için Kotlin/Java kaynakları ekleme bölümüne bakın.

Bellek Profil Aracı'nda sızıntı algılama

Bellek Profil Aracı'nda yığın dökümünü analiz ederken artık Android Studio'nun uygulamanızdaki Activity ve Fragment örnekleri için bellek sızıntılarını gösterebileceğini düşündüğü profil oluşturma verilerini filtreleyebilirsiniz.

Filtrenin gösterdiği veri türleri aşağıdakileri içerir:

  • İmha edilmiş ancak hâlâ başvuruda bulunulan Activity örnek.
  • Geçerli bir FragmentManager öğesine sahip olmayan, ancak yine de başvurulan Fragment örnekleri.

Yalnızca Kotlin APK kaynaklarını ekleyin

Önceden oluşturulmuş APK'ların profilini çıkarırken ve bu APK'larda hata ayıklarken artık yalnızca Kotlin harici APK kaynaklarını ekleyebilirsiniz. Daha fazla bilgi edinmek için Kotlin/Java kaynakları ekleme bölümüne bakın.

Bellek Profil Aracı'nda sızıntı algılama

Bellek Profil Aracı'nda yığın dökümünü analiz ederken artık Android Studio'nun uygulamanızdaki Activity ve Fragment örnekleri için bellek sızıntılarını gösterebileceğini düşündüğü profil oluşturma verilerini filtreleyebilirsiniz.

Filtrenin gösterdiği veri türleri aşağıdakileri içerir:

  • İmha edilmiş ancak hâlâ başvuruda bulunulan Activity örnek.
  • Geçerli bir FragmentManager içermeyen, ancak hâlâ başvurulan Fragment örnekleri.

Filtre yanlış pozitif sonuçlar verebilir. Örneğin:

  • Fragment oluşturuldu ancak henüz kullanılmadı.
  • Fragment önbelleğe alınıyor, ancak FragmentTransaction kapsamında değil.

Bu özelliği kullanmak için önce Android Studio'ya bir yığın dökümü kaydedin veya bir yığın döküm dosyasını içe aktarın. Bellek sızıntısı yapıyor olabilecek parçaları ve etkinlikleri görüntülemek için Bellek Profil Aracı'nın yığın dökümü bölmesinde Etkinlik/Parça Sızıntıları onay kutusunu seçin.

Profil Aracı: Bellek Sızıntısı Algılama

Bellek sızıntıları için bellek yığını dökümünü filtreleme.

Emülatörler

Android Studio 3.6, aşağıda açıklandığı gibi Android Emulator 29.2.7 ve sonraki sürümlerinde yer alan çeşitli güncellemelerden yararlanmanıza yardımcı olur.

İyileştirilmiş Konum Desteği

Android Emulator 29.2.7 ve sonraki sürümler, GPS koordinatlarını ve rota bilgilerini emüle etmek için ek destek sağlar. Emülatörler Genişletilmiş kontroller'i açtığınızda Konum sekmesindeki seçenekler artık iki sekme altında düzenlenir: Tek noktalar ve Rotalar.

Tek puan

Tek noktalar sekmesinde, Google Haritalar'ı bir telefonda veya tarayıcıda kullanırken olduğu gibi, önemli yerleri aramak için Google Haritalar web görünümünü kullanabilirsiniz. Haritada bir konumu aradığınızda veya tıkladığınızda, haritanın alt kısmına yakın bir yerde bulunan Noktayı kaydet'i seçerek konumu kaydedebilirsiniz. Kaydettiğiniz tüm konumlar, Genişletilmiş denetimler penceresinin sağ tarafında listelenir.

Emülatörlerin konumunu haritada seçtiğiniz konuma ayarlamak için Genişletilmiş denetimler penceresinin sağ alt tarafına yakın yerde bulunan Konumu ayarla düğmesini tıklayın.

Emülatör Genişletilmiş Kontroller'de Tek Puan sekmesi..

Güzergahlar

Tek noktalar sekmesine benzer şekilde, Rotalar sekmesi de iki veya daha fazla konum arasında rota oluşturmak için kullanabileceğiniz bir Google Haritalar web görünümü sağlar. Rota oluşturmak ve kaydetmek için aşağıdakileri yapın:

  1. Harita görünümünde, rotanızdaki ilk hedefi aramak için metin alanını kullanın.
  2. Arama sonuçlarından konumu seçin.
  3. Git düğmesini seçin.
  4. Rotanızın başlangıç noktasını haritadan seçin.
  5. (İsteğe bağlı) Rotanıza daha fazla durak eklemek için Hedef ekle'yi tıklayın.
  6. Harita görünümünde Rotayı kaydet'i tıklayarak rotanızı kaydedin.
  7. Rota için bir ad belirtin ve Kaydet'i tıklayın.

Kaydettiğiniz rotayı takip ederek Emülatörü simüle etmek için Kayıtlı rotalar listesinden rotayı seçin ve Genişletilmiş denetimler penceresinin sağ alt tarafına yakın yerde bulunan Rotayı oynat'ı tıklayın. Simülasyonu durdurmak için Rotayı durdur'u tıklayın.

Emülatör Genişletilmiş Denetimler'deki Rotalar sekmesi..

Belirtilen rotayı izleyerek Emülatörü sürekli olarak simüle etmek için Tekrar oynatma'nın yanındaki anahtarı etkinleştirin. Emülatörün belirtilen rotayı izleme hızını değiştirmek için Oynatma hızı açılır listesinden bir seçenek belirleyin.

Çoklu ekran desteği

Android Emulator artık uygulamanızı özelleştirilebilir boyutları destekleyen birden fazla ekrana dağıtmanıza olanak tanır. Bu ekranlar, çoklu pencere ve çoklu ekranı destekleyen uygulamaları test etmenize yardımcı olabilir. Bir sanal cihaz çalışırken aşağıdaki adımları uygulayarak en fazla iki ekran daha ekleyebilirsiniz:

  1. Genişletilmiş denetimler'i açıp Ekranlar sekmesine gidin.

  2. İkincil ekran ekle'yi tıklayarak başka bir ekran ekleyin.

  3. İkincil görüntüler altındaki açılır menüde aşağıdakilerden birini yapın:

  4. Önceden ayarlanmış en boy oranlarından birini seçin

  5. custom'i (özel) seçin ve özel görüntünüz için height, width ve dpi değerlerini ayarlayın.

  6. (İsteğe bağlı) Üçüncü bir ekran eklemek için İkincil ekran ekle'yi tıklayın.

  7. Belirtilen ekranları çalışan sanal cihaza eklemek için Değişiklikleri uygula'yı tıklayın.

Birden fazla ekran Emülatör Genişletilmiş Denetimler Ekran sekmesi ekleyin.

Android Automotive OS için yeni sanal cihazlar ve proje şablonları

Android Studio'yu kullanarak yeni bir proje oluştururken artık Yeni Proje Oluştur sihirbazındaki Otomotiv sekmesinde bulunan üç şablon arasından seçim yapabilirsiniz: Etkinlik Yok, Medya hizmeti ve Mesajlaşma hizmeti. Mevcut projelerde, menü çubuğundan Dosya > Yeni > Yeni Modül'ü seçip Otomotiv Modülü'nü seçerek Android Automotive cihazları için destek ekleyebilirsiniz. Ardından Yeni Modül Oluştur sihirbazı, Android Automotive proje şablonlarından birini kullanarak yeni modül oluşturma işlemi boyunca size yol gösterir.

Android Automotive proje şablonu seçiliyor..

Ayrıca artık Sanal Cihaz Yapılandırması sihirbazındaki Otomotiv sekmesinde bulunan aşağıdaki seçeneklerden birini belirleyerek Android Automotive OS cihazlar için Android Sanal Cihaz (AVD) oluşturabilirsiniz.

  1. Polestar 2: Polestar 2 ana birimini emüle eden bir ortalama görüntüleme süresi oluşturun.
  2. Otomotiv (1024p yatay): 1024 x 768 piksellik genel Android Automotive ana birimleri için ortalama görüntüleme süresi oluşturun.

Android Automotive sanal cihazı seçiliyor..

Devam ettirilebilir SDK indirmeleri

SDK Yöneticisi'ni kullanarak SDK bileşenleri ve araçları indirirken Android Studio artık indirme işlemini baştan başlatmak yerine (örneğin, bir ağ sorunu nedeniyle) kesintiye uğrayan indirme işlemlerini devam ettirmenize olanak tanıyor. Bu geliştirme, özellikle internet bağlantısının güvenilir olmadığı durumlarda Android Emülatör veya sistem görüntüleri gibi büyük boyutlu indirme işlemleri için faydalıdır.

Ayrıca, arka planda çalışan bir SDK indirme göreviniz varsa artık durum çubuğundaki kontrolleri kullanarak indirme işlemini duraklatabilir veya devam ettirebilirsiniz.

Durum çubuğunda, indirme işlemini duraklatmanıza veya devam ettirmenize olanak tanıyan yeni denetimler içeren bir arka planda indirme görevi.

Durum çubuğunda, indirme işlemini duraklatmanıza veya devam ettirmenize olanak tanıyan yeni kontroller içeren bir arka planda indirme görevi.

Win32 kullanımdan kaldırıldı

Android Studio'nun Windows 32 bit sürümüne Aralık 2019'dan sonra güncellemeler, Aralık 2020'den sonra ise destek sunulmayacaktır. Android Studio'yu kullanmaya devam edebilirsiniz. Ancak ek güncellemeler almak için iş istasyonunuzu Windows'un 64 bit sürümüne yükseltin.

Daha fazla bilgi edinmek için Windows 32 bit eskime blogunu okuyun.

Gradle senkronizasyon süresini optimize etmek için yeni seçenek

Önceki sürümlerde, Android Studio Gradle Sync sırasında tüm Gradle görevlerinin listesini alıyordu. Büyük projelerde, görev listesinin alınması senkronizasyon sürelerinin yavaşlamasına neden olabilir.

Gradle Sync performansını iyileştirmek için Dosya > Ayarlar > Deneysel'e gidin ve Gradle senkronizasyonu sırasında Gradle görev listesi oluşturma'yı seçin.

Bu seçeneği etkinleştirdiğinizde Android Studio, senkronizasyon sırasında görev listesini oluşturma adımını atlar. Bu da Gradle Sync'in daha hızlı tamamlanmasını sağlar ve kullanıcı arayüzü duyarlılığını iyileştirir. IDE, görev listesini oluşturma adımını atladığında Gradle panelindeki görev listelerinin boş olacağını ve derleme dosyalarındaki görev adını otomatik tamamlamanın çalışmadığını unutmayın.

Gradle'ın çevrimdışı modunu açıp kapatmak için yeni konum

Gradle'ın çevrimdışı modunu etkinleştirmek veya devre dışı bırakmak için önce menü çubuğundan Görünüm > Araç Pencereleri > Gradle'ı seçin. Ardından, Gradle penceresinin üst kısmının yakınında, Çevrimdışı Modda Geçiş YapGradle panelinde çevrimdışı Gradle düğmesi. tıklayın.

IntelliJ IDEA 2019.2

Temel Android Studio IDE, IntelliJ IDEA'nın 2019.2 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.

2019.2 sürümüyle kümülatif olarak dahil edilen diğer IntelliJ sürümlerinde yapılan iyileştirmeler hakkında daha fazla bilgi edinmek için aşağıdaki sayfalara bakın:

Topluluğa katkıda bulunanlar

Hataları ve Android Studio 3.6'yı iyileştirmenin diğer yollarını keşfetmemize yardımcı olan, topluluğumuza katkıda bulunan herkese teşekkür ederiz. Özellikle, hataları bildiren aşağıdaki kişilere teşekkür etmek isteriz:

  • Albert Lo
  • Alexey Rott
  • Ayla Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Gülşah Özdemir
  • Hannes Achleitner
  • Hans Petter Eide
  • Tahneli Ranza
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Ali Demir
  • Burçin Bilgili
  • Liran Barış
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke'den daha fazla içerik
  • Malvin Sutanto
  • Masatoshi Kubodesi
  • Mathew Kışları
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mehmet Öztürk
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nuri Firma
  • Nilüfer Gürkan
  • Niklas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Kükreme Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Kurt
  • Stephen D'Amico
  • Tao Wang Dili
  • Tomas Chladek
  • Tomáš Procházka
  • Tuğçe Rüzgar
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lini
  • Zeki Müren
  • 3.5 (Ağustos 2019)

    Android Studio 3.5, ana sürüm olan Project Marble'ın bir sonucudur. Android Studio 3.3'ün yayınlanmasından itibaren Project Marble girişimi, IDE'nin üç ana alanını iyileştirmeye odaklanan birden çok sürüme yayıldı: sistem sağlığı, özellik iyileştirme ve hataları düzeltme.

    Bunlar ve diğer Project Marble güncellemeleri hakkında bilgi için Android Geliştiricileri blog yayınını veya aşağıdaki bölümleri okuyun.

    Ayrıca bu sürümün yayınlanmasında bize yardımcı olan toplulukta katkıda bulunan tüm kullanıcılara da teşekkür etmek isteriz.

    3.5.3 (Aralık 2019)

    Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir.

    3.5.2 (Kasım 2019)

    Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    3.5.1 (Ekim 2019)

    Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    Project Marble: Sistem sağlığı

    Bu bölümde, Android Studio 3.5'te sistem durumunu iyileştirmeye odaklanan değişiklikler açıklanmaktadır.

    Önerilen bellek ayarları

    Android Studio artık temel IDE, Gradle arka plan programı ve Kotlin arka plan programı gibi Android Studio işlemleri için işletim sisteminizin ayırması gereken maksimum RAM miktarını artırarak performansı iyileştirebileceğinizi tespit ederse artık sizi bilgilendiriyor. Bildirimdeki işlem bağlantısını tıklayarak önerilen ayarları kabul edebilir veya Dosya > Ayarlar'ı (veya macOS'te Android Studio > Tercihler'i) seçip Görünüm ve Davranış > Sistem Ayarları altında Bellek Ayarları bölümünü bularak bu ayarları manuel olarak yapabilirsiniz. Daha fazla bilgi için Maksimum yığın boyutu bölümünü inceleyin.

    Önerilen bellek ayarları hakkında bildirim.

    Önerilen bellek ayarları hakkında bildirim.

    Bellek kullanımı raporu

    Android Studio'daki bellek sorunlarının yeniden oluşturulması ve bildirilmesi bazen zor olabilir. Android Studio, bu sorunu çözmek için menü çubuğundan Yardım > Bellek Kullanımını Analiz Et'i tıklayarak bellek kullanımı raporu oluşturmanıza olanak tanır. Bunu yaptığınızda IDE, kişisel bilgiler için verileri yerel olarak temizler ve bellek sorunlarının kaynağını belirlemeye yardımcı olması için bilgileri Android Studio ekibine göndermek isteyip istemediğinizi sorar. Daha fazla bilgi edinmek için Bellek kullanımı raporu çalıştırma bölümünü inceleyin.

    Bellek kullanım raporu.

    Bellek kullanım raporu.

    Windows: Antivirüs dosyası G/Ç optimizasyonu

    Android Studio artık belirli proje dizinlerinin gerçek zamanlı antivirüs taramasından hariç tutulup tutulmadığını otomatik olarak kontrol ediyor. Derleme performansını iyileştirmek için düzenleme yapılabileceği durumlarda Android Studio sizi bilgilendirir ve virüsten korunma yapılandırmanızı nasıl optimize edeceğinizle ilgili talimatları sağlar. Daha fazla bilgi edinmek için Antivirüs yazılımlarının derleme hızı üzerindeki etkisini en aza indirme başlıklı makaleye göz atın.

    Project Marble: Özelliği güzelleştirme

    Bu bölümde, Android Studio 3.5'te, mevcut özellikleri iyileştirmeye odaklanan değişiklikler açıklanmaktadır.

    Değişiklikleri Uygulama

    Değişiklikleri Uygula, uygulamanızı yeniden başlatmadan ve bazı durumlarda mevcut etkinliği yeniden başlatmadan çalışan uygulamanıza kod ve kaynak değişiklikleri aktarmanıza olanak tanır. Değişiklikleri Uygula, uygulamanızın durumunu korumak için tamamen yeni bir yaklaşım uygular. APK'nızın bayt kodunu yeniden yazan Anında Çalıştır'ın aksine Uygula, Android 8.0 (API düzeyi 26) veya sonraki sürümlerde desteklenen çalışma zamanı araçlarından yararlanarak sınıfları anında yeniden tanımlar.

    Daha fazla bilgi edinmek için Değişiklikleri Uygulama bölümüne bakın.

    Değişiklikleri Uygula için araç çubuğu düğmeleri.

    Değişiklikleri Uygula için araç çubuğu düğmeleri.

    Uygulama dağıtımı akışı

    IDE'de, uygulamanızı dağıtmak istediğiniz cihazı hızlıca seçmenize olanak tanıyan yeni bir açılır menü vardır. Bu menüde, uygulamanızı aynı anda birden fazla cihazda çalıştırmanızı sağlayan yeni bir seçenek de yer alıyor.

    Hedef cihaz açılır menüsü.

    Hedef cihaz açılır menüsü.

    İyileştirilmiş Gradle senkronizasyonu ve önbellek algılama

    IDE, Gradle'ın sabit disk tüketimini azaltırken derleme önbelleğini düzenli olarak temizlediğini artık daha iyi algılar. Önceki sürümlerde bu durum, IDE'nin eksik bağımlılıkları bildirmesine ve Gradle senkronizasyonunun başarısız olmasına neden oluyordu. Artık IDE, Gradle senkronizasyonunun başarıyla tamamlanmasını sağlamak için bağımlılıkları gerektiği şekilde indiriyor.

    İyileştirilmiş yapı hatası çıktısı

    Derleme Yapı penceresi simgesi penceresi artık aşağıdaki derleme işlemleri için daha iyi hata raporlama (ör. dosya bağlantısı ve bildirilen hata satırı) sağlıyor:

    • AAPT derlemesi ve bağlama
    • R8 ve ProGuard
    • Dexing
    • Kaynak birleştirme
    • XML dosyası ayrıştırma
    • Javac, Kotlinc ve CMake derlemesi

    Proje Yükseltmeleri

    IDE ve Android Gradle eklentisini güncellemenize yardımcı olacak daha fazla bilgi ve işlem sağlamak için güncelleme deneyimi iyileştirildi. Örneğin, daha fazla senkronizasyon ve derleme hatası, güncelleme sırasında hataları azaltmanıza yardımcı olacak işlemler içerir.

    IDE'yi Android Gradle eklentisi gibi diğer bileşenlerden bağımsız olarak güncelleyebileceğinizi unutmayın. Bu sayede, yeni bir sürüm kullanıma sunulur sunulmaz IDE'yi güvenli bir şekilde güncelleyebilir, diğer bileşenleri de daha sonra güncelleyebilirsiniz.

    Düzen Düzenleyici

    Android Studio 3.5; düzen görselleştirme, yönetim ve etkileşim için çeşitli iyileştirmeler içerir.

    ConstraintLayout ile çalışırken, Özellikler panelindeki yeni Sınırlamalar bölümü, seçilen kullanıcı arayüzü bileşeninin kısıtlama ilişkilerini listeler. Her iki alandaki kısıtlamayı vurgulamak için tasarım yüzeyinden veya kısıtlamalar listesinden bir sınırlama seçebilirsiniz.

    Seçilen kullanıcı arayüzü öğesi için ilişkileri sınırlandırın.

    Seçilen kullanıcı arayüzü öğesi için ilişkileri sınırlandırın.

    Benzer şekilde, artık bir kısıtlamayı seçip Delete tuşuna basarak silebilirsiniz. Ayrıca, Control tuşunu (macOS'te Command) basılı tutup kısıtlama bağlantısını tıklayarak da kısıtlamayı silebilirsiniz. Control veya Command tuşunu basılı tutup fareyle bir bağlantının üzerine geldiğinizde ilişkili kısıtlamalar kırmızı renge dönerek, bunları silmek için tıklayabileceğinizi belirtir.

    Bir görünüm seçildiğinde, aşağıdaki resimde gösterildiği gibi, Özellikler panelinin Kısıtlama Widget'ı bölümündeki + simgelerinden herhangi birini tıklayarak bir kısıtlama oluşturabilirsiniz. Yeni bir sınırlama oluşturduğunuzda, Düzen Düzenleyici artık sınırlamayı seçip vurgulayarak yeni eklediğiniz öğe için anında görsel geri bildirim sağlar.

    Kısıtlamalar oluşturmak için kısıtlama widget'ının nasıl kullanılacağını gösteren animasyon.

    Sınırlama oluşturmak için sınırlama widget'ını kullanma .

    Bir kısıtlama oluştururken, Düzen Düzenleyici artık yalnızca sınırlayabileceğiniz uygun sabitleme noktalarını gösterir. Daha önce, Düzen Düzenleyici, sınırlayıp kısıtlama edemediğinizden bağımsız olarak, tüm görünümlerdeki tüm sabitleme noktalarını vurguluyordu. Buna ek olarak, mavi yer paylaşımı artık sınırlamanın hedefini vurgular. Bu vurgulama, özellikle başka bir bileşenle çakışan bir bileşeni sınırlamaya çalışırken yararlı olur.

    Android Studio 3.4'te çakışan bir bileşen için nasıl kısıtlama oluşturulacağını gösteren animasyon.

    Android Studio 3.4'te çakışan bir bileşen için kısıtlama oluşturma.

    Android Studio 3.5'te çakışan bir bileşen için nasıl kısıtlama oluşturulacağını gösteren animasyon.

    Android Studio 3.5'te çakışan bir bileşen için kısıtlama oluşturma.

    Android Studio 3.5, yukarıdaki güncellemelere ek olarak aşağıdaki Düzen Düzenleyici iyileştirmelerini de içerir:

    • Sınırlama Widget'ı ve varsayılan kenar boşluğu artık marjlar için boyut kaynaklarını kullanmanıza olanak tanıyor.
    • Düzen Düzenleyici araç çubuğunda, tasarım yüzeyinin boyutunu belirleyen cihazların listesi güncellendi. Ayrıca, yeniden boyutlandırma sırasında yapışma davranışı iyileştirildi ve tasarım yüzeyindeki yeniden boyutlandırma tutamaçları artık her zaman görülebilir. Yeniden boyutlandırırken, yaygın cihaz boyutlarını gösteren yeni yer paylaşımları görünür.
    • Düzen Düzenleyici, tutarlılığı iyileştiren ve bileşenler, metin ve kısıtlamalar arasındaki kontrastı azaltan yeni bir renk şemasına sahiptir.
    • Şema modu artık metnin gösterilmediği bazı bileşenler için metin desteği içeriyor.

    Bu değişiklikler hakkında daha fazla bilgi için Android Studio Marble Projesi: Düzen Düzenleyici sayfasına bakın.

    Veri Bağlama

    IDE, Veri Bağlama için artımlı ek açıklama işleme desteği eklemenin yanı sıra XML'de veri bağlama ifadeleri oluştururken akıllı düzenleyici özelliklerini ve performansı iyileştirir.

    Android Studio 3.4'teki kod düzenleyici performansını gösteren animasyon.

    Android Studio 3.4'teki kod düzenleyici performansı.

    Android Studio 3.5'teki kod düzenleyici performansını gösteren animasyon.

    Android Studio 3.5'te iyileştirilen kod düzenleme performansı.

    C/C++ projeleri için gelişmiş destek

    Android Studio 3.5, C/C++ projeleri için desteği geliştiren çeşitli değişiklikler içerir.

    Tek varyant senkronizasyonu için Varyantlar paneli iyileştirmeleri oluşturun

    Artık Derleme Varyantları panelinde hem etkin derleme varyantını hem de etkin ABI'yi belirtebilirsiniz. Bu özellik, modül başına derleme yapılandırmasını basitleştirir ve Gradle senkronizasyon performansını da iyileştirebilir.

    Daha fazla bilgi için Derleme varyantını değiştirme konusuna bakın.

    ABI'ye göre tek varyant seçimini gösteren Derleme Varyantları paneli.

    ABI tarafından tek varyant seçimi yapılan Derleme Varyantları paneli.

    NDK'nın yan yana sürümleri

    Artık NDK'nın birden çok sürümünü yan yana kullanabilirsiniz. Bu özellik, projelerinizi yapılandırırken size daha fazla esneklik sağlar. Örneğin, aynı makinede NDK'nın farklı sürümlerini kullanan projeleriniz varsa.

    Projeniz Android Gradle eklentisi 3.5.0 veya sonraki bir sürümü kullanıyorsa projenizdeki her modülün kullanması gereken NDK sürümünü de belirtebilirsiniz. Bu özelliği yeniden oluşturulabilir derlemeler oluşturmak ve NDK sürümleri ile Android Gradle eklentisi arasındaki uyumsuzlukları azaltmak için kullanabilirsiniz.

    Daha fazla bilgi edinmek için NDK, CMake ve LLDB'yi yükleme ve yapılandırma başlıklı makaleye bakın.

    ChromeOS Desteği

    Android Studio artık HP Chromebook x360 14, Acer Chromebook 13/Spin 13 gibi ChromeOS cihazları resmi olarak desteklemektedir. Ayrıca, sistem gereksinimlerinde bu cihazlar hakkında bilgi edinebilirsiniz. Başlamak için uyumlu ChromeOS cihazınıza Android Studio'yu indirin ve yükleme talimatlarını uygulayın.

    Not: ChromeOS'teki Android Studio şu anda uygulamanızın yalnızca bağlı bir donanım cihazına dağıtılmasını desteklemektedir. Daha fazla bilgi edinmek için Uygulamaları donanım cihazında çalıştırma konusunu okuyun.

    Özellik modülleri için koşullu yayın

    Koşullu yayın, özellik modüllerinin uygulama yükleme sırasında otomatik olarak indirilmesi için belirli cihaz yapılandırma gereksinimlerini belirlemenize olanak tanır. Örneğin, yalnızca artırılmış gerçekliği destekleyen cihazlar için uygulama yüklenirken kullanılabilecek artırılmış gerçeklik (AR) işlevleri içeren bir özellik modülü yapılandırabilirsiniz.

    Bu iletim mekanizması şu anda uygulama yükleme sırasında bir modülün indirilmesini aşağıdaki cihaz yapılandırmalarına dayalı olarak kontrol etmeyi desteklemektedir:

    • OpenGL ES sürümü de dahil cihaz donanımı ve yazılım özellikleri
    • Kullanıcının ülkesi
    • API seviyesi

    Cihaz belirttiğiniz tüm gereksinimleri karşılamıyorsa modül, uygulama yükleme sırasında indirilmez. Ancak uygulamanız daha sonra Play Core Kitaplığı'nı kullanarak modülü isteğe bağlı olarak indirme isteğinde bulunabilir. Daha fazla bilgi için Koşullu yayınlamayı yapılandırma bölümüne bakın.

    IntelliJ IDEA 2019.1

    Temel Android Studio IDE, IntelliJ IDEA'nın 2019.1 sürümünde sunulan tema özelleştirme gibi iyileştirmelerle güncellenmiştir.

    Android Studio'ya eklenen son IntelliJ sürümü 2018.3.4'tür. Android Studio'nun bu sürümüne toplu olarak dahil edilen diğer IntelliJ sürümlerindeki iyileştirmeler hakkında daha fazla bilgi için aşağıdaki hata düzeltme güncellemelerine bakın:

    Android Gradle eklentisi 3.5.0 güncellemeleri

    Artımlı ek açıklama işleme ve önbelleğe alınabilir birim testleri için iyileştirilmiş destek gibi Android Gradle eklentisi 3.5.0'daki yenilikler hakkında bilgi edinmek için sürüm notlarına bakın.

    Topluluğa katkıda bulunanlar

    Hataları ve Android Studio 3.5'i iyileştirmenin diğer yollarını keşfetmemize yardımcı olan, topluluğumuza katkıda bulunan herkese teşekkür ederiz. Özellikle, P0 ve P1 hatalarını bildiren aşağıdaki kişilere teşekkür etmek isteriz:

    3.4 (Nisan 2019)

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

    3.4.2 (Temmuz 2019)

    Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini 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üzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    3.4.0 ile ilgili bilinen sorunlar

    • Uygulamanız, Android Q Beta çalıştıran bir cihaza dağıtılı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 bir düzeltme Android Studio 3.4.1'e eklenecek ve şu anda Android Studio 3.5'in en yeni Önizleme sürümünde mevcut. ( Sorun numarası 122066788'e bakın)

    IntelliJ IDEA 2018.3.4

    Temel Android Studio IDE, IntelliJ IDEA'nın 2018.3.4 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.

    Android Gradle eklentisi 3.4.0 güncellemeleri

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

    Yeni Proje Yapısı İletişimi

    Yeni Proje Yapısı İletişim Kutusu (PSD), bağımlılıkları güncellemeyi ve projenizin modüller, derleme varyantları, yapılandırmaları imzalama ve değişken derleme gibi farklı yönlerini yapılandırmayı 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 veya macOS'te 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ü, bağımlılıkların sürüm numaralarını projeniz genelinde tutarlı tutmak için kullanılanlar gibi derleme değişkenleri oluşturmanıza ve yönetmenize olanak tanır.

    • Projenizin Gradle derleme komut dosyalarında zaten 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ı üzerinden değer atıyorsa bu değerleri PSD üzerinden düzenleyemeyebilirsiniz. Ayrıca, Kotlin'de yazılan derleme dosyalarını PSD kullanarak 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, buradan defaultConfig özelliklerini yapılandırabilir veya imzalama yapılandırmalarını yönetebilirsiniz.

    Bağımlılıklar

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

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

    Ayrıca hızlı bir şekilde bağımlılıkları arayabilir ve projenize ekleyebilirsiniz. Bunun için önce PSD'nin Bağımlılıklar bölümünden bir modül seçip Bildirilen Bağımlılıklar bölümündeki (+) düğmesini tıklayın ve eklemek istediğiniz bağımlılık türünü seçin.

    Seçtiğiniz bağımlılığın türüne bağlı olarak, bağımlılığı modüle eklemenize yardımcı olan 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ı ekleyebilir, ProGuard dosyaları ekleyebilir, imzalama anahtarları atayabilir ve daha fazlasını yapabilirsiniz.

    Öneriler

    Aşağıda gösterildiği gibi Öneriler bölümünde proje bağımlılıkları için önerilen güncellemelere bakın ve değişkenler oluşturun.

    Yeni Resource Manager

    Resource Manager, uygulamanızdaki kaynakları içe aktarmak, oluşturmak, yönetmek ve kullanmak için kullanabileceğiniz yeni bir araç penceresidir. Menü çubuğundan Görünüm > Araç Pencereleri > Resource Manager'ı seçerek araç penceresini açabilirsiniz. Resource Manager aşağıdakileri yapmanıza imkan sağlar:

    • Kaynakları görselleştirme: İhtiyacınız olan kaynakları hızlı bir şekilde bulmak için çekilebilir kaynakları, renkleri ve düzenleri önizleyebilirsiniz.
    • Toplu içe aktarma: Birden fazla çekilebilir öğeyi aynı anda Resource Manager araç penceresine sürükleyip bırakarak veya Çekilebilirleri içe aktarma sihirbazını kullanarak içe aktarabilirsiniz. Sihirbaza erişmek için araç penceresinin sol üst köşesindeki (+) düğmesini seçin ve ardından açılır menüden Çekilebilir Öğeleri İçe Aktar'ı seçin.
    • SVG'leri VectorDrawable nesnelerine dönüştürme: SVG resimlerinizi VectorDrawable nesnelerine dönüştürmek için Çekilebilir Öğeleri İçe Aktar sihirbazını kullanabilirsiniz.
    • Öğeleri sürükleme ve bırakma: Resource Manager araç penceresinden, çekilebilir yerleri 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üzenlemelerle görselleştirmek için araç penceresinin içindeki 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ın profilini oluştururken ve APK'larda hata ayıklarken derleme kimliklerini kontrol etme

    APK'nızın içindeki .so paylaşılan kitaplıklar için hata ayıklama sembolü dosyaları sağladığınızda Android Studio, sağlanan sembol dosyalarının derleme kimliğinin APK içindeki .so kitaplıklarının derleme kimliğiyle eşleştiğini doğrular.

    APK'nızda yerel kitaplıkları bir derleme kimliğiyle derlerseniz 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 uyuşmazlık varsa simge dosyalarını reddeder. Derleme kimliğiyle derlemediyseniz yanlış sembol dosyaları sağlamak hata ayıklamayla ilgili sorunlara neden olabilir.

    R8 varsayılan olarak etkin

    R8; sudan arındırma, küçültme, karartma, optimize etme ve sıralama işlemlerini tek bir adımda gerçekleştirir. Böylece derleme performansında gözle görülür iyileşmeler elde eder. Android Gradle eklentisi 3.3.0'da kullanıma sunulan R8, artık eklenti 3.4.0 ve üst sürümlerini kullanan uygulama ve Android kitaplığı projelerinde varsayılan olarak etkin.

    Aşağıdaki resimde, R8 kullanıma sunulmadan önceki derleme işlemine üst düzey bir genel bakış sunulmaktadır.

    R8'den önce ProGuard, ayıklama ve şekeri ayıklama işlemlerinden farklı bir derleme adımıydı.

    Artık R8 ile şeker giderme, küçültme, karartma, optimize etme ve dexing (D8) işlemleri aşağıda gösterildiği gibi tek adımda tamamlanır.

    R8'de sudan arındırma, küçültme, karartma, optimize etme 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ı hatırlatmak isteriz. Dolayısıyla, R8'den yararlanmak için muhtemelen herhangi bir işlem yapmanız gerekmeyecektir. Ancak özel olarak Android projeleri için tasarlanmış olan ProGuard'dan farklı bir teknoloji olduğundan, küçültme ve optimizasyon, ProGuard'ın sahip olmadığı kodun kaldırılmasıyla sonuçlanabilir. Dolayısıyla, çok düşük olasılıkla da olsa bu kodu derleme çıkışınızda tutmak için ek kurallar eklemeniz gerekebilir.

    R8'i kullanırken sorun yaşıyorsanız sorununuzun bir çözümü olup olmadığını kontrol etmek için R8 uyumluluğuyla ilgili SSS sayfasını okuyun. Çözüm belgelenmemişse lütfen hata bildiriminde bulunun. Projenizin gradle.properties dosyasına aşağıdaki satırlardan birini 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ünde, uygulama modülünüzün build.gradle dosyasında useProguard öğesini false olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties dosyasında R8'i devre dışı bırakıp bırakmamanızdan bağımsız olarak, R8'i kullanarak uygulamanızın kodunu bu derleme türü için küçültür.

    Gezinme bileşeninin desteklediği tüm bağımsız değişken türleri artık Gezinme Düzenleyicisi'nde desteklenmektedir. Desteklenen türler hakkında daha fazla bilgi için Hedefler arasında veri iletme bölümüne bakın.

    Düzen 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 sayfa halinde basitleştirildi. Özellikler bölmesi aşağıdaki güncellemeleri de içerir:

    • Yeni bir Bildirilen Özellikler bölümü, düzen dosyasının belirlediği özellikleri listeler ve hızlıca yenilerini eklemenize olanak tanır.
    • Özellikler bölmesinde artık her bir özelliğin yanında, özelliğin değeri bir kaynak referansı olduğunda sabit, aksi halde boş olan göstergeler bulunuyor.
    • Hatalı veya uyarılı ö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ı belirtir (örneğin, sabit kodlanmış değerler kullandığınızda).

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

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

    Jetpack, destek kitaplığını yönetimi ve güncellenmesi daha kolay olan ayrı paketler halinde yeniden paketlediğinden bu amaca yönelik işlem, yalnızca kullanmak istediğiniz Jetpack bileşenleri için ihtiyaç duyduğunuz bağımlılıkları hızlıca eklemenize yardımcı olur.

    3.3 (Ocak 2019)

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

    3.3.2 (Mart 2019)

    Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    3.3.1 (Şubat 2019)

    Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir.

    IntelliJ IDEA 2018.2.2

    Temel Android Studio IDE, IntelliJ IDEA'nın 2018.2.2 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.

    Android Gradle eklentisi güncellemeleri

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

    Gezinme Düzenleyici, Gezinme Mimarisi Bileşeni'ni kullanarak uygulamanızda gezinmeyi hızlı bir şekilde görselleştirmenize ve derlemenize olanak tanır.

    Daha fazla bilgi için Gezinme Mimarisi Bileşeni ile gezinme uygulama bölümüne bakın.

    Kullanılmayan Android Studio dizinlerini silin

    Android Studio'nun bir ana sürümünü ilk kez çalıştırdığınızda uygulama, karşılık gelen yüklemenin bulunamadığı Android Studio sürümlerine ilişkin önbellekleri, ayarları, dizinleri ve günlükleri içeren dizinleri arar. Kullanılmayan Android Studio Dizinlerini Sil iletişim kutusu, kullanılmayan bu dizinlerin konumlarını, boyutlarını ve son değiştirilme zamanlarını görüntüler ve onları silme seçeneği sunar.

    Android Studio'nun silinmek üzere değerlendirdiği dizinler aşağıda listelenmiştir:

    • Linux: ~/.AndroidStudio[Preview]X.Y
    • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
    • Windows: %USER%.AndroidStudio[Preview]X.Y

    Lint iyileştirmeleri

    Lint, Gradle'dan çağrıldığında önemli ölçüde daha hızlıdır. Daha büyük projelerde lint dört kata kadar daha hızlı çalışabilir.

    Yeni Proje Oluşturma sihirbazı

    Yeni Proje Oluştur sihirbazı yeni bir görünüme kavuştu ve yeni Android Studio projelerinin oluşturulmasını kolaylaştıran güncellemeler içeriyor.

    Daha fazla bilgi için Proje oluşturma başlıklı makaleyi inceleyin.

    Profiler güncellemeleri

    Android Studio 3.3, bağımsız profil oluşturucuları için güncellemeler içerir.

    Daha yüksek performans

    Kullanıcı geri bildirimleri dikkate alınarak profil oluşturucuları kullanırken oluşturma performansı büyük ölçüde iyileştirildi. Özellikle performans sorunlarıyla karşılaşmaya devam ediyorsanız lütfen geri bildirim sağlamaya devam edin.

    Profiler bellek ayırma izleme seçenekleri

    Profil oluşturma sırasında uygulama performansını iyileştirmek için Bellek Profilcisi artık varsayılan olarak bellek ayırmalarını düzenli olarak örnekliyor. İsterseniz Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran cihazlarda test yaparken Ayırma İzleme açılır listesini kullanarak bu davranışı değiştirebilirsiniz.

    Ayırma İzleme açılır listesini kullanarak aşağıdaki modlar arasından seçim yapabilirsiniz:

    • Full: Tüm nesne belleği ayırmalarını yakalar. Çok sayıda nesne ayıran bir uygulamanız varsa profil oluşturma sırasında önemli performans sorunları görebileceğinizi unutmayın.

    • Örneklenmiş: Nesne bellek ayırmalarının periyodik bir örneğini yakalar. Bu, varsayılan davranıştır ve profil oluşturma sırasında uygulama performansı üzerindeki etkisi daha azdır. Kısa süre içinde çok sayıda nesne ayıran uygulamalarda bazı performans sorunlarıyla karşılaşabilirsiniz.

    • Kapalı: Bellek ayırmayı kapatır. Seçili değilse bu mod, CPU kaydı alınırken otomatik olarak etkinleştirilir ve kayıt sona erdiğinde önceki ayara geri döner. Bu davranışı CPU kayıt yapılandırması iletişim kutusundan değiştirebilirsiniz.

      İzleme işlemi hem Java nesnelerini hem de JNI referanslarını etkiler.

    Çerçeve oluşturma verilerini inceleme

    Artık CPU Profiler'da Java uygulamanızın ana kullanıcı arayüzü iş parçacığında ve RenderThread'de her bir kareyi oluşturması için gereken süreyi inceleyebilirsiniz. Bu veriler, kullanıcı arayüzü duraklaması ve düşük kare hızlarına neden olan performans sorunlarını araştırırken faydalı olabilir. Örneğin, sorunsuz bir kare hızını korumak için gereken 16 ms.den uzun süren her kare kırmızı renkle gösterilir.

    Çerçeve oluşturma verilerini görmek için İzleme Sistemi Çağrıları'nı kullanmanıza olanak tanıyan bir yapılandırma kullanarak iz kaydedin. İzi kaydettikten sonra, aşağıda gösterildiği gibi FRAMES adlı bölümün altında kaydın zaman çizelgesi boyunca her bir kareyle ilgili bilgileri arayın.

    Kare hızı sorunlarını araştırma ve düzeltme hakkında daha fazla bilgi edinmek için Yavaş oluşturma bölümünü okuyun.

    Etkinlik zaman çizelgesindeki parçalar

    Etkinlik zaman çizelgesi artık parçaların ne zaman eklendiğini ve ayrıldığını gösterir. Ayrıca, fareyle bir parçanın üzerine geldiğinizde parçanın durumu ipucu tarafından gösterilir.

    Ağ profil aracındaki bağlantı yükleri için biçimlendirilmiş metni görüntüleme

    Daha önce, Ağ profil aracı yalnızca bağlantı yüklerinden elde edilen ham metni gösteriyordu. Android Studio 3.3 artık JSON, XML ve HTML dahil olmak üzere belirli metin türlerini varsayılan olarak biçimlendiriyor. Yanıt ve İstek sekmelerinde biçimlendirilmiş metni görüntülemek için Ayrıştırılmış Olarak Göster bağlantısını, ham metni görüntülemek için ise Kaynağı Görüntüle bağlantısını tıklayın.

    Daha fazla bilgi için Network Profiler ile ağ trafiğini inceleme bölümüne bakın.

    SDK bileşenlerinin otomatik olarak indirilmesi

    Projenizin SDK platformlarından, NDK veya CMake'den bir SDK bileşenine ihtiyacı olduğunda Gradle artık SDK Yöneticisi'ni kullanarak ilgili lisans sözleşmelerini kabul etmiş olmanız koşuluyla gerekli paketleri otomatik olarak indirmeye çalışır.

    Daha fazla bilgi için Gradle ile eksik paketleri otomatik olarak indirme bölümüne göz atın.

    Clang-Tidy desteği

    Android Studio artık yerel kod içeren projeler için Clang-Tidy kullanan statik kod analizini destekliyor. Clang-Tidy desteğini etkinleştirmek için NDK'nızı r18 veya sonraki bir sürüme güncelleyin.

    Ardından Ayarlar veya Tercihler iletişim kutusunu açıp Düzenleyici > Denetimler > C/C++ > Genel > Clang-Tidy'ye giderek denetimleri etkinleştirebilir veya yeniden etkinleştirebilirsiniz. Ayarlar veya Tercihler iletişim kutusunda bu incelemeyi seçtiğinizde, en sağdaki panelin Option (Seçenek) bölümünün altında etkinleştirilen ve devre dışı bırakılan Clang-Tidy kontrollerinin listesini de görebilirsiniz. Ek kontrolleri etkinleştirmek için bunları listeye ekleyin ve Uygula'yı tıklayın.

    Clang-Tidy'yi ek seçeneklerle yapılandırmak için Clang-Tidy Checks Seçeneklerini Yapılandır'ı tıklayın ve açılan iletişim kutusuna bunları ekleyin.

    C++ özelleştirme seçeneklerinin kaldırılması

    Aşağıdaki seçenekler, C++ Desteğini Özelleştir iletişim kutusundan kaldırıldı:

    • İstisna Desteği (-fexceptions)
    • Çalışma Zamanı Türü Bilgi Desteği (-ftti)

    İlgili davranışlar, Android Studio üzerinden oluşturulan tüm projeler için etkinleştirilir.

    CMake sürüm 3.10.2

    CMake 3.10.2 sürümü artık SDK Yöneticisi'ne dahil edildi. Gradle'ın varsayılan olarak hâlâ 3.6.0 sürümünü kullandığını unutmayın.

    Gradle'ın kullanacağı bir CMake sürümü belirtmek için aşağıdakileri modülünüzün build.gradle dosyasına ekleyin:

        android {
            ...
            externalNativeBuild {
                cmake {
                    ...
                    version "3.10.2"
                }
            }
        }
        
      

    build.gradle ürününde CMake'i yapılandırma hakkında daha fazla bilgi edinmek için Gradle'ı manuel olarak yapılandırma bölümüne bakın.

    Minimum CMake sürümlerini belirtmek için yeni "+" söz dizimi

    Artık ana modülünüzün build.gradle dosyasında CMake'in bir sürümünü belirtirken, CMake cmake_minimum_required() komutunun davranışıyla eşleşme sağlamak için "+" ekleyebilirsiniz.

    Dikkat: Dinamik bağımlılıklar beklenmeyen sürüm güncellemelerine ve sürüm farklılıklarını çözmede zorlanmaya neden olabileceğinden diğer derleme bağımlılıklarıyla "+" söz diziminin kullanılması önerilmez.

    Android App Bundle artık Hazır Uygulamaları destekliyor

    Android Studio artık Google Play Instant için tam destekle Android App Bundle oluşturmanıza olanak tanıyor. Yani artık tek bir Android Studio projesinden hem yüklü uygulama hem de hazır uygulama deneyimleri derleyip dağıtabilir ve bunları tek bir Android App Bundle'a ekleyebilirsiniz.

    Yeni Proje Oluştur iletişim kutusunu kullanarak yeni bir Android Studio projesi oluşturuyorsanız Projenizi yapılandırın > Bu proje hazır uygulamaları destekler seçeneğinin yanındaki kutuyu işaretlediğinizden emin olun. Android Studio daha sonra her zamanki gibi yeni bir uygulama projesi oluşturur, ancak uygulamanızın temel modülüne Hazır uygulama desteğini eklemek için manifest dosyanıza aşağıdaki özellikleri ekler:

        <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
            <dist:module dist:instant="true" />
            ...
        </manifest>
        
      

    Ardından menü çubuğundan Dosya > Yeni > Yeni Modül'ü ve ardından Yeni Modül Oluştur iletişim kutusundan Anında Dinamik Özellik Modülü'nü seçerek hazır uygulama özellikli bir özellik oluşturabilirsiniz. Bu modülü oluşturduğunuzda uygulamanızın temel modülünün anında etkinleştirileceğini de unutmayın.

    Uygulamanızı hazır uygulama deneyimi olarak yerel bir cihaza dağıtmak için çalışma yapılandırmanızı düzenleyin ve Genel > Hazır uygulama olarak dağıt'ın yanındaki kutuyu işaretleyin.

    Tek varyantlı proje senkronizasyonu

    Projenizi derleme yapılandırmanızla senkronize etmek, Android Studio'nun projenizin nasıl yapılandırıldığını anlamasının önemli bir adımıdır. Ancak bu süreç büyük projelerde çok zaman alabilir. Projenizde birden fazla derleme varyantı kullanılıyorsa proje senkronizasyonlarını artık yalnızca seçtiğiniz varyantla sınırlandırarak optimize edebilirsiniz.

    Bu optimizasyonu etkinleştirmek için Android Gradle eklentisi 3.3.0 veya sonraki sürümleriyle Android Studio 3.3 veya sonraki bir sürümünü kullanmanız gerekir. Bu gereksinimleri karşıladığınızda IDE, projenizi senkronize ederken bu optimizasyonu etkinleştirmenizi ister. Optimizasyon yeni projelerde de varsayılan olarak etkindir.

    Bu optimizasyonu manuel olarak etkinleştirmek için Dosya > Ayarlar > Deneysel > Gradle'ı (Mac'te Android Studio > Tercihler > Deneysel > Gradle) tıklayın ve Yalnızca etkin varyantı senkronize et onay kutusunu işaretleyin.

    Not: Bu optimizasyon şu anda yalnızca Java programlama dilini içeren projeleri desteklemektedir. Örneğin, IDE, projenizde Kotlin veya C++ kodu algılarsa bu optimizasyonu otomatik olarak etkinleştirmez ve manuel olarak etkinleştirmemeniz gerekir.

    Daha fazla bilgi için Tek varyantlı proje senkronizasyonunu etkinleştirme bölümüne bakın.

    Hızlı geri bildirim sağlama

    Android Studio'nun geliştirilmesine yardımcı olmak için kullanım istatistiklerini paylaşmayı etkinleştirdiyseniz IDE penceresinin alt kısmındaki durum çubuğunda şu iki yeni simgeyi görürsünüz:

    Mevcut IDE deneyiminizi en iyi yansıtan simgeyi tıklamanız yeterlidir. Bunu yaptığınızda IDE, Android Studio ekibinin duygularınızı daha iyi anlamasına olanak tanıyan kullanım istatistiklerini gönderir. Bazı durumlarda, örneğin IDE'de olumsuz bir deneyim yaşadığınızı belirttiğinizde ek geri bildirim sağlama fırsatınız olur.

    Henüz yapmadıysanız Mac'te Ayarlar iletişim kutusunu Tercihler'i açıp, Görünüm ve Davranış > Sistem Ayarları > Veri Paylaşımı'na gidip Kullanım istatistiklerini Google'a gönder'i işaretleyerek kullanım istatistiklerini paylaşmayı etkinleştirebilirsiniz.

    3.2 (Eylül 2018)

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

    3.2.1 (Ekim 2018)

    Bu Android Studio 3.2 güncellemesi, aşağıdaki değişiklikleri ve düzeltmeleri içerir:

    • Paket halinde sunulan Kotlin sürümü artık 1.2.71.
    • Varsayılan derleme araçları sürümü artık 28.0.3'tür.
    • Gezinme kitaplığında, type olan bağımsız değişken türleri argType olarak yeniden adlandırıldı.
    • Aşağıdaki hatalar düzeltildi:
      • Data Binding kitaplığı kullanılırken alt çizgili değişken adları derleme hatalarına neden oluyordu.
      • CMake, IntelliSense ve diğer CLion özelliklerinin başarısız olmasına neden oluyordu.
      • SliceProvider eklemek, androidx.* kitaplığı kullanmayan projelerde derleme hatalarına neden oluyordu.
      • Bazı Kotlin birim testleri çalıştırılmıyor.
      • Veri bağlamayla ilgili bir sorun nedeniyle PsiInvalidElementAccessException oluştu.
      • <merge> öğeleri bazen Düzen Düzenleyici'nin kilitlenmesine neden oluyordu.

    3.2.0 ile ilgili bilinen sorunlar

    Not: Bu sorunlar, Android Studio 3.2.1 sürümünde çözülmüştür

    • Kotlin 1.2.70 sürümünü kullanmamanızı önemle tavsiye ederiz.

      Kotlin 1.2.61 sürümü, Android Studio'nun takılmasına neden olabilecek bir hatayı düzeltir ancak Kotlin 1.2.70 bu düzeltmeyi içermez.

      Ancak Kotlin 1.2.71 ve sonraki sürümleri bu düzeltmeyi içerir.

    • Genellikle derleme araçları sürümünü belirtmeniz gerekmese de, Android Gradle eklentisi 3.2.0'ı renderscriptSupportModeEnabled true değerine ayarlı olarak kullanırken, her bir modülün build.gradle dosyasına aşağıdakileri eklemeniz gerekir:

      android.buildToolsVersion "28.0.3"

    Asistan'daki Yenilikler

    Yeni asistan, Android Studio'daki son değişiklikler hakkında sizi bilgilendirir.

    Asistan, yeni bir yükleme veya güncellemeden sonra, gösterilecek yeni bilgiler olduğunu algılarsa Android Studio'yu başlattığınızda açılır. Asistanı, Yardım > Android Studio'daki yenilikler'i seçerek de açabilirsiniz.

    Android Jetpack

    Android Jetpack, tekrar eden görevleri ortadan kaldıran ve yüksek kaliteli, test edilebilir uygulamaları daha hızlı ve kolay bir şekilde geliştirmenizi sağlayan bileşenler, araçlar ve rehberlikle Android'in gelişimini hızlandırmaya yardımcı olur. Android Studio, Jetpack'i desteklemek için aşağıdaki güncellemeleri içerir. Daha fazla bilgi için Jetpack dokümanlarına bakın.

    Yeni Gezinme Düzenleyicisi, uygulamanızın gezinme yapısını oluştururken grafiksel bir görünüm sağlamak için Android Jetpack'in gezinme bileşenleriyle entegre olur. Gezinme Düzenleyicisi, uygulama içi hedefler arasında gezinmenin tasarımını ve uygulanmasını kolaylaştırır.

    Android Studio 3.2'de, Gezinme Düzenleyicisi deneysel bir özelliktir. Gezinme Düzenleyici'yi etkinleştirmek için Dosya > Ayarlar'ı (Mac'te Android Studio > Tercihler) tıklayın, sol bölmeden Deneysel kategorisini seçin, Gezinme Düzenleyicisini Etkinleştir'in yanındaki kutuyu işaretleyin ve Android Studio'yu yeniden başlatın.

    Daha fazla bilgi edinmek için Gezinme Düzenleyici belgelerini okuyun.

    AndroidX taşıma

    Jetpack'in bir parçası olarak, androidx ad alanını kullanarak Android Destek Kitaplıklarını yeni bir Android uzantı kitaplığına taşıyoruz. Daha fazla bilgi için AndroidX'e genel bakış konusuna bakın.

    Android Studio 3.2, yeni taşıma özelliğiyle bu süreçte size yardımcı olur.

    Mevcut bir projeyi AndroidX'e taşımak için Yeniden düzenle > AndroidX'e taşı'yı seçin. AndroidX ad alanına taşınmamış Maven bağımlılıkları varsa Android Studio derleme sistemi ayrıca bu proje bağımlılıklarını da otomatik olarak dönüştürür.

    Android Gradle eklentisi, gradle.properties dosyanızda ayarlayabileceğiniz şu genel işaretleri sağlar:

    • android.useAndroidX: true olarak ayarlandığında bu işaret, artık AndroidX'i kullanmaya başlamak istediğinizi belirtir. İşaret yoksa Android Studio, bayrak false olarak ayarlanmış gibi davranır.
    • android.enableJetifier: true olarak ayarlandığında bu işaret, mevcut üçüncü taraf kitaplıkları AndroidX için yazılmış gibi otomatik olarak dönüştürmek amacıyla (Android Gradle eklentisinden) araç desteği almak istediğinizi belirtir. İşaret yoksa Android Studio, bayrak false seçeneğine ayarlanmış gibi davranır.

    Migrate to AndroidX (AndroidX'e Taşı) komutunu kullandığınızda her iki işaret de true olarak ayarlanır.

    AndroidX kitaplıklarını hemen kullanmaya başlamak istiyorsanız ve mevcut üçüncü taraf kitaplıkları dönüştürmeniz gerekmiyorsa android.useAndroidX işaretini true ve android.enableJetifier işaretini false olarak ayarlayabilirsiniz.

    Android App Bundle

    Android App Bundle, uygulamanızın tüm derlenmiş kodunu ve kaynaklarını içeren yeni bir yükleme biçimidir ancak APK oluşturmayı ve Google Play Store'da imzalamayı erteler.

    Google Play'in yeni uygulama sunma modeli, uygulama paketinizi kullanarak her kullanıcının cihaz yapılandırmasına göre optimize edilmiş APK'lar oluşturur ve sunar. Böylece her kullanıcı yalnızca uygulamanızı çalıştırmak için ihtiyaç duyduğu kod ve kaynakları indirir. Artık birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Kullanıcılar daha küçük ve daha optimize edilmiş indirmeler elde ederler.

    Ayrıca, uygulama projenize özellik modülleri ekleyebilir ve bunları uygulama paketinize dahil edebilirsiniz. Daha sonra kullanıcılarınız uygulamanızın özelliklerini isteğe bağlı olarak indirip yükleyebilir.

    Paket oluşturmak için Derleme > Derleme Paketleri / APK'lar > Derleme Paketleri'ni seçin.

    Android App Bundle oluşturma ve analiz etme talimatları da dahil olmak üzere daha fazla bilgi için Android App Bundle bölümüne bakın.

    Düzen Düzenleyici'de örnek veriler

    Birçok Android düzeni, uygulama geliştirmenin tasarım aşamasında bir düzenin görünümünün ve tarzının görselleştirilmesini zorlaştırabilecek çalışma zamanı verilerine sahiptir. Artık Düzen Düzenleyici'de görünümünüzün örnek verilerle doldurulan bir önizlemesini kolayca görebilirsiniz. Bir görünüm eklediğinizde, Tasarım penceresindeki görünümün altında bir düğme görünür. Tasarım zamanı görünümü özelliklerini ayarlamak için bu düğmeyi tıklayın. Çeşitli örnek veri şablonları arasından seçim yapabilir ve görünümün doldurulacağı örnek öğe sayısını belirtebilirsiniz.

    Örnek verileri kullanmayı denemek için yeni düzene RecyclerView ekleyin, görünümün altındaki tasarım zamanı özellikleri düğmesini tıklayın ve örnek veri şablonları bandından bir seçim yapın.

    Dilimler

    Dilimler, uygulamanızın işlevlerinden bazı bölümleri Android'deki diğer kullanıcı arayüzü yüzeylerine yerleştirmek için yeni bir yol sunar. Örneğin, Dilimler, Google Arama önerilerinde uygulama işlevselliğinin ve içeriğinin gösterilmesini mümkün kılar.

    Android Studio 3.2'de, uygulamanızı yeni Dilim Sağlayıcı API'leriyle genişletmenize yardımcı olacak yerleşik bir şablon ve Dilimleri oluştururken en iyi uygulamaları izlediğinizden emin olmanızı sağlayan yeni lint denetimleri bulunur.

    Başlamak için bir proje klasörünü sağ tıklayın ve New (Yeni) > Other (Diğer) > Slice Provider'ı (Dilim Sağlayıcı) seçin.

    Dilim etkileşimlerinizi nasıl test edeceğiniz de dahil olmak üzere daha fazla bilgi edinmek için Dilimler başlangıç kılavuzunu okuyun.

    Kotlin 1.2.61

    Android Studio 3.2, Kotlin 1.2.61'i içerir. Yeni Android SDK ise Kotlin ile daha iyi entegre olur. Daha fazla bilgi için Android Geliştiricileri bloguna bakın.

    IntelliJ IDEA 2018.1.6

    Temel Android Studio IDE, IntelliJ IDEA'nın 2018.1.6 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.

    Android profil araçları

    Android Studio 3.2'de aşağıdaki yeni Android Profiler özelliklerini deneyin.

    Oturumlar

    Daha sonra tekrar incelemek ve incelemek için Profiler verilerini oturumlar olarak kaydedebilirsiniz. Profil oluşturucu, siz IDE'yi yeniden başlatana kadar oturum verilerinizi saklar.

    Bir yöntem izi kaydettiğinizde veya yığın dökümü yakaladığınızda IDE bu verileri (uygulamanızın ağ etkinliğiyle birlikte) geçerli oturuma ayrı bir giriş olarak ekler. Böylece verileri karşılaştırmak için kayıtlar arasında kolayca geçiş yapabilirsiniz.

    Sistem İzleme

    Cihazınızın sistem CPU ve iş parçacığı etkinliğini incelemek için CPU Profiler'da (CPU Profiler) yeni System Trace yapılandırmasını seçin. Bu iz yapılandırması, systrace üzerine kurulmuştur ve kullanıcı arayüzü olumsuzluğu gibi sistem düzeyindeki sorunları incelemek için yararlıdır.

    Bu iz yapılandırmasını kullanırken C/C++ kodunuzu yerel tracing API veya Java kodunuzla Trace sınıfıyla birleştirerek profil oluşturucu zaman çizelgesindeki önemli kod rutinlerini görsel olarak işaretleyebilirsiniz.

    Bellek Profil Aracı'nda JNI referanslarını inceleme

    Uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihaza dağıtıyorsanız artık uygulamanızın JNI kodu için bellek ayırmalarını Bellek Profil Aracı'nı kullanarak inceleyebilirsiniz.

    Uygulamanız çalışırken, zaman çizelgesinin incelemek istediğiniz bölümünü seçin ve aşağıda gösterildiği gibi, sınıf listesinin üzerindeki açılır menüden JNI yığını seçeneğini belirleyin. Daha sonra, yığındaki nesneleri normalde yaptığınız gibi inceleyebilir ve JNI referanslarının kodunuzda nerede ayrıldığını ve serbest bırakıldığını görmek için Ayırma Çağrı Yığını sekmesinde nesneleri çift tıklayabilirsiniz.

    Bellek yığın döküm dosyalarını içe aktarma, dışa aktarma ve inceleme

    Artık Bellek Profil Aracı ile oluşturulan .hprof bellek yığın dökümü dosyalarını içe aktarabilir, dışa aktarabilir ve inceleyebilirsiniz.

    Profil oluşturucunun Oturumlar bölmesinde Yeni profil aracı oturumu başlat öğesini tıklayıp Dosyadan yükle'yi seçerek .hprof dosyanızı içe aktarın. Ardından, diğer yığın dökümlerinde olduğu gibi Bellek Profil Aracı'nda verilerini inceleyebilirsiniz.

    Yığın dökümü verilerini daha sonra incelemek üzere kaydetmek için Oturumlar bölmesindeki Yığın Dökümü girişinin sağ tarafında bulunan Yığın Dökümünü Dışa Aktar düğmesini kullanın. Açılan Farklı Dışa Aktar iletişim kutusuna, dosyayı .hprof dosya adı uzantısıyla kaydedin.

    Uygulama başlatılırken CPU etkinliğini kaydedin

    Artık uygulamanızın başlatılması sırasında CPU etkinliğini aşağıdaki şekilde kaydedebilirsiniz:

    1. Ana menüden Çalıştır > Yapılandırmaları Düzenle'yi seçin.
    2. İstediğiniz çalıştırma yapılandırmasının Profil oluşturma sekmesinde Başlangıçta bir yöntem izlemeyi kaydetmeye başla seçeneğinin yanındaki kutuyu işaretleyin.
    3. Açılır menüden kullanılacak bir CPU kayıt yapılandırması seçin.
    4. Çalıştır > Profil'i seçerek uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihaza dağıtın.
    CPU izlerini dışa aktar

    CPU Profiler ile CPU etkinliğini kaydettikten sonra verileri başkalarıyla paylaşmak veya daha sonra incelemek üzere .trace dosyası olarak dışa aktarabilirsiniz.

    CPU etkinliğini kaydettikten sonra bir izi dışa aktarmak için aşağıdakileri yapın:

    1. CPU zaman çizelgesinden dışa aktarmak istediğiniz kaydı sağ tıklayın.
    2. Açılır menüden İzlemeyi dışa aktar'ı seçin.
    3. Dosyayı kaydetmek istediğiniz yere gidin ve Kaydet'i tıklayın.
    CPU izleme dosyalarını içe aktarma ve denetleme

    Artık Debug API veya CPU Profiler ile oluşturulan .trace dosyalarını içe aktarabilir ve inceleyebilirsiniz. (Şu anda Sistem İzleme kayıtlarını içe aktaramazsınız.)

    Profil oluşturucunun Oturumlar bölmesinde Yeni profil oluşturucu oturumu başlat tıklayıp Dosyadan yükle'yi seçerek izleme dosyanızı içe aktarın. Daha sonra, verileri aşağıdaki istisnalarla, CPU Profiler'da normalde yaptığınız gibi inceleyebilirsiniz:

    • CPU etkinliği, CPU zaman çizelgesinde temsil edilmez.
    • İş parçacığı etkinliği zaman çizelgesi, yalnızca her iş parçacığı için iz verilerinin nerede bulunduğunu ve gerçek iş parçacığı durumlarını (çalışıyor, bekleme veya uyku gibi) değil, nerede bulunduğunu gösterir.
    Debug API'yi kullanarak CPU etkinliğini kaydetme

    Artık uygulamanıza Debug API'yi kullanarak araç ekleyerek CPU Profiler'da CPU etkinliğini kaydetmeyi başlatabilir ve durdurabilirsiniz. Uygulamanızı bir cihaza dağıttıktan sonra, uygulamanız startMethodTracing(String tracePath) çağrısı yaptığında profil oluşturucu otomatik olarak CPU etkinliğini kaydetmeye başlar ve uygulamanız stopMethodTracing() çağrısı yaptığında profil oluşturucu kaydı durdurur. Bu API kullanılarak tetiklenen CPU etkinliğini kaydederken CPU Profiler, seçilen CPU kayıt yapılandırması olarak Debug API'yi gösterir.

    Enerji Profil Aracı

    Enerji Profil Aracı, uygulamanızın tahmini enerji kullanımının yanı sıra uyanık kalma kilitleri, alarmlar ve işler gibi enerji kullanımını etkileyen sistem olaylarının görselini gösterir.

    Uygulamanızı Android 8.0 (API 26) veya sonraki sürümleri çalıştıran bağlı bir cihazda ya da Android Emülatör'de çalıştırdığınızda Enerji Profil Aracı, Profiler penceresinin alt kısmında yeni bir satır olarak görünür.

    Enerji Profil Aracı görünümünü en üst düzeye çıkarmak için Enerji satırını tıklayın. Alakalı sistem etkinliklerinin yanı sıra CPU, ağ ve konum (GPS) kaynaklarına göre enerji kullanımının dökümünü görmek için fare imlecinizi zaman çizelgesindeki bir çubuğun üzerine getirin.

    Enerji kullanımını etkileyen sistem etkinlikleri, Enerji zaman çizelgesinin altında Sistem zaman çizelgesinde gösterilir. Enerji zaman çizelgesinde bir zaman aralığı seçtiğinizde, belirtilen zaman aralığındaki sistem etkinliklerinin ayrıntıları etkinlik bölmesinde gösterilir.

    Çağrı yığınını ve bir sistem etkinliğinin diğer ayrıntılarını (ör. uyanık kalma kilidi) görmek için etkinlik bölmesinde bunu seçin. Bir sistem etkinliğinden sorumlu koda gitmek için çağrı yığınındaki girişi çift tıklayın.

    Hata analizi

    Android Studio 3.2, lint denetimi için pek çok yeni ve iyileştirilmiş özellik içerir.

    Yeni lint denetimleri, olası kullanılabilirlik sorunlarıyla ilgili uyarılardan olası güvenlik açıklarıyla ilgili yüksek öncelikli hatalara kadar yaygın kod sorunlarını bulup tanımlamanıza yardımcı olur.

    Lint, Java/Kotlin birlikte çalışabilirliğini kontrol eder

    Java kodunuzun Kotlin kodunuzla iyi bir şekilde birlikte çalıştığından emin olmak için yeni lint denetimleri, Kotlin Birlikte Çalışma Kılavuzu'nda açıklanan en iyi uygulamaları zorunlu kılar. Nullability ek açıklamalarının varlığını arama, Kotlin sabit anahtar kelimelerinin kullanımı ve lambda parametrelerinin en son yerleştirilmesi bu kontrollere örnek verilebilir.

    Bu kontrolleri etkinleştirmek için Dosya > Ayarlar'ı (Mac'te Ayarlar iletişim kutusunu açmak üzere Android Studio > Tercihler) tıklayın, Düzenleyici > Denetimler > Android > Lint > Birlikte Çalışabilirlik > Kotlin Birlikte Çalışabilirlik bölümüne gidin ve etkinleştirmek istediğiniz kuralları seçin.

    Komut satırı derlemelerinde bu denetimleri etkinleştirmek için build.gradle dosyanıza aşağıdakileri ekleyin:

            android {
                lintOptions {
                    check 'Interoperability'
                }
            }
            
          
    Dilimler için hata analizi denetimleri

    Dilimler için yeni hata analizi denetimleri, Dilimleri doğru şekilde oluşturduğunuzdan emin olmanıza yardımcı olur. Örneğin, lint kontrolleri bir Dilime birincil işlem atamadıysanız sizi uyarır.

    Yeni Gradle hedefi

    Hata analizi denetimi tarafından önerilen tüm güvenli düzeltmeleri doğrudan kaynak koduna uygulamak için yeni lintFix Gradle görevini kullanın. Uygulanması gereken güvenli bir düzeltmeyi öneren hata analizi kontrolüne örnek olarak SyntheticAccessor verilebilir.

    Meta veri güncellemeleri

    Hizmet yayın kontrolü gibi çeşitli meta veriler, lint denetimlerinin Android 9 (API düzeyi 28) ile çalışması için güncellendi.

    Yeni bir varyantta lint çalıştırılıyorsa uyarı

    Lint artık bir referans değerin hangi varyant ve sürümle birlikte kaydedildiğini kaydeder ve referansın oluşturulduğu varyanttan farklı bir varyantta çalıştırırsanız lint sizi uyarır.

    Mevcut hata analizi kontrollerinde iyileştirmeler

    Android Studio 3.2, mevcut lint kontrollerine yönelik birçok iyileştirme içerir. Örneğin, kaynak döngüsü kontrolleri artık ek kaynak türlerine uygulanır ve çeviri algılayıcı, düzenleyicide eksik çevirileri anında bulabilir.

    Sorun kimlikleri daha kolay bulunabilir

    Sorun kimlikleri artık İnceleme Sonuçları penceresi de dahil olmak üzere daha fazla yerde gösterilmektedir. Bu, build.gradle içindeki lintOptions aracılığıyla belirli kontrolleri etkinleştirmek veya devre dışı bırakmak için ihtiyacınız olan bilgileri bulmanızı kolaylaştırır.

    Daha fazla bilgi için Gradle ile lint seçeneklerini yapılandırma bölümüne bakın.

    Veri Bağlama V2

    Veri Bağlama V2 artık varsayılan olarak etkin ve V1 ile uyumludur. Diğer bir deyişle, V1 ile derlediğiniz kitaplık bağımlılıkları varsa bunları Data Binding V2 kullanarak projelerle kullanabilirsiniz. Ancak V1 kullanan projelerin V2 ile derlenen bağımlılıkları tüketemeyeceğini unutmayın.

    D8 şekerden arındırma

    Android Studio 3.1'de, şeker giderme adımını deneysel bir özellik olarak D8 aracına entegre ederek genel derleme süresini kısalttık. Android Studio 3.2'de, D8 ile şeker giderme varsayılan olarak açıktır.

    Yeni kod küçültücü

    R8, ProGuard'ın yerini alan yeni bir kod küçültme ve kod karartma aracıdır. Projenizin gradle.properties dosyasına aşağıdakileri ekleyerek R8'in önizleme sürümünü kullanmaya başlayabilirsiniz:

          android.enableR8 = true
        

    Çoklu APK'lar için varsayılan ABI'ler değiştirildi

    Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluştururken eklenti artık varsayılan olarak şu ABI'ler için APK oluşturmaz: mips, mips64 ve armeabi.

    Bu ABI'leri hedefleyen APK'lar oluşturmak isterseniz NDK r16b veya daha düşük bir kullanmanız ve ABI'leri aşağıda gösterildiği gibi build.gradle dosyanızda belirtmeniz gerekir:

        splits {
            abi {
                include 'armeabi', 'mips', 'mips64'
                ...
            }
        }
        
        splits {
            abi {
                include("armeabi", "mips", "mips64")
                ...
            }
        }
        

    Not: Bu davranış değişikliği, Android Studio 3.1 RC1 ve sonraki sürümlere de dahil edilmiştir.

    CMake derleme dosyaları için gelişmiş düzenleyici özellikleri

    Projenize C ve C++ kodu eklemek için CMake'i kullanıyorsanız Android Studio artık CMake derleme komut dosyalarınızı düzenlemenize yardımcı olacak aşağıdaki gibi iyileştirilmiş düzenleyici özellikleri içeriyor:

    • Söz dizimi vurgulama ve kod tamamlama: IDE artık yaygın CMake komutları için kod tamamlamayı vurgulayıp öneriyor. Ayrıca, Ctrl tuşuna (Mac'te Command) basarken dosyayı tıklayarak da ilgili dosyaya gidebilirsiniz.
    • Kodu yeniden biçimlendirme: Artık kod stillerini CMake derleme komut dosyalarınıza uygulamak için IntelliJ'in kod yeniden biçimlendirme seçeneğini kullanabilirsiniz.
    • Güvenli bir şekilde yeniden düzenleme: IDE'nin yerleşik yeniden düzenleme araçları artık CMake derleme komut dosyalarınızda referans verdiğiniz dosyaları yeniden adlandırıp adlandırmadığınızı da kontrol eder.

    Android Studio'nun önceki sürümlerinde Proje penceresini kullanırken yalnızca yerel bir projeden oluşturduğunuz kitaplıklara ait başlık dosyalarında gezinebiliyor ve bunları inceleyebiliyordunuz. Bu sürümle, artık uygulama projenize aktardığınız harici C/C++ kitaplığı bağımlılıklarına dahil olan başlık dosyalarını da görüntüleyebilir ve inceleyebilirsiniz.

    Projenize C/C++ kodunu ve kitaplıklarını zaten eklediyseniz ana menüden Görünüm > Araç Pencereleri > Proje'yi ve açılır menüden Android'i seçerek IDE'nin sol tarafındaki Proje penceresini açın. cpp dizininde uygulama projenizin kapsamındaki tüm başlıklar, aşağıda gösterildiği gibi yerel C/C++ kitaplığı bağımlılıklarınızın her biri için include düğümü altında düzenlenir.

    Yerel çokludex varsayılan olarak etkin

    Android Studio'nun önceki sürümleri, bir uygulamanın hata ayıklama sürümünü Android API düzeyi 21 veya üstünü çalıştıran bir cihaza dağıtırken yerel multidex'i etkinleştiriyordu. Artık ister bir cihaza dağıtım yapıyor ister yayınlanmak üzere bir APK oluşturuyor olun, Gradle için Android eklentisi minSdkVersion=21 veya daha yüksek bir değere ayarlanmış tüm modüller için yerel multidex'i etkinleştirir.

    AAPT2, Google'ın Maven deposuna taşındı

    Android Studio 3.2'den itibaren AAPT2 (Android Öğe Paketleme Aracı 2) kaynağı Google'ın Maven deposudur.

    AAPT2'yi kullanmak için aşağıda gösterildiği gibi build.gradle dosyanızda google() bağımlılığı olduğundan emin olun:

        buildscript {
            repositories {
                google() // here
                jcenter()
            }
            dependencies {
                classpath 'com.android.tools.build:gradle:3.2.0'
            }
        }
        allprojects {
            repositories {
                google() // and here
                jcenter()
            }
        }
        
        buildscript {
            repositories {
                google() // here
                jcenter()
            }
            dependencies {
                classpath("com.android.tools.build:gradle:3.2.0")
            }
        }
        allprojects {
            repositories {
                google() // and here
                jcenter()
            }
        }
        

    AAPT2'nin yeni sürümü, Windows'da ASCII olmayan karakterlerin daha iyi işlenmesi dahil olmak üzere birçok sorunu giderir.

    İsteğe bağlı yapılandırmanın kaldırılması

    İsteğe bağlı yapılandırma tercihi Android Studio'dan kaldırıldı.

    Android Studio artık --configure-on-demand bağımsız değişkenini Gradle'a iletmez.

    ADB Bağlantı Asistanı

    Yeni ADB Connection Assistant, Android Debug Bridge (ADB) bağlantısı üzerinden cihaz kurup kullanmanıza yardımcı olacak adım adım talimatlar sağlar.

    Asistanı başlatmak için Araçlar > Bağlantı Asistanı'nı seçin.

    ADB Connection Assistant; Asistan panelindeki bir dizi sayfada talimatlar, bağlam içi denetimler ve bağlı cihazların bir listesini sağlar.

    Emülatör iyileştirmeleri

    Artık Android Emulator'da bir AVD'nin (Android sanal cihazı) anlık görüntülerini istediğiniz zaman kaydedip yükleyebilirsiniz. Böylece, emüle edilmiş bir cihazı test için bilinen bir duruma hızlıca ve kolayca geri döndürebilirsiniz. AVD Yöneticisi'ni kullanarak bir AVD'yi düzenlediğinizde, AVD başladığında hangi AVD anlık görüntüsünün yükleneceğini belirleyebilirsiniz.

    AVD anlık görüntülerini kaydetme, yükleme ve yönetme denetimleri artık emülatörün Genişletilmiş denetimler penceresindeki Anlık Görüntüler sekmesinde bulunmaktadır.

    Ayrıntılar için Anlık görüntüler başlıklı makaleye bakın.

    Emülatördeki yenilikler ve değişiklikler hakkında daha fazla bilgi için Emülatör sürüm notlarına bakın.

    3.1 (Mart 2018)

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

    3.1.4 (Ağustos 2018)

    Bu Android Studio 3.1 güncellemesi, aşağıdaki değişiklikleri ve düzeltmeleri içerir:

    • Paket halinde sunulan Kotlin'in 1.2.50 sürümü yayınlandı.
    • Yeni projeler, kullanımdan kaldırılan kotlin-stdlib-jre* yapıları yerine kotlin-stdlib-jdk* artifacts ile oluşturulur.
    • ProGuard kurallarının R8 ayrıştırması iyileştirildi.
    • Aşağıdaki hatalar düzeltildi:
      • Kotlin Ana sınıfını çalıştırma denemesi bir hata nedeniyle başarısız oldu: "Error: Could not find or load main class..."
      • R8, belirli optimizasyonlar gerçekleştirirken sonsuz döngüye girdi.
      • Çalıştır penceresindeki Başarısız testleri yeniden çalıştır komutunun kullanılması bazen yanlışlıkla "Test bulunamadı" mesajının döndürülmesine neden oluyordu.
      • D8, invoke-virtual örneği doğru şekilde işlemediği için VerifyError ile kilitlenmeye neden oldu: invoke-super/virtual can't be used on private method
      • Data Binding derleyicisi, com.android.tools:annotations tarayıcısının eski bir sürümüne bağlıydı. Derleyici artık mevcut olduğunda temel projedeki araç ek açıklamalarını kullanıyor.
      • Profil oluşturucuları kullanılırken parça geçişleri sırasında Android Studio çöktü.
      • Hata ayıklayıcı, metin kutusu bulunan bir düzende hata ayıklarken kilitlendi.
      • D8, özel karakterler içeren bazı ZIP dosyalarını okuyamadı.

    3.1.3 (Haziran 2018)

    Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hataların düzeltmelerini içerir:

    • Bellek sızıntıları, Düzen Düzenleyici'yi kullandıktan sonra Android Studio'nun yavaş olmasına ve yanıt vermemesine neden oldu. Bu güncelleme, bu sorunların çoğuna yönelik düzeltmeleri içerir. Ek bellek sızıntılarını gidermek için yakında başka bir güncelleme yayınlamayı planlıyoruz.
    • D8 ile oluşturulan bazı uygulamalar, bazı Verizon Ellipsis tabletlerinde kilitlendi.
    • D8 ile oluşturulan uygulamaların yüklenmesi, Android 5.0 veya 5.1 (API düzeyi 21 veya 22) çalıştıran cihazlarda INSTALL_FAILED_DEXOPT hatası vererek başarısız oldu.
    • OkHttp kitaplığını kullanan ve D8 ile oluşturulan bazı uygulamalar, Android 4.4 (API düzeyi 19) çalıştıran cihazlarda kilitlendi.
    • Android Studio bazen com.intellij.psi.jsp.JspElementType için sınıf ilk kullanıma hazırlanırken ProcessCanceledException ile başlanamıyordu.

    3.1.2 (Nisan 2018)

    Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hataların düzeltmelerini içerir:

    • Bazı durumlarda, Android Studio çıkış sırasında süresiz olarak askıda kalmıştır.
    • Anında Çalıştırma etkinken kaynak kümeleri ile yapılandırılan derlemeler aşağıdaki mesajla başarısız oluyordu:

      "The SourceSet name is not recognized by the Android Gradle Plugin."

    • Anında Çalıştırma etkinleştirildiğinde, yeni Kotlin projelerinin derlemeleri Çalıştır komutu ile tetiklendiğinde başarısız oluyordu.
    • build.gradle dosyası düzenlenirken bazen bir karakterin yazılması ile ekranda görünmesi arasında fark edilir bir gecikme oluyordu.
    • Çok sayıda modül veya harici bağımlılığa sahip bazı projelerde sıralama işlemi sırasında aşağıdaki hata mesajıyla birlikte derleme hataları oluştu:

      "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

    • D8 ana DEX listesi hesaplanırken bazı yansıtıcı çağrılar dikkate alınmamıştır.

    Bu güncelleme, bazı senaryolarda Gradle'dan lint kontrollerini çalıştırmayı çok daha hızlı hale getiren değişiklikleri de içerir.

    3.1.1 (Nisan 2018)

    Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hataların düzeltmelerini içerir:

    • Bazı durumlarda, Android Studio 3.0'da oluşturulan bir proje Android Studio 3.1'de ilk kez açıldığında, Gradle-aware Make görevi Çalıştırma/Hata Ayıklama Yapılandırmaları'ndaki Lansmandan önce alanından kaldırılmıştır. Sonuçta, Çalıştır veya Hata Ayıkla düğmesi tıklandığında projelerin oluşturulmaması sonucunda yanlış APK'ların dağıtılması ve Anında Çalıştırma kullanılırken kilitlenmeler gibi hatalar ortaya çıkmıştır.

      Android Studio 3.1.1, bu sorunu çözmek için bu girişin eksik olduğu projelerin çalıştırma yapılandırmasına Gradle-aware Make görevini ekler. Bu değişiklik, proje yüklendiğinde ilk Gradle senkronizasyonundan sonra gerçekleşir.

    • Gelişmiş profil oluşturma etkinse hata ayıklayıcı, metin kutusu içeren bir düzende hata ayıklarken çöküyordu.
    • Varyant Oluştur'u tıklamanızdan sonra Android Studio dondu.
    • AAR (Android arşivi) dosyaları bir kez Gradle senkronizasyonu işlemi ve bir kez de Gradle derleme işlemi sırasında olmak üzere iki kez çıkartıldı.
    • SVG dosyalarından içe aktarılan bazı vektör çekilebilir öğelerinde öğeler eksikti.
    • compile bağımlılık yapılandırmasının kullanımdan kaldırılmasıyla ilgili uyarı, implementation ve api yapılandırmalarıyla ilgili daha iyi rehberlik içerecek şekilde güncellendi. compile yapılandırmasını kullanmayı bırakmayla ilgili ayrıntılar için yeni bağımlılık yapılandırmalarıyla ilgili belgelere göz atın.

    Kodlama/IDE

    IntelliJ 2017.3.3

    Temel Android Studio IDE, IntelliJ IDEA'nın 2017.3.3 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir. İyileştirmeler arasında koleksiyonlar ve dizeler için daha iyi kontrol akışı analizi, iyileştirilmiş boş değer çıkarımı, yeni hızlı düzeltmeler ve çok daha fazlası bulunur.

    Ayrıntılı bilgi için IntelliJ IDEA'nın 2017.2 ve 2017.3 sürümleriyle ilgili JetBrains sürüm notlarına ve hata düzeltmesi güncellemeleri ile ilgili JetBrains sürüm notlarına göz atın.

    Room ile SQL düzenlemede iyileştirmeler

    Oda veritabanı kitaplığını kullandığınızda SQL düzenlemede yapılan çeşitli iyileştirmelerden yararlanabilirsiniz:

    • Query içinde kod tamamlama SQL tablolarını (varlıklar), sütunları, sorgu parametrelerini, takma adları, birleştirmeleri, alt sorguları ve WITH yan tümcelerini anlar.
    • SQL söz dizimi vurgulaması artık çalışıyor.
    • SQL'de bir tablo adını sağ tıklayıp yeniden adlandırabilirsiniz. Bu işlem, karşılık gelen Java veya Kotlin kodunu da (örneğin, sorgunun döndürülen türü dahil) yeniden yazar. Yeniden adlandırma işlemi ters yönde de çalışır. Bu nedenle, bir Java sınıfının veya alanın yeniden adlandırılması, karşılık gelen SQL kodunun yeniden yazılmasına neden olur.
    • SQL kullanımları, Kullanımları bul özelliği kullanılırken gösterilir (sağ tıklayın ve içerik menüsünden Kullanımları bul'u seçin).
    • Java veya Kotlin kodunda bir SQL varlığı bildirimine gitmek için varlığı tıklarken Control (Mac'te Command) tuşunu basılı tutabilirsiniz.

    Oda ile SQL kullanma hakkında bilgi için Oda'yı kullanarak verileri yerel bir veritabanına kaydetme bölümüne bakın.

    Veri bağlama güncellemeleri

    Bu güncelleme, veri bağlama için çeşitli iyileştirmeler içerir:

    • Artık bir LiveData nesnesini veri bağlama ifadelerinde gözlemlenebilir alan olarak kullanabilirsiniz. ViewDataBinding sınıfı artık LiveData nesnelerini gözlemlemek için kullandığınız yeni bir setLifecycle() yöntemini içeriyor.

    • ObservableField sınıfı artık oluşturucusunda diğer Observable nesnelerini kabul edebilir.

    • Veri bağlama sınıflarınız için yeni bir artımlı derleyiciyi önizleyebilirsiniz. Bu yeni derleyiciyle ilgili ayrıntılar ve etkinleştirme talimatları için Data Binding Derleyici V2'ye göz atın.

      Yeni derleyicinin avantajları şunlardır:

      • ViewBinding sınıfları, Java derleyicisinden önce Android Plugin for Gradle tarafından oluşturulur.
      • Kitaplıklar, her seferinde yeniden oluşturulmak yerine, uygulama derlendiğinde oluşturulan bağlama sınıflarını korur. Bu, çok modüllü projelerin performansını önemli ölçüde artırabilir.

    Derleyici ve Gradle

    D8, varsayılan DEX derleyicidir

    D8 derleyici artık DEX bayt kodu oluşturmak için varsayılan olarak kullanılmaktadır.

    Bu yeni DEX derleyicisi, aşağıdakiler de dahil olmak üzere çeşitli avantajlar sunar:

    • Daha hızlı dex kullanma
    • Daha düşük bellek kullanımı
    • İyileştirilmiş kod oluşturma (daha iyi kayıt dağılımı, daha akıllı dize tabloları)
    • Kodlarda adım adım ilerlerken daha iyi hata ayıklama deneyimi

    Daha önce D8 derleyicisini devre dışı bırakmadıysanız, bu avantajlardan yararlanmak için kodunuzda veya geliştirme iş akışınızda herhangi bir değişiklik yapmanız gerekmez.

    gradle.properties sayfanızda android.enableD8 öğesini false olarak ayarlarsanız bu işareti silin veya true olarak ayarlayın:

            android.enableD8=true
          

    Ayrıntılar için Yeni DEX derleyici bölümüne bakın.

    Artımlı şeker giderme

    Java 8 dili özelliklerini kullanan projeler için artımlı şeker giderme varsayılan olarak etkinleştirilir. Bu da derleme sürelerini kısaltabilir.

    Şekerden arındırma, sözdizimsel şekeri derleyicinin daha verimli bir şekilde işleyebileceği bir biçime dönüştürür.

    Projenizin gradle.properties dosyasında aşağıdakileri belirterek artımlı şeker giderme özelliğini devre dışı bırakabilirsiniz:

            android.enableIncrementalDesugaring=false
          
    Basitleştirilmiş çıkış penceresi

    Gradle Konsolu, Sync ve Build sekmelerine sahip olan Build penceresiyle değiştirildi.

    Yeni ve basitleştirilmiş Derleme penceresinin nasıl kullanılacağı hakkında ayrıntılı bilgi için Derleme işlemini izleme bölümüne bakın.

    Toplu güncelleme ve dizine ekleme eşzamanlılığı

    Gradle senkronizasyonu ve IDE dizine ekleme işlemleri artık çok daha verimli, birçok yedek dizine ekleme işlemi için harcanan zamanı azaltıyor.

    C++ ve LLDB

    C++ geliştirmenin kodlama, senkronizasyon, derleme ve hata ayıklama aşamalarında kalite ve performans konusunda birçok iyileştirme yaptık. İyileştirmeler aşağıdakileri içerir:

    • Büyük C++ projeleriyle çalışıyorsanız sembolleri oluşturmak için harcanan sürede önemli bir iyileşme olduğunu göreceksiniz. Ayrıca büyük projelerde senkronizasyon süresi de büyük ölçüde kısalır.

    • CMake ile oluşturma ve senkronizasyon performansı, önbelleğe alınan sonuçların daha agresif bir şekilde yeniden kullanılmasıyla iyileştirildi.

    • Daha fazla C++ veri yapısı için biçimlendiricilerin ("güzel yazıcılar") eklenmesi, LLDB çıkışının daha kolay okunmasını sağlar.

    • LLDB artık yalnızca Android 4.1 (API düzeyi 16) ve sonraki sürümlerde çalışmaktadır.

    Not: Android Studio 3.0 veya sonraki sürümler ile yerel hata ayıklama, 32 bit Windows'da çalışmaz. 32 bit Windows kullanıyorsanız ve yerel kodda hata ayıklamanız gerekiyorsa Android Studio 2.3'ü kullanın.

    Kotlin

    Kotlin 1.2.30 sürümüne yükseltildi

    Android Studio 3.1, Kotlin 1.2.30 sürümünü içerir.

    Kotlin kodu artık komut satırı lint kontrolü ile analiz ediliyor

    Komut satırından lint çalıştırmak artık Kotlin sınıflarınızı analiz ediyor.

    lint çalıştırmak istediğiniz her proje için Google'ın Maven deposu, üst düzey build.gradle dosyasına eklenmelidir. Maven deposu, Android Studio 3.0 ve sonraki sürümlerde oluşturulan projelere zaten dahil edilmiştir.

    Performans araçları

    CPU Profiler ile örnek yerel C++ işlemleri

    CPU Profiler artık uygulamanızın yerel iş parçacıklarının örneklenmiş izlerini kaydetmek için varsayılan bir yapılandırma içeriyor. Uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihaza dağıtıp ardından CPU Profiler'ın kayıt yapılandırmaları açılır menüsünden Örneklenmiş (Yerel) seçeneğini belirleyerek bu yapılandırmayı kullanabilirsiniz. Ardından, normalde yaptığınız gibi bir izi kaydedip inceleyin.

    Örnekleme aralığı gibi varsayılan ayarları kayıt yapılandırması oluşturarak değiştirebilirsiniz.

    Java iş parçacıklarınızı izlemeye geri dönmek için Örneklenmiş (Java) veya Araçlı (Java) yapılandırmalarından birini seçin.

    CPU izlerini, bellek ayırma sonuçlarını ve yığın dökümlerini filtreleyin

    CPU Profiler ve Bellek Profilcisi, bir yöntem izi, bellek ayırmaları veya yığın dökümünü kaydetmek için sonuçları filtrelemenize olanak tanıyan bir arama özelliği içerir.

    Arama yapmak için bölmenin sağ üst köşesindeki Filtre simgesini tıklayın, sorgunuzu yazın ve Enter tuşuna basın.

    İpucu: Arama alanını Control + F (Mac'te Command + F) tuşlarına basarak da açabilirsiniz.

    CPU Profiler'ın Flame Grafiği sekmesinde, arama sorgunuzla ilgili yöntemleri içeren çağrı yığınları vurgulanır ve grafiğin sol tarafına taşınır.

    Yönteme, sınıfa veya paket adına göre filtreleme hakkında daha fazla bilgi için Yöntem izlerini kaydetme ve inceleme bölümüne bakın.

    Network Profiler'daki Request (İstek) sekmesi

    Ağ Profil Aracı'nda artık seçilen zaman çizelgesindeki ağ istekleriyle ilgili ayrıntılı bilgi sağlayan İstek sekmesi bulunuyor. Önceki sürümlerde, Network Profiler yalnızca ağ yanıtlarıyla ilgili bilgileri sağlıyordu.

    Ağ Profil Aracı'nda İleti Dizisi Görünümü

    Network Profiler'da zaman çizelgesinin bir kısmını seçtikten sonra söz konusu zaman aralığındaki ağ etkinliğiyle ilgili daha fazla ayrıntı görmek için aşağıdaki sekmelerden birini seçebilirsiniz:

    • Bağlantı Görünümü: Android Studio'nun önceki sürümleriyle aynı bilgileri sağlar. Uygulamanızın tüm CPU iş parçacıklarında zaman çizelgesinin seçilen kısmı sırasında gönderilen veya alınan dosyaları listeler. Her istek için boyutu, türü, durumu ve iletim süresini inceleyebilirsiniz.
    • İş Parçacığı Görünümü: Uygulamanızın CPU iş parçacıklarının her birinin ağ etkinliğini gösterir. Bu görünüm, her ağ isteğinden uygulamanızdaki iş parçacıklarından hangilerinin sorumlu olduğunu incelemenize olanak tanır.

    Düzen Denetleyici

    Düzen Denetleyici, daha önce kullanımdan kaldırılan Hiyerarşi Görüntüleyicisi ve Pixel Perfect araçları tarafından sağlanan bazı işlevler de dahil olmak üzere yeni özellikler kazandı:

    • Düzenlerde gezinmek ve düzenleri incelemek için yakınlaştırma düğmeleri ve klavye kısayolları
    • Referans ızgara yer paylaşımı
    • Referans görüntü yükleme ve bunu bir bindirme olarak kullanma özelliği (düzeninizi bir kullanıcı arayüzü modeliyle karşılaştırmak için kullanışlıdır)
    • Karmaşık bir düzende bir görünümü izole etmek için alt ağaç önizlemesi oluşturun

    Düzen Düzenleyici

    Düzen Düzenleyici'deki Palet birçok iyileştirme aldı:

    • Görünümler ve düzenler için kategorilerin yeniden düzenlenmesi.
    • Görünümler ve düzenler için Favori komutuyla ekleyebileceğiniz yeni Genel kategorisi.
    • İyileştirilmiş görünümler ve düzenler için arama.
    • Belirli bir görünüm veya düzen öğesiyle ilgili dokümanları açmaya yönelik yeni komutlar.

    Bir görünümü veya düzeni başka bir görünüm ya da düzen türüne dönüştürmek için Bileşen ağacı veya tasarım düzenleyicideki yeni Görünümü dönüştür komutunu kullanabilirsiniz.

    Artık Özellikler penceresinin üst kısmındaki görünüm denetleyicisinde yer alan yeni Bağlantı oluştur düğmelerini kullanarak, seçilen görünümün yakınındaki öğeler için kolayca kısıtlamalar oluşturabilirsiniz.

    Çalıştır ve Anında Çalıştır

    Dağıtım hedefi seçin iletişim kutusundaki Gelecekteki lansmanlarda aynı seçimi kullan seçeneğinin davranışı daha tutarlı hale getirilmiştir. Aynı seçimi kullan seçeneği etkinleştirilirse Dağıtım hedefi seç iletişim kutusu yalnızca Çalıştır komutunu ilk kez kullandığınızda seçili cihazın bağlantısı kesilene kadar açılır.

    Anında Çalıştırma, Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihazı hedeflerken uygulamanın yeniden başlatılmasına neden olmadan değişiklikleri kaynaklara dağıtabilir. Kaynaklar bölünmüş bir APK'da bulunduğu için bu mümkündür.

    Emülatör

    Android Studio 3.0 sürümünden sonra emülatörde yapılan yenilikler ve değişiklikler hakkında ayrıntılı bilgi için 27.0.2 ile 27.1.12 arasındaki Android Emulator sürüm notlarına bakın.

    Önemli iyileştirmeler aşağıdakileri içerir:

    • Özel bir başlangıç durumu kaydetmek için Şimdi kaydet komutunu kullanma özelliğiyle, emülatör durumunun kaydedilmesi ve daha hızlı başlatılması için Hızlı Başlatma anlık görüntüleri.
    • Penceresiz emülatör ekranı.
    • Android 8.0 (API düzeyi 26), Android 8.1 (API düzeyi 27) ve Android P Geliştirici Önizlemesi için sistem resimleri.

    Kullanıcı arayüzü ve kullanıcı deneyimi iyileştirmeleri

    Daha fazla ipucu, klavye kısayolları ve faydalı mesajlar

    Android Studio'daki birçok yere ipuçları ve faydalı mesaj yer paylaşımları ekledik.

    Birçok komutun klavye kısayollarını görmek için ipucu görünene kadar fare imlecini bir düğmenin üzerinde tutun.

    Araçlar > Android menüsü kaldırıldı

    Araçlar > Android menüsü kaldırıldı. Daha önce bu menünün altında olan komutlar taşındı.

    • Birçok komut doğrudan Araçlar menüsünün altına taşındı.
    • Sync project with gradle files (Projeyi gradle dosyalarıyla senkronize et) komutu Dosya menüsüne taşındı.
    • Device Monitor komutu aşağıda açıklandığı gibi kaldırılmıştır.

    Komut satırından kullanılabilen Cihaz İzleyicisi

    Android Studio 3.1'de Cihaz İzleyicisi, öncesine göre daha az bir rol üstleniyor. Çoğu durumda, Cihaz Monitörü aracılığıyla kullanılabilen işlevler artık yeni ve iyileştirilmiş araçlarla sağlanmaktadır.

    Komut satırından Cihaz Monitörü'nü çağırma talimatları ve Cihaz Monitörü aracılığıyla kullanılabilen araçlarla ilgili ayrıntılar için Cihaz Monitörü belgelerine bakın.

    3.0 (Ekim 2017)

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

    macOS kullanıcıları: Android Studio'nun daha eski bir sürümünü güncelliyorsanız "Yükleme alanında bazı çakışmalar bulundu" ifadesini içeren bir güncelleme hatası iletişim kutusuyla karşılaşabilirsiniz. Yükleme işlemini devam ettirmek için bu hatayı yoksayıp İptal'i tıklamanız yeterlidir.

    3.0.1 (Kasım 2017)

    Bu, Android Studio 3.0'a yapılan, genel hata düzeltmelerini ve performans iyileştirmelerini içeren küçük bir güncellemedir.

    Gradle 3.0.0 için Android Eklentisi

    Yeni Gradle için Android eklentisi, çeşitli iyileştirmeler ve yeni özellikler içerir, ancak öncelikle çok sayıda modül içeren projeler için derleme performansını iyileştirir. Yeni eklentiyi bu büyük projelerde kullanırken şu durumlarla karşılaşabilirsiniz:

    • Yeni gecikmeli bağımlılık çözümü nedeniyle daha hızlı derleme yapılandırma süreleri.
    • Yalnızca oluşturduğunuz projeler ve varyantlar için varyanta duyarlı bağımlılık çözümü.
    • Kod veya kaynaklara basit değişiklikler uygulanırken daha hızlı artımlı derleme süreleri.

    Not: Bu iyileştirmeler, eklentinin bazı davranışlarını, DSL'yi ve API'leri bozan önemli değişiklikler gerektiriyordu. 3.0.0 sürümüne geçmek için derleme dosyalarınızda ve Gradle eklentilerinde değişiklik yapmanız gerekebilir.

    Bu sürüm aşağıdakileri de içerir:

    • Android 8.0 için destek.
    • Dil kaynaklarına göre ayrı APK'lar oluşturma desteği.
    • Java 8 kitaplıkları ve Java 8 dil özellikleri desteği (Jack derleyici olmadan).
    • Android Test Support Library 1.0 (Android Test Utility ve Android Test Orchestrator) desteği.
    • İyileştirilmiş ndk-build ve cmake derleme hızları.
    • İyileştirilmiş Gradle senkronizasyon hızı.
    • AAPT2 artık varsayılan olarak etkindir.
    • ndkCompile kullanımı artık daha kısıtlı. Bunun yerine, APK'nıza paketlemek istediğiniz yerel kodu derlemek için CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi edinmek için ndkcker'dan taşıma bölümünü inceleyin.

    Değişiklikler hakkında daha fazla bilgiyi Gradle için Android Eklentisi sürüm notlarında bulabilirsiniz.

    Yeni eklentiye geçmeye hazırsanız Gradle 3.0.0 için Android Eklentisine Taşıma konusuna bakın.

    Kotlin desteği

    Google I/O 2017'de duyurulduğu gibi, Kotlin programlama dili artık Android'de resmi olarak desteklenmektedir. Dolayısıyla bu sürümde Android Studio, Android geliştirme için Kotlin dil desteğini içerir.

    Java dosyasını Kotlin'e dönüştürerek (Kod > Java Dosyasını Kotlin Dosyasına Dönüştür'ü tıklayın) veya Yeni Proje sihirbazını kullanarak Kotlin'in etkin olduğu yeni bir proje oluşturarak Kotlin'i projenize dahil edebilirsiniz.

    Başlamak için projenize Kotlin ekleme başlıklı makaleyi okuyun.

    Java 8 dili özellikleri desteği

    Artık belirli Java 8 dili özelliklerini kullanabilir ve Java 8 ile oluşturulan kitaplıkları kullanabilirsiniz. Jack artık gerekli değildir. Varsayılan araç zincirinde yerleşik olarak bulunan iyileştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir.

    Projenizi yeni Java 8 dili araç zincirini destekleyecek şekilde güncellemek için Proje Yapısı iletişim kutusunda Kaynak Uyumluluğu ve Hedef Uyumluluk değerlerini 1.8 olarak güncelleyin (Dosya > Proje Yapısı'nı tıklayın). Daha fazla bilgi edinmek için Java 8 dili özelliklerini kullanma makalesini okuyun.

    Android Profil Aracı

    Android Monitor aracının yerini alan yeni Android Profiler, uygulamanızın CPU, bellek ve ağ kullanımını gerçek zamanlı olarak ölçmek için yeni bir araç paketi sunuyor. Kodunuzun yürütülme zamanına kadar örneğe dayalı yöntem izlemesi gerçekleştirebilir, yığın dökümlerini yakalayabilir, bellek ayırmalarını görüntüleyebilir ve ağdan gönderilen dosyaların ayrıntılarını inceleyebilirsiniz.

    Açmak için Görünüm > Araç Pencereleri > Android Profil Aracı'nı tıklayın (veya araç çubuğunda Android Profil Aracı'nı tıklayın).

    Pencerenin üst kısmındaki etkinlik zaman çizelgesi; dokunma etkinliklerini, tuşa basmaları ve etkinlik değişikliklerini gösterir. Böylece zaman çizelgesindeki diğer performans etkinliklerini anlamak için daha fazla bağlam bilgisi sunulur.

    Not: Logcat görünümü ayrı bir pencereye de taşındı (önceden kaldırılan Android Monitor'da bulunuyordu).

    İlgili profil oluşturucu araçlarına erişmek için Android Profiler'ın genel bakış zaman çizelgesinden CPU, BELLEK veya zaman çizelgelerini tıklayın.

    CPU Profil Aracı

    CPU Profiler, bir örnek veya donanımlı CPU izlemesi tetikleyerek uygulamanızın CPU iş parçacığı kullanımını analiz etmenize yardımcı olur. Ardından, çeşitli veri görünümlerini ve filtreleri kullanarak CPU performansı sorunlarını giderebilirsiniz.

    Daha fazla bilgi için CPU Profiler Guide'a (CPU Profil Aracı kılavuzu) bakın.

    Bellek Profil Aracı

    Bellek Profili Oluşturucu, takılma, donma, hatta uygulama kilitlenmelerine neden olabilecek bellek sızıntılarını ve bellek karmaşasını belirlemenize yardımcı olur. Uygulamanızın bellek kullanımına dair gerçek zamanlı bir grafik gösterir, yığın dökümü yakalamanızı, atık toplama işlemlerini zorlamanızı ve bellek ayırmalarını izlemenizi sağlar.

    Daha fazla bilgi için Bellek Profil Aracı kılavuzuna bakın.

    Ağ Profil Aracı

    Ağ Profili Aracı, uygulamanızın ağ etkinliğini izlemenize, ağ isteklerinizin her birinin yükünü incelemenize ve ağ isteğini oluşturan koda geri bağlantı oluşturmanıza olanak tanır.

    Daha fazla bilgi için Ağ Profil Aracı kılavuzuna bakın.

    APK profili oluşturma ve hata ayıklama

    Android Studio artık bir Android Studio projesinden derlemek zorunda kalmadan herhangi bir APK'nın profilini oluşturmanıza ve hatalarını ayıklamanıza olanak tanıyor. Bunun için APK'nın hata ayıklamayı etkinleştirmek amacıyla derlenmesi ve hata ayıklama sembolleri ile kaynak dosyalarına erişiminiz olması şartıyla Android Studio projesinden oluşturmanız gerekmiyor.

    Başlamak için Android Studio Karşılama ekranından Profil veya APK'yı ayıkla seçeneğini tıklayın. Halihazırda açık bir projeniz varsa menü çubuğundan Dosya > Profil veya hata ayıklama APK'sı seçeneğini tıklayın. Bu işlem, paketlenmemiş APK dosyalarını görüntüler ancak kodun derlemesini çözmez. Bu nedenle, ayrılma noktalarını düzgün bir şekilde eklemek ve yığın izlerini görüntülemek için Java kaynak dosyalarını ve yerel hata ayıklama sembollerini eklemeniz gerekir.

    Daha fazla bilgi için Önceden Oluşturulmuş APK'ları Profil ve Hata Ayıklama bölümüne bakın.

    Cihaz Dosyası Gezgini

    Yeni Cihaz Dosya Gezgini, bağlı cihazınızın dosya sistemini incelemenize ve cihazla bilgisayarınız arasında dosya aktarmanıza olanak tanır. Bu araç, DDMS'de bulunan dosya sistemi aracının yerini alır.

    Açmak için Görünüm > Araç Pencereleri > Cihaz Dosyası Gezgini'ni tıklayın.

    Daha fazla bilgi için Cihaz Dosyası Gezgini kılavuzuna bakın.

    Hazır Uygulamalar desteği

    Yeni Android Hazır Uygulamalar desteği, projenizde iki yeni modül türünü kullanarak Hazır Uygulamalar oluşturmanıza olanak tanır: Hazır Uygulama modülleri ve Özellik modülleri (Bunlar, Hazır Uygulama Geliştirme SDK'sını yüklemenizi gerektirir).

    Android Studio, mevcut bir projeye Hazır Uygulamalar için destek eklemenize yardımcı olacak yeni bir modülerleştirme yeniden düzenleme işlemi de içerir. Örneğin, projenizi, bazı sınıfları Hazır Uygulama özellik modülüne yerleştirmek için yeniden düzenlemek isterseniz Proje penceresinden sınıfları seçin ve Yeniden Düzenleme > Modülerleştir'i tıklayın. Açılan iletişim kutusunda sınıfların gitmesi gereken modülü seçin ve Tamam'ı tıklayın.

    Hazır Uygulamanızı test etmeye hazır olduğunuzda, bağlı bir cihazda Hazır Uygulama modülünüzü oluşturup çalıştırabilirsiniz. Bunun için yapılandırmayı başlatma seçeneklerinde Hazır Uygulamanın URL'sini belirtebilirsiniz: Çalıştır > Yapılandırmaları Düzenle'yi seçin, Hazır Uygulama modülünüzü seçin, ardından Başlatma Seçenekleri altında URL'yi ayarlayın.

    Daha fazla bilgi için Android Hazır Uygulamalar bölümüne bakın.

    Android Things modülleri

    Yeni Proje ve Yeni Modül sihirbazlarında bulunan, Android destekli IoT cihazları için uygulama geliştirmeye başlamanıza yardımcı olacak yeni Android Things şablonları.

    Daha fazla bilgi için Android Things projesi oluşturma konusuna bakın.

    Uyarlanabilir Simgeler sihirbazı

    Image Asset Studio artık vektör çekilebilir kaynaklarını desteklemektedir ve eski cihazlar için geleneksel simgeler ("Eski" simgeler) oluştururken aynı anda Android 8.0 için uyarlanabilir başlatıcı simgeleri oluşturmanıza olanak tanır.

    Başlamak için projenizdeki res klasörünü sağ tıklayın ve ardından Yeni > Resim Öğesi'ni tıklayın. Asset Studio penceresinde, simge türü olarak Başlatıcı Simgeleri (Uyarlanabilir ve Eski) seçeneğini belirleyin.

    Not: Uyarlanabilir başlatıcı simgelerini kullanmak için compileSdkVersion değerini 26 veya daha yüksek bir değere ayarlamalısınız.

    Daha fazla bilgi için Uyarlanabilir Simgeler konusunu okuyun.

    Yazı tipi kaynakları için destek

    Android Studio, Android 8.0'daki yeni yazı tipi kaynaklarını desteklemek amacıyla, yazı tiplerini uygulamanıza entegre etmenize veya projenizi yazı tiplerini cihaza indirecek şekilde yapılandırmanıza (kullanılabilir olduğunda) yardımcı olan bir yazı tipi kaynakları seçici içerir. Düzen düzenleyici, düzeninizdeki yazı tiplerini de önizleyebilir.

    İndirilebilir yazı tiplerini denemek için cihazınızın veya emülatörünüzün Google Play Hizmetleri 11.2.63 veya sonraki bir sürümü çalıştırdığından emin olun. Daha fazla bilgi için İndirilebilir Yazı Tipleri konusunu okuyun.

    Firebase Uygulama Dizine Ekleme Asistanı

    Firebase Asistan, Uygulama Dizine Ekleme'yi test etmek için yeni bir eğitimle güncellendi. Asistan'ı açmak için Araçlar > Firebase'i seçin. Ardından, App Indexing > Test App Indexing'i seçin.

    Eğitimde, herkese açık ve kişisel içeriği dizine ekleme işleminizi test etmeniz için yeni düğmeler bulunmaktadır:

    • 2. adımda, URL'lerinizin Google Arama sonuçlarında göründüğünü doğrulamak için Arama sonuçlarını önizle'yi tıklayın.
    • 3. adımda, uygulamanızdaki dizine eklenebilir nesnelerin kişisel içerik dizinine eklendiğini doğrulamak için Hataları kontrol et'i tıklayın.

    Uygulama Bağlantıları Asistanı aşağıdaki yeni özelliklerle güncellendi:

    • Amaç filtrelerinizin gerçek URL'leri işlediğinden emin olmak amacıyla her URL eşlemesi için URL testleri ekleyin.

      Bu URL testlerini aşağıda açıklanan <tools:validation> etiketini kullanarak manuel olarak da tanımlayabilirsiniz.

    • Google Smart Lock'u desteklemek için uygun nesne girişine sahip bir Digital Asset Links dosyası oluşturun ve ilgili asset_statements <meta-data> etiketini manifest dosyanıza ekleyin.

    URL amaç filtresi doğrulayıcı

    Android Studio artık manifest dosyasında amaç filtresi URL'lerinizi test etmenize olanak tanıyan özel bir etiketi destekliyor. Bunlar, Uygulama Bağlantıları Asistanı'nın sizin için oluşturabileceği etiketlerdir.

    Amaç filtresi için test URL'si bildirmek üzere karşılık gelen <intent-filter> öğesinin yanına <tools:validation> öğesi ekleyin. Örneğin:

          <activity ...>
              <intent-filter>
                  ...
              </intent-filter>
              <tools:validation testUrl="https://www.example.com/recipe/1138" />
          </activity>
        
        

    <manifest> etiketine xmlns:tools="http://schemas.android.com/tools" ifadesini de dahil ettiğinizden emin olun.

    Test URL'lerinden herhangi biri amaç filtresi tanımını geçemezse lint hatası görünür. Böyle bir hata, hata ayıklama varyantları oluşturmanıza izin verir ancak sürüm derlemelerinizi bozar.

    Düzen Düzenleyici

    Düzen Düzenleyici çeşitli geliştirmelerle güncellendi. Örneğin:

    • Yeni araç çubuğu düzeni ve simgeleri.
    • Bileşen ağacındaki düzen güncellendi.
    • Geliştirilmiş sürükle ve bırak görünüm ekleme.
    • Düzenleyicinin altında, düzeltilmesi gereken önerilerle (varsa) ilgili tüm sorunların gösterildiği yeni hata paneli.
    • ConstraintLayout ile derleme için aşağıdakiler de dahil olmak üzere çeşitli kullanıcı arayüzü geliştirmeleri:
      • Engeller oluşturmak için yeni destek.
      • Grup oluşturmak için yeni destek: Araç çubuğunda Yönergeler > Grup Ekle'yi seçin (ConstraintLayout 1.1.0 beta 2 veya sonraki bir sürümünü gerektirir)
      • Zincir oluşturmak için yeni kullanıcı arayüzü: Birden fazla görünüm seçin ve ardından sağ tıklayıp Zincir'i seçin.

    Düzen Denetleyici

    Düzen İnceleyici, uygulama düzenlerinizle ilgili sorunlarda hata ayıklamanızı kolaylaştıracak geliştirmeler içerir. Örneğin, özellikleri ortak kategorilerde gruplama ve hem Görünüm Ağacı hem de Özellikler bölmelerinde yeni arama işlevselliği bulunur.

    APK Analiz Aracı

    Artık APK Analiz Aracı'nı apkanalyzer aracıyla komut satırından kullanabilirsiniz.

    APK Analiz Aracı da aşağıdaki iyileştirmelerle güncellendi:

    • ProGuard ile oluşturulan APK'lar için DEX görüntüleyiciye aşağıdakiler gibi özellikler ekleyen ProGuard eşleme dosyalarını yükleyebilirsiniz:
      • Kod daraltılırken düğümlerin kaldırılmaması gerektiğini belirten kalın düğümler.
      • Daraltma işlemi sırasında kaldırılan düğümleri gösteren bir düğme.
      • Ağaç görünümünde ProGuard tarafından karartılan düğümlerin orijinal adlarını geri yükleyen bir düğme.
    • DEX Görüntüleyici artık her paketin, sınıfın ve yöntemin tahmini boyut etkisini gösterir.
    • Alanları ve yöntemleri göstermek ve gizlemek için yeni filtreleme seçenekleri.
    • Ağaç görünümünde, DEX dosyasında tanımlanmayan referans olan düğümler italik yazı stiliyle görünür.

    Daha fazla bilgi için Derlemenizi APK Analiz Aracı ile Analiz Etme bölümüne bakın.

    D8 DEX derleyici önizlemesi

    Android Studio 3.0'da, D8 adında isteğe bağlı yeni bir DEX derleyici bulunur. Bu komut, zamanla DX derleyicisinin yerini alacaktır. Ancak isterseniz yeni D8 derleyiciyi hemen kullanmaya başlayabilirsiniz.

    DEX derlemesi, uygulamanızın derleme süresini, .dex dosya boyutunu ve çalışma zamanı performansını doğrudan etkiler. Yeni D8 derleyicisi, mevcut DX derleyicisiyle karşılaştırıldığında D8, daha hızlı derler ve daha küçük .dex dosyaları çıkarır. Aynı veya daha iyi uygulama çalışma zamanı performansına sahip olur.

    Denemek için projenizin gradle.properties dosyasında aşağıdakileri ayarlayın:

    android.enableD8=true
        

    Daha fazla bilgi için D8 derleyici hakkındaki blog yayınına bakın.

    Google'ın Maven deposu

    Android Studio artık Android Destek Kitaplığı, Google Play Hizmetleri, Firebase ve diğer bağımlılıklara yönelik güncellemeleri almak için Android SDK Yöneticisi'ne bağlı olarak değil, varsayılan olarak Google’ın Maven deposunu kullanıyor. Bu, özellikle sürekli entegrasyon (CI) sistemi kullanırken kitaplıklarınızı güncel tutmanızı kolaylaştırır.

    Artık tüm yeni projeler varsayılan olarak Google Maven deposunu içeriyor. Mevcut projenizi güncellemek için üst düzey build.gradle dosyasının repositories bloğuna google() ekleyin:

          allprojects {
              repositories {
                  google()
              }
          }
        
        

    Google'ın Maven deposu hakkında daha fazla bilgi edinin.

    Diğer değişiklikler

    • Android Studio ile yerel hata ayıklama artık Windows'un 32 bit sürümünü desteklememektedir. Bu platformu kullanan çok az geliştirici olduğu için diğer platformlara odaklanmayı seçtik. 32 bit Windows kullanıyorsanız ve yerel kodda hata ayıklamayı planlıyorsanız Android Studio 2.3'ü kullanmaya devam etmelisiniz.
    • Temel IDE, 2016.3 ve 2017.1 yıllarında sunulan Java 8 dilini yeniden düzenleme, parametre ipuçları, anlamsal vurgulama, sürüklenebilir ayrılma noktaları, aramada anında sonuçlar ve daha pek çok yeni özellik ekleyen IntelliJ 2017.1.2 sürümüne yükseltildi.
    • Birçok yeni hata analizi denetimi eklendi.
    • Ayrıca en son Android Emülatör güncellemelerine bakın.

    2.3 (Mart 2017)

    Android Studio 2.3.0 esasen bir hata düzeltmesi ve kararlılık sürümüdür, ancak çok sayıda yeni özellik de mevcuttur.

    2.3.3 (Haziran 2017)

    Bu, Android O (API düzeyi 26) desteği eklemeye yönelik küçük bir güncellemedir.

    2.3.2 (Nisan 2017)

    Bu, Android Studio 2.3 için aşağıdaki değişikliklere göre küçük bir güncellemedir:

    • Sistem görüntülerinde Google Play'i desteklemek için AVD Manager güncellemeleri.
    • NDK'nın R14+ kullanılırken NDK derlemeleri için hata düzeltmeleri.

    Ayrıca Android Emulator 26.0.3 için ilgili güncellemelere bakın.

    2.3.1 (Nisan 2017)

    Bu, Android Studio 2.3'e yapılan küçük bir güncellemedir. Bu güncelleme, bazı fiziksel Android cihazların Anında Çalıştırma özelliğiyle düzgün çalışmamasına neden olan bir sorunu giderir (bkz. 235879 numaralı sorunu).

    <h3 class="hide-from-toc">
      New
    </h3>
    
    <div class="video-wrapper-left">
      <iframe class="devsite-embedded-youtube-video" data-video-id="VFyKclKBGf0"
              data-autohide="1" data-showinfo="0" frameborder="0" allowfullscreen>
      </iframe>
    </div>
    
    <ul>
      <li>Android Studio can now convert PNG, BMP, JPG, and static GIF files to
      WebP format. WebP is an image file format from Google that provides lossy
      compression (like JPEG) as well as transparency (like PNG) but can provide
      better compression than either JPEG or PNG. For more information, see
        <a href="/studio/write/convert-webp.html">Convert images to WebP in Android
        Studio</a>.
      </li>
    
      <li>The new <a href="/studio/write/app-link-indexing.html">App Links
      Assistant</a> simplifies the process of adding Android App Links to your app
      into a step-by-step wizard. Android App Links are HTTP URLs that bring users
      directly to specific content in your Android app.
      </li>
    
      <li>The Layout Editor now includes support for two new ConstraintLayout
      features:
        <ul>
          <li>Define a view size based on an aspect ratio.
          </li>
          <li>Create packed, spread, and weighted linear groups with constraint
          chains.
          </li>
        </ul>
        For more information, see <a href=
        "/training/constraint-layout/index.html">Build a Responsive UI with
        ConstraintLayout</a>.
      </li>
    
      <li>The Layout Editor also now lets you create a list of <a href=
      "/studio/write/layout-editor.html#edit-properties">favorite attributes</a> so
      you don't have to click <b>View all attributes</b> to access the attributes
      you use most.
      </li>
    
      <li>When adding a material icon using the Vector Import Dialog (<b>File &gt;
      New &gt; Vector Asset</b>), you can now filter the list of available icons by
      category or by icon name. For more information, see <a href=
      "/studio/write/vector-asset-studio.html#materialicon">Adding a material
      icon</a>.
      </li>
    
      <li>
        <a href="/studio/write/annotations.html#accessibility">New and updated
        annotations</a>. The new <code>@RestrictTo</code> annotation for methods,
        classes, and packages lets you restrict an API. The updated
        <code>@VisibleForTesting</code> annotation now has an optional
        <code>otherwise</code> argument that lets you designate what the visibility
        of a method should be if not for the need to make it visible for testing.
        Lint uses the <code>otherwise</code> option to enforce the intended
        visibility of the method.
      </li>
    
      <li>New <a href="/studio/write/lint.html#snapshot">lint baseline support</a>
      allows you to use a snapshot of your project's current set of warnings as a
      baseline for future inspection runs so only new issues are reported. The
      baseline snapshot lets you start using lint to fail the build for new issues
      without having to go back and address all existing issues first.
      </li>
    
      <li>New lint checks, including the following:
        <ul>
          <li>Obsolete <code>SDK_INT</code> Checks: Android Studio removes obsolete
          code that checks for SDK versions.
          </li>
          <li>Object Animator Validation: Lint analyzes your code to make sure that
          your <code>ObjectAnimator</code> calls reference valid methods with the
          right signatures and checks that those methods are annotated with <code>
            @Keep</code> to prevent ProGuard from renaming or removing them during
            release builds.
          </li>
          <li>Unnecessary Item Decorator Copy: Older versions of the
          <code>RecyclerView</code> library did not include a divider decorator
          class, but one was provided as a sample in the support demos. Recent
          versions of the library have a divider decorator class. Lint looks for
          the old sample and suggests replacing it with the new one.
          </li>
          <li>WifiManager Leak: Prior to Android 7.0 (API level 24), initializing
          the <code>WifiManager</code> with <code><a href="/reference/android/content/Context.html#getSystemService(java.lang.Class&lt;T&gt;)">Context.getSystemService()</a></code>
          can cause a memory leak if the context is not the application context.
          Lint looks for these initializations, and if it <em>cannot</em> determine
          that the context is the application context, it suggests you use <code><a href="/reference/android/content/Context.html#getApplicationContext()">Context.getApplicationContext()</a></code> to get the proper context for the
          initialization.
          </li>
          <li>Improved Resource Prefix: The existing <code>resourcePrefix</code>
          lint check had many limitations. You can now configure your project with
          a prefix, such as <code>android { resourcePrefix '<var>my_lib</var>'
          }</code>, and lint makes sure that all of your resources are using this
          prefix. You can use variations of the name for styles and themes. For
          example for the <var>my_lib</var> prefix, you can have themes named
          <code>MyLibTheme</code>, <code>myLibAttr</code>,
          <code>my_lib_layout</code>, and so on.
          </li>
          <li>Switch to WebP: This check identifies images in your project that can
          be converted to WebP format based on your project’s
          <code>minSdkVersion</code> setting. An associated quickfix can
          automatically convert the images, or you can <a href=
          "/studio/write/convert-webp.html">convert images to WebP</a> manually.
          </li>
          <li>Unsafe WebP: If your project already includes WebP images, this check
          analyzes your project to ensure that your <code>minSdkVersion</code>
          setting is high enough to support the included images. For more
          information about WebP support in Android and Android Studio, see
          <a class="external" href=
          "https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webp">
            Which browsers natively support WebP?</a> and <a href=
            "/studio/write/convert-webp.html">Create WebP Images Using Android
            Studio</a>.
          </li>
        </ul>
      </li>
    </ul>
    
    <h3 class="hide-from-toc">
      Changes
    </h3>
    
    <ul>
      <li>A separate button to push changes with Instant Run: After deploying your
      app, you now click <b>Apply Changes</b> <img src=
      "/studio/images/buttons/toolbar-apply-changes.svg" alt="" class=
      "inline-icon"> to quickly push incremental changes to your running app using
      Instant Run. The <b>Run</b> <img src="/studio/images/buttons/toolbar-run.png"
        alt="" class="inline-icon"> and <b>Debug</b> <img src=
        "/studio/images/buttons/toolbar-debug.png" alt="" class="inline-icon">
        buttons are always available to you when you want to reliably push your
        changes and force an app restart.
        <ul>
          <li>Instant Run is supported only when deploying your app to a target
          device running Android 5.0 (API level 21) or higher.
          </li>
          <li>Instant Run is no longer disabled for projects that <a href=
          "/studio/projects/add-native-code.html">link to external native
          projects</a> using CMake or ndk-build. However, you can only use Instant
          Run to push incremental changes to your Java code, not your native code.
          </li>
          <li>Cold swaps (which you can force for a running app by clicking
          <strong>Run</strong> <img src="/studio/images/buttons/toolbar-run.png"
          alt="" class="inline-icon">) are now more reliable. Forcing a cold swap
          also fixes the issue where changes to notification and widget UIs were
          not updated on the target device.
          </li>
          <li>Includes optimizations that make app startup much faster. These
          optimizations may affect profiling, so you should temporarily <a href=
          "/studio/run/index.html#disable-ir">disable Instant Run</a> whenever
          profiling your app.
          </li>
        </ul>
      </li>
    
      <li>
        <p>
          The <b>AVD Manager</b> <img src=
          "/studio/images/buttons/toolbar-avd-manager.png" alt="" class=
          "inline-icon"> and <b>SDK Manager</b> <img src=
          "/studio/images/buttons/toolbar-sdk-manager.png" alt="" class=
          "inline-icon"> buttons are now included in the lean Navigation Bar as
          well as the full Toolbar. To use the lean Navigation Bar, click
          <b>View</b> to open the View menu, then ensure that <b>Navigation Bar</b>
          is selected and <b>Toolbar</b> is <em>not</em> selected.
        </p>
        <img src="/studio/images/releases/navigationbar_sdkavd_2x.png" width="757">
      </li>
    
      <li>The "Hybrid" debugger has been renamed to "Dual" debugger.
      </li>
    
      <li>In the <a href="/studio/run/rundebugconfig.html">Run/Debug
      Configurations</a> dialog, under Defaults in the left pane, the following run
      configuration names have changed with no behavior changes:
        <ul>
          <li>The JUnit name has changed to Android JUnit. If you have a project
          that uses JUnit run configurations, those configurations are transformed
          to Android JUnit run configurations the first time you open the project
          with Android Studio. A dialog appears to inform you of the name change.
          </li>
          <li>The Android Tests name has changed to Android Instrumented Tests.
          </li>
        </ul>
      </li>
    
      <li>The <a href="/studio/debug/am-gpu-debugger.html">GPU Debugger</a> has
      been removed from Android Studio as of version 2.3. An open-source,
      standalone version of the tool is now available on <a href=
      "https://github.com/google/gapid" class="external-link">GitHub</a>.
      </li>
    
      <li>The Run/Debug option is no longer available when you right-click a <code>
        *.gradle build</code> script.
      </li>
    
      <li>All templates now use <code>ConstraintLayout</code> as the default
      layout.
      </li>
    
      <li>The Widgets palette in the Layout Editor has been redesigned.
      </li>
    </ul>
    
    <p>
      This release also includes a number of bug fixes. <a href=
      "https://code.google.com/p/android/issues/list?can=1&amp;q=target%3D2.3+status%3DReleased&amp;colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&amp;cells=tiles">
      See all bug fixes in 2.3.0.</a>
    </p>
    
    <p class="note">
      <b>Known issue:</b> Some device manufacturers block apps from automatically
      launching after being installed on the device. When deploying your app to a
      physical device using Android Studio 2.3, this restriction breaks the
      intended behavior of Instant Run and causes the following error output:
      <code>Error: Not found; no service started</code>. To avoid this issue,
      either <a href="/studio/run/emulator.html">use the emulator</a> or enable
      automatic launching for your app in your device's settings. The procedure
      for doing this is different for each device, so check the instructions
      provided by the manufacturer. To learn more about this issue, see
      <a href="https://code.google.com/p/android/issues/detail?id=235879">Issue
        #235879</a>.
    </p>
    

    2.2 (Eylül 2016)

    2.2.3 (Aralık 2016)

    <p>
      This is a minor update to Android Studio 2.2. It includes a bug fixes
      focused around gradle, the core IDE, and lint.
    </p>
    
    <p>
      Highlighted build changes:
    </p>
    
    <ul>
      <li>ProGuard version rollback. Due to a <a href=
      "https://sourceforge.net/p/proguard/bugs/625/">correctness issue</a>
      discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1. We
      have worked with the ProGuard team on getting a fix quickly, and we expect
      to roll forward to ProGuard 5.3.2 in Android Studio 2.3 Canary 3.
      </li>
      <li>Bug fix for <code>aaptOptions</code> <code>IgnoreAssetsPattern</code>
      not working properly (<a href="http://b.android.com/224167">issue
      224167</a>)
      </li>
      <li>Bug fix for Gradle autodownload for Constraint Layout library
        (<a href="https://code.google.com/p/android/issues/detail?id=212128">issue
        212128</a>)
      </li>
      <li>Bug fix for a JDK8/Kotlin compiler + dx issue (<a href=
      "http://b.android.com/227729">issue 227729</a>)
      </li>
    </ul>
    
    <p>
      <a href=
      "https://code.google.com/p/android/issues/list?can=1&amp;q=target%3D2.2.3+status%3AReleased+&amp;colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&amp;cells=tiles">
      See all bug fixes in 2.2.3</a>.
    </p>
    

    2.2.2 (Ekim 2016)

    <p>
      This is a minor update to Android Studio 2.2. It includes a number of small
      changes and bug fixes, including:
    </p>
    
    <ul>
      <li>When reporting Instant Run issues through the IDE, the report now also
      includes logcat output for <code>InstantRun</code> events. To help us
      improve Instant Run, please <a href=
      "/studio/run/index.html#submit-feedback">enable extra logging and report
      any issues</a>.
      </li>
      <li>A number of small bug fixes for Gradle.
      </li>
      <li>A fix for problems with generating multiple APKs.
      </li>
    </ul>
    

    2.2.1 (Ekim 2016)

    <p>
      This is a minor update to Android Studio 2.2. It includes several bug fixes
      and a new feature to enable extra logging to help us troubleshoot Instant
      Run issues—to help us improve Instant Run, please <a href=
      "/studio/run/index.html#submit-feedback">enable extra logging and report
      any issues</a>.
    </p>
    

    Yeni

    • ConstraintLayout'u desteklemek için özel olarak oluşturulmuş araçlara sahip yepyeni Layout Editor.
    • <li>New <strong><a href=
      "http://tools.android.com/tech-docs/layout-inspector">Layout
      Inspector</a></strong> lets you examine snapshots of your layout hierarchy
      while your app is running on the emulator or a device.
      </li>
      
      <li>New <strong><a href="/studio/write/firebase.html">Assistant</a></strong>
      window to help you integrate Firebase services into your app.
      </li>
      
      <li>New <strong><a href="/studio/debug/apk-analyzer.html">APK
      Analyzer</a></strong> tool so you can inspect the contents of your packaged
      app.
      </li>
      
      <li>New <strong><a href=
      "http://tools.android.com/tech-docs/test-recorder">Espresso Test
      Recorder</a></strong> tool (currently in beta) to help you create UI tests by
      recording your own interactions.
      </li>
      
      <li>New <strong><a href=
      "http://tools.android.com/tech-docs/build-cache">build cache</a></strong>
      (currently experimental) to speed up build performance.
      </li>
      
      <li>New <strong>C/C++ build integration with CMake and ndk-build</strong>.
      Compile and build new or existing native code into libraries packaged into
      your APK, and debug using lldb. For new projects, Android Studio uses CMake
      by default, but also supports ndk-build for existing projects. To learn how
      to include native code in your Android application, read <a href=
      "/studio/projects/add-native-code.html">Add C and C++ Code to Your
      Project</a>. To learn how to debug native code with lldb, see <a href=
      "/studio/debug/index.html#debug-native">Debug Native Code</a>.
      </li>
      
      <li>New <strong><a href="/studio/intro/index.html#sample-code">Samples
      Browser</a></strong> so you can easily look up Google Android sample code
      from within Android Studio to jump start app development.
      </li>
      
      <li>New <strong>Merged Manifest Viewer</strong> to help you diagnose how your
      manifest file merges with your app dependencies across project build
      variants.
      </li>
      
      <li>The <strong>Run</strong> window now contains log messages for the current
      running app. Note that you can configure the <a href=
      "/studio/debug/am-logcat.html">logcat Monitor</a> display, but not the
      <strong>Run</strong> window.
      </li>
      
      <li>New <strong><a href="/studio/run/emulator.html">Android
      Emulator</a></strong> features:
        <ul>
          <li>Added new <strong>Virtual</strong> <strong>Sensors</strong> and
          <strong>Cellular</strong> &gt; <strong>Signal Strength</strong> controls.
          </li>
          <li>Added an <strong>LTE</strong> option to the <strong>Cellular</strong>
          &gt; <strong>Network type</strong> control.
          </li>
          <li>Added simulated vertical swipes for scrolling through vertical menus
          with a mouse wheel.
          </li>
        </ul>
      </li>
      
      <li>New <strong><a href="/studio/run/rundebugconfig.html">Run/Debug
      Configuration</a></strong> features:
        <ul>
          <li>The <strong>Debugger</strong> tab of the Android App and Android
          Tests templates now contain several new options for debugging with LLDB.
          </li>
          <li>The <strong>Profiling</strong> tab of the Android App and Android
          Tests templates now contain a <strong>Capture GPU Commands</strong>
          option for enabling GPU tracing. You can display GPU traces in the GPU
          Debugger (a beta feature).
          </li>
          <li>The Android Tests template now has a <strong>Firebase Test Lab Device
          Matrix</strong> option for the <strong>Deployment Target</strong>.
          </li>
          <li>The Native Application template has been deprecated. If you use this
          template in a project, Android Studio automatically converts it to the
          Android App template.
          </li>
          <li>The Android Application template has been renamed to Android App.
          </li>
        </ul>
      </li>
      
      <li>Improved installation, configuration, performance, and UI features in the
      <strong><a href="/studio/debug/am-gpu-debugger.html">GPU
      Debugger</a></strong> (currently in beta).
      </li>
      
      <li>Android Studio now comes bundled with <strong>OpenJDK 8</strong>.
      Existing projects still use the JDK specified in <strong>File &gt; Project
      Structure &gt; SDK Location</strong>. You can switch to use the new bundled
      JDK by clicking <strong>File &gt; Project Structure &gt; SDK
      Location</strong> and checking the <strong>Use embedded JDK</strong>
      checkbox.
      </li>
      
      <li>Added new <strong>help menus and buttons</strong> in the UI so you can
      more easily find the online documentation.
      </li>
      

    Değişiklikler

    • IntelliJ 15 olan IDE kod tabanı IntelliJ 2016.1 olarak güncellendi
    • Anında Çalıştırma artık hedef cihaz API düzeyine karşılık gelen platform SDK'sının yüklenmesini gerektiriyor.
    • Kullanıcı, uygulamayı bir iş profili altında veya ikincil kullanıcı olarak çalıştırıyorsa Anında Çalıştırma otomatik olarak devre dışı bırakılır.
    • Anında Çalıştırma'da değişikliklerin dağıtılmaması veya uygulamanın kilitlenmesine neden olan birçok güvenilirlik sorunu düzeltildi:
      • Bazı uygulama öğeleri çalışan uygulamanıza dağıtılmadı. ( Hata: #213454)
      • Kullanıcı, Seri hale getirilebilir bir sınıfın seriSürümUID'i tanımlı olmadığı Anında Çalıştırma ve Anında Çalıştırma dışı oturumlar arasında geçiş yaptığında uygulama kilitleniyor. (Hata: #209006)
      • Stil değişiklikleri Anında Çalıştırmada yansıtılmaz. (Hata: #210851)
      • Anında Çalıştırma oturumu güvenilir değil ve FileNotFoundException hatası veriyor. (Hata: #213083)
      • Çekilebilir dosyalarda yapılan değişiklikler, KitKat için tam yeniden oluşturma işlemi gerçekleştirilene kadar yansıtılmaz. (Hata: #21530)
      • Özel sourceSet'ler iç içe yerleştirilmiş yollar içerdiğinde kaynak değişiklikleri Anında Çalıştırma ile yansıtılmaz. (Hata: #219145)
      • Değiştirilen sınıf, numaralandırma değerine sahip ek açıklama içeriyorsa sıcak ve hazır durumda değiştirme çalışmaz. (Hata: #209047)
      • Ek açıklama verilerinde yapılan değişiklikler Anında Çalıştırmaya yansıtılmaz. (Hata: #210089)
      • Anında Çalıştırma, IDE dışında değişiklik yaparsanız kod değişikliklerini tutmaz. (Hata: #213205)
      • Güvenlik jetonu uyuşmazlığı nedeniyle Anında Çalıştırma oturumu güvenilir değil. (Hata: #211989
      • Farklı çalıştırmaları düzgün bir şekilde desteklemeyen cihazlarda baştan başlatma başarısız olur. (Hata: #210875)
      • Anında çalıştırma yeniden başlatıldıktan sonra uygulama kilitleniyor. (Hata: #219744)
      • Anında Çalıştır'dan Anında Hata Ayıklama'ya geçilirken ClassNotFoundException gözlemlendi. (Hata: #215805)
    • <li>Improved performance for <strong>Gradle sync</strong> within the IDE,
      especially for large projects.
      </li>
      
      <li>Improved build times for both full and incremental builds with new app
      packaging code.
      </li>
      
      <li>Improved <strong>Jack compiler performance and features</strong>,
      including support for annotation processors and dexing in process. To learn
      more, read the <a href=
      "/studio/releases/gradle-plugin.html#revisions">Android plugin for Gradle
      2.2.0 release notes</a>.
      </li>
      
      <li>Removed the <strong>Scale</strong> AVD property from the AVD Manager.
      </li>
      
      <li>The Android Emulator <strong>-port</strong> and <strong>-ports</strong>
      command-line options now report which ports and serial number the emulator
      instance is using, and warn if there are any issues with the values you
      provided.
      </li>
      
      <li>Improved the <strong><a href=
      "/studio/write/create-java-class.html">Create New Class dialog</a></strong>
      and the corresponding file templates. <strong>Note:</strong> If you've
      previously customized the <strong>AnnotationType</strong>,
      <strong>Class</strong>, <strong>Enum</strong>, <strong>Interface</strong>, or
      <strong>Singleton</strong> file templates, you need to modify your templates
      to comply with the new templates or you won’t be able to use the new fields
      in the <strong>Create New Class</strong> dialog.
      </li>
      
      <li>Improved the <strong><a href=
      "/studio/write/vector-asset-studio.html">Vector Asset Studio</a></strong>
      user interface and added support for Adobe Photoshop Document (PSD) files.
      </li>
      
      <li>Improved the <strong><a href=
      "/studio/write/image-asset-studio.html">Image Asset Studio</a></strong> user
      interface.
      </li>
      
      <li>Improved the <strong>Theme Editor</strong>'s Resource Picker.
      </li>
      
      <li>Fixed memory leaks and reduced overall memory usage in Android Studio.
      </li>
      
      <li>Added a <strong>Background</strong> button in the <strong><a href=
      "/studio/intro/update.html#sdk-manager">SDK Manager</a></strong> so you can
      get back to work and install your packages in the background.
      </li>
      
      <li>Improved <strong><a href="/studio/intro/accessibility.html">Accessibility
      features</a></strong>, including support for screen readers and keyboard
      navigation.
      </li>
      
      <li>Enhanced <strong>Code Analysis</strong> includes code quality checks for
      Java 8 language usage and more cross-file analysis.
      </li>
      
      <li>Several toolbar icons have changed.
      </li>
      

    2.1 (Nisan 2016)

    Bu güncellemedeki birincil değişiklikler, Android N Preview ile geliştirme için destek sağlar.

    2.1.3 (Ağustos 2016)

    Bu güncelleme; performans iyileştirmeleri, yeni özellikler ve önemli bir güvenlik düzeltmesi içeren Gradle 2.14.1 ile uyumluluk sağlar. Daha ayrıntılı bilgi için Gradle sürüm notlarına göz atın.

    Varsayılan olarak, Android Studio 2.1.3'teki yeni projeler Gradle 2.14.1'i kullanır. Mevcut projeler için IDE, Gradle 2.14.1 ve sonraki sürümlerini kullanırken gerekli olan Gradle 2.14.1 ve Gradle 2.1.3 için Android eklentisi sürümüne geçmenizi ister.

    2.1.2 (Haziran 2016)

    Bu güncelleme, bir dizi küçük değişiklik ve hata düzeltmesi içermektedir:

    • Anında Çalıştırma güncellemeleri ve hata düzeltmeleri.
    • LLDB performansı ve kilitlenme bildirimleri için iyileştirmeler.
    • Android Studio 2.1.1 güvenlik güncellemesinde, git rebase uygulamasının başarısız olmasına neden olan bir regresyon düzeltildi.

    2.1.1 (Mayıs 2016)

    Güvenlik sürümü güncellemesi.

    Android N platformu, Jack adlı yeni bir deneysel derleyici gerektiren Java 8 dili özellikleri için destek sağlar. Jack'in son sürümü şu anda yalnızca Android Studio 2.1'de desteklenmektedir. Bu nedenle, Java 8 dili özelliklerini kullanmak istiyorsanız uygulamanızı oluşturmak için Android Studio 2.1'i kullanmanız gerekir.

    Not: Jack derleyicisini etkinleştirdiğinizde şu anda uyumlu olmadıklarından Anında Çalıştırma devre dışı bırakılır.

    Android Studio 2.1 şu anda kararlı olmasına rağmen Jack derleyicisi hâlâ deneme aşamasındadır ve build.gradle dosyanızdaki jackOptions özelliğiyle onu etkinleştirmeniz gerekir.

    Android Studio 2.1, N Preview'u desteklemek için yapılan değişikliklerin dışında, küçük hata düzeltmeleri ve aşağıdaki geliştirmeleri içerir:

    • Bir N cihazı veya emülatörü kullanıp Yerel hata ayıklayıcı modunu seçtiğinizde (çalıştırma/hata ayıklama yapılandırmanızın Hata Ayıklayıcı sekmesinde) Java uyumlu C++ hata ayıklayıcısı artık varsayılan olarak etkindir.

    Artımlı Java derlemesi ve işlemde hata ayıklama dahil diğer derleme geliştirmeleri için Gradle için Android eklentinizi 2.1.0 sürümüne güncelleyin.

    2.0 (Nisan 2016)

    Not: N Geliştirici Önizlemesi için geliştirme yapıyorsanız Android Studio 2.1 Önizlemesi'ni kullanmanız gerekir. Android Studio 2.0, N Preview'u hedeflemek için gereken tüm özellikleri desteklemez.

    Anında Çalıştırma:

    • Android Studio artık temiz derlemeleri her zamankinden daha hızlı bir şekilde dağıtıyor. Ayrıca, artımlı kod değişikliklerinin emülatöre veya fiziksel cihazlara aktarılması artık neredeyse anında gerçekleşiyor. Yeni bir hata ayıklama derlemesini yeniden dağıtmadan veya çoğu durumda uygulamayı yeniden başlatmadan güncellemelerinizi inceleyin.
    • Anında Çalıştırma, çalışan bir uygulamaya aşağıdaki değişikliklerin aktarılmasını destekler:
      • Mevcut bir örnek yönteminin veya statik yöntemin uygulanmasında yapılan değişiklikler
      • Mevcut bir uygulama kaynağında yapılan değişiklikler
      • Yöntem imzası veya statik alan gibi yapısal kodda yapılan değişiklikler (API düzeyi 21 veya üstünü çalıştıran hedef cihaz gerektirir).
    • Anında Çalıştırma hakkında daha fazla bilgi edinmek için dokümanları okuyun.

      Not: Anında Çalıştırma yalnızca hata ayıklama derleme varyantını dağıttığınızda, Gradle sürüm 2.0.0 veya üzeri için Android eklentisini kullandığınızda ve uygulamanızın modül düzeyindeki build.gradle dosyasını minSdkVersion 15 veya daha yeni bir sürüm için yapılandırdığınızda desteklenir. En iyi performansı elde etmek üzere uygulamanızı minSdkVersion 21 veya daha yüksek bir sürüme göre yapılandırın.

    Lint'e yeni eklenenler:

    • Tüm sabitlerin işlendiğinden emin olmak için @IntDef ek açıklamalı tamsayılar kullanılarak switch ifadelerinin incelenmesi. Eksik ifadeleri hızlıca eklemek için amaç işlemi açılır menüsünü kullanarak Eksik @IntDef Sabitlerini Ekle'yi seçin.
    • build.gradle dosyasına sürüm numaraları eklemek için dize interpolasyonu kullanmaya yönelik yanlış girişimler için işaretler.
    • Fragment sınıfını genişleten anonim sınıflara ilişkin işaretler.
    • res/ ve asset/ klasörleri gibi güvenli olmayan konumlardaki yerel kod için işaretler. Bu işaret, yerel kodun libs/ klasöründe depolanmasını teşvik eder. Bu klasör, daha sonra yükleme sırasında uygulamanın data/app-lib/ klasörüne güvenli bir şekilde paketlenir. AOSP: #169950
    • Runtime.load() ve System.load() çağrılarına yönelik güvenli olmayan aramaları işaretler. AOSP: #179980
    • Menü çubuğundan Yeniden Düzenleme > Kullanılmayan Kaynakları Kaldır'ı seçerek kullanılmayan kaynakları bulup kaldırın. Kullanılmayan kaynak algılama, artık yalnızca kullanılmayan kaynaklar tarafından referans verilen kaynakları, .html görüntü referansları gibi ham dosyalardaki referansları ve Gradle kaynak küçültücü tarafından kullanılan tools:keep ve tools:discard özelliklerini destekler. Aynı zamanda, etkin olmayan kaynak kümelerini (diğer derleme çeşitlerinde kullanılan kaynaklar gibi) göz önünde bulundurur ve statik alan içe aktarmalarını düzgün bir şekilde işler.
    • Dolaylı API referanslarının minSdkVersion tarafından hedeflenen tüm platformlarda desteklendiğini kontrol eder.
    • RecyclerView ve Parcelable öğelerinin yanlış kullanımını işaretler.
    • @IntDef, @IntRange ve @Size denetimleri de artık int dizileri ve varargsları için kontrol ediliyor.

    Ek İyileştirmeler:

    • Her zamankinden daha hızlı olan Android Emulator 2.0 için optimize edilmiştir, daha fazla sanal cihazı destekler ve önemli ölçüde iyileştirilmiş bir kullanıcı arayüzü sunar. Yeni emülatör hakkında daha fazla bilgi edinmek için SDK Araçları sürüm notlarını okuyun.
    • Android Sanal Cihaz Yöneticisi'nde yapılan iyileştirmeler:
      • Sistem resimleri artık şu sekmeler altında kategorilere ayrıldı: Önerilir, x86 ve Diğer.
      • Gelişmiş ayarlar bölümünden çok çekirdekli desteği etkinleştirebilir ve emülatörün kullanabileceği çekirdek sayısını belirtebilirsiniz.
      • Gelişmiş ayarlar altında, aşağıdaki seçeneklerden birini belirleyerek grafiklerin emülatörde nasıl oluşturulacağını belirleyebilirsiniz:
        • Donanım: Daha hızlı oluşturma için bilgisayarınızın grafik kartını kullanın.
        • Yazılım: Yazılım tabanlı oluşturma kullanın.
        • Otomatik: En iyi seçeneği emülatörün belirlemesini sağlar. Bu, varsayılan ayardır.
    • Uygulama derlenmeden önce dağıtım hedefi belirterek AAPT paketleme süreleri iyileştirildi. Bu, Android Studio'nun yalnızca belirtilen cihaz için gereken kaynakları verimli bir şekilde paketlemesine olanak tanır.
    • Bir bulut hizmetinin kolaylığı ve ölçeklenebilirliğiyle isteğe bağlı uygulama testi sunmak için Cloud Test Lab entegrasyonu eklendi. Cloud Test Lab'i Android Studio ile nasıl kullanabileceğiniz hakkında daha fazla bilgi edinin.
    • Yeni GPU Hata Ayıklayıcısı'nın önizlemesi eklendi. Yoğun grafik kullanan uygulamalarda, uygulama veya oyununuzu optimize etmek için artık OpenGL ES kodunuzda görsel olarak adım adım ilerleyebilirsiniz.
    • Google Uygulama Dizine Ekleme Testi eklendi. Uygulamanıza daha fazla trafik çekmek, en çok hangi uygulama içeriğinin kullanıldığını keşfetmek ve yeni kullanıcılar çekmek için uygulamalarınıza URL, uygulama dizine ekleme ve arama işlevi desteği ekleyin. Uygulamanızdaki URL'leri Android Studio'da test edip doğrulayın. Android Studio'da URL'leri ve Uygulama Dizine Eklemeyi Destekleme konusuna bakın.
    • İyileştirilmiş kod analizi ve performansı içeren en yeni IntelliJ 15 sürümünden yükseltmeler. Yeni özelliklerin ve geliştirmelerin tam açıklaması için IntelliJ'deki Yenilikler sayfasına bakın.
    • XML düzenleyici otomatik tamamlama özelliği, artık özellikleri tamamlarken tırnak işaretleri ekliyor. Bu seçeneğin etkinleştirilip etkinleştirilmediğini kontrol etmek için Ayarlar veya Tercihler iletişim kutusunu açın, Düzenleyici > Genel > Akıllı Anahtarlar'a gidin ve Özellik tamamlandığında özellik değeri için tırnak işareti ekle'nin yanındaki kutuyu işaretleyin. Sorun: 195113
    • XML düzenleyici artık veri bağlama ifadeleri için kod tamamlamayı desteklemektedir.

    Android Studio v1.5.1 (Aralık 2015)

    Düzeltmeler ve geliştirmeler:

    • Düzen Düzenleyici'deki bir oluşturma hatası sorunu giderildi. Sorun: 194612
    • description manifest özelliklerini yapılandırmaya göre değiştirme özelliği eklendi. Sorun: 194705
    • Vector Asset Studio'da Android Studio Darcula görünüm temasının kontrastı iyileştirildi. Sorun: 191819
    • Vector Asset Studio'ya Yardım düğmesi desteği eklendi.
    • Veri bağlama için % operatörü desteği eklendi. Sorun: 194045
    • Hata ayıklama için uygulama başlatmanın, hata ayıklayıcının yanlış cihaza bağlanmasına neden olması durumu düzeltildi. Sorun: 195167
    • Bir uygulamayı belirli senaryolarda çalıştırmaya çalışırken ortaya çıkabilecek boş işaretçi istisnası düzeltildi.

    Android Studio 1.5.0 sürümü (Kasım 2015)

    Düzeltmeler ve geliştirmeler:

    • Android Monitor'a yeni Bellek Monitörü analiz özellikleri eklendi. Bu monitörden yakalanan bir HPROF dosyasını görüntülediğinizde, bellek sızıntıları gibi sorunları daha hızlı bulabilmeniz için ekran artık daha faydalıdır. Bu monitörü kullanmak için ana pencerenin alt kısmındaki Android Monitör'ü tıklayın. Android Monitor'da Bellek sekmesini tıklayın. Monitör çalışırken Dump Java Yığın simgesini, ardından ana pencerede Captures'ı (Yakalamalar) tıklayın ve görüntülemek için dosyayı çift tıklayın. Sağ taraftaki Analiz Yakala'yı tıklayın. (Android Cihaz Monitörü, Android Monitor ile aynı anda çalışamaz.)
    • Yeni derin bağlantı ve uygulama bağlantısı desteği eklendi. Kod Düzenleyici, AndroidManifest.xml dosyasında derin bağlantılar için otomatik olarak bir amaç filtresi oluşturabilir. Ayrıca, bir Java dosyasındaki bir etkinliğe Uygulama Dizine Ekleme API'si ile entegrasyon sağlamanıza yardımcı olacak kod da oluşturabilir. Derin bağlantı test özelliği, belirtilen bir derin bağlantının uygulama başlatabileceğini doğrulamanıza yardımcı olur. Çalıştırma/Hata Ayıklama Yapılandırmaları iletişim kutusunun Genel sekmesinde derin bağlantı başlatma seçeneklerini belirleyebilirsiniz. Bir etkinlikteki Uygulama Dizine Ekleme API'si çağrılarını Android Monitor logcat ekranını kullanarak da test edebilirsiniz. Android lint aracı artık derin bağlantıları ve Uygulama Dizine Ekleme API'sini içeren belirli sorunlar için uyarılar içeriyor.
    • Kod Düzenleyici'de özel görünümleri kod doldururken kısa adlar kullanabilme özelliği eklendi.
    • Geriye dönük uyumluluk için Vektör Asset Studio'ya daha fazla VectorDrawable öğesi desteği eklendi. Vector Asset Studio, Android 4.4 (API düzeyi 20) ve önceki sürümlerle kullanmak üzere vektör çekilebilir kaynaklarını PNG kafes resimlere dönüştürmek için bu öğeleri kullanabilir.
    • Android Studio'da size anında, işlem yapılabilir geri bildirim sağlamak için Android TV ve Android Auto için yeni lint kontrolleri eklendi ve pek çok hızlı düzeltme yapıldı. Örneğin, Android TV için izinler, desteklenmeyen donanımlar, uses-feature öğesi ve eksik banner sorunlarını bildirip bunlar için hızlı bir düzeltme sağlayabilir. Android Auto için AndroidManifest.xml dosyanızdan atıfta bulunulan tanımlayıcı dosyasında doğru kullanımı doğrulayabilir, MediaBrowserService sınıfı için amaç filtresi olup olmadığını raporlayabilir ve belirli sesli işlem sorunlarını tanımlayabilir.
    • Güvenli olmayan yayın alıcıları, SSLCertificateSocketFactory ile HostnameVerifier sınıfı kullanımları ve File.setReadable() ile File.setWritable() çağrıları için yeni lint kontrolleri eklendi. Ayrıca, özellikle yapılandırmaya göre farklılık gösteren kaynaklar için geçersiz manifest kaynak aramalarını da tespit eder.
    • Bir dizi kararlılık sorunu giderildi.

    Android Studio 1.4.1 sürümü (Ekim 2015)

    Düzeltmeler ve geliştirmeler:

    • IDE yeniden başlatıldığında, aşırı Gradle senkronizasyonuna neden olabilen Gradle modeli önbelleğe alma sorunu düzeltildi.
    • Yerel hata ayıklama kilitlenmesi sorunu düzeltildi.
    • Subversion 1.9 sürüm kontrol sistemi kullanıcılarını engelleyen sorun giderildi.
    • Yetkisiz bir cihazı bağladıktan sonra emülatörü seçememenize neden olan Cihaz Seçici iletişim sorunu düzeltildi. Sorun: 189658
    • Bölge niteleyicisi ve bölgesinde bir çeviri olan (ancak temel yerel ayarda olmayan) yerel ayarlar için yanlış çeviri hatası raporlaması düzeltildi. Sorun: 188577
    • Tema Düzenleyici'de, Düzen Düzenleyici ile etkileşimiyle ilgili kilitlenme sorunu giderildi. Sorun: 188070
    • Tema Düzenleyici'nin yeniden yüklenmesi ve düzenlenmesiyle ilgili çakışma, özelliklerin doğru şekilde güncellenmemesine neden olan bir sorun düzeltildi. Sorun: 187726
    • Tema Düzenleyici performansı iyileştirildi.
    • Manifest'te android:required özelliğinin yoksayılmasına neden olan sorun düzeltildi. Sorun: 187665

    Android Studio 1.4.0 sürümü (Eylül 2015)

    Düzeltmeler ve geliştirmeler:

    • Malzeme simgeleri ve SVG dosyaları gibi vektör grafiklerini içe aktarmak için Vector Asset Studio aracı eklendi. Bu aracı kullanmak için Proje penceresinin Android görünümünde res klasörünü sağ tıklayın ve Yeni > Vektör Öğesi'ni seçin.
    • Yeni Android Monitor işlevleri, GPU ve Ağ eklendi. Bu monitörleri kullanmak için ana pencerenin alt kısmındaki Android Monitör'ü tıklayın. Android Cihaz Monitörü, Android Monitor ile aynı anda çalışamaz.
    • Yeni Tema Düzenleyici'nin erken önizlemesi eklendi. Bu özelliği kullanmak için Araçlar > Android > Tema Düzenleyici'yi seçin.
    • Tasarım Destek Kitaplığı için Android şablonları güncellendi. Şablonlar artık Materyal Tasarım spesifikasyonu için desteğin yanı sıra geriye dönük uyumluluk için appcompat Destek Kitaplığı'nı da içeriyor.

    Android Studio v1.3.2 (Ağustos 2015)

    Düzeltmeler ve geliştirmeler:

    • Yeni simgeler ve yeni ekran yoğunluklarına sahip cihazlar oluşturmak için AVD Manager desteği de dahil olmak üzere Android 6.0 (API düzeyi 23) desteği eklendi.
    • Güncelleme kontrolleri sırasında ortaya çıkan bir istisna düzeltildi. Sorun: 183068
    • Çözülmemiş görünüm koordinatlarının düzen düzenleyicisinin kilitlenmesine neden olabileceği sorun düzeltildi. Sorun: 178690
    • Geçersiz kaynak türü uyarılarıyla ilgili sorun düzeltildi. Sorun: 182433
    • Kaynakların yanlışlıkla gizli olarak işaretlenmesine neden olan hata analizi denetimi düzeltildi. Sorun: 183120

    Android Studio v1.3.1 (Ağustos 2015)

    Düzeltmeler ve geliştirmeler:

    • Windows'da Android Wear Android Virtual Device (AVD) oluşturma desteği düzeltildi.
    • Proje Sihirbazı, girilen proje adını kullanacak şekilde güncellendi.
    • Android SDK'nın salt okunur dizinde depolanması için destek eklendi.
    • Gradle sürümü için Android eklentisi 1.3.0 olarak güncellendi.
    • Android Debug Bridge (adb) Unix kabuğundan hata ayıklama oturumu başlatmayla ilgili sorunlar düzeltildi.
    • Java paketi yeniden adlandırma mesajı, doğru paket adını gösterecek şekilde düzeltildi.

    Android Studio 1.3.0 sürümü (Temmuz 2015)

    Düzeltmeler ve geliştirmeler:

    • Uygulamanızda Google AdMob ve Analytics gibi geliştirici hizmetlerini Android Studio'dan etkinleştirmenizi sağlayan seçenekler eklendi.
    • @RequiresPermission, @CheckResults ve @MainThread gibi ek ek açıklamalar eklendi.
    • Memory Monitor'dan Java yığın dökümleri oluşturma ve iş parçacığı ayırmalarını analiz etme özelliği eklendi. Ayrıca, Android'e özel HPROF ikili biçimli dosyaları Android Studio içinden standart HPROF biçimine dönüştürebilirsiniz.
    • Paket ve araçlara erişimi basitleştirmek ve güncelleme bildirimleri sağlamak için SDK Yöneticisi Android Studio'ya entegre edildi.

      Not: Bağımsız SDK Yöneticisi'ni komut satırından kullanmaya devam edebilirsiniz, ancak yalnızca bağımsız SDK yüklemeleriyle kullanılması önerilir.

    • Parmak izi kimlik doğrulamasını simüle etmek için emülatör konsoluna finger komutu eklendi.
    • Kitaplık kaynaklarını herkese açık ve özel kaynaklar olarak tanımlamak için <public> kaynak bildirimi eklendi.

      Not: Gradle için Android eklentisi 1.3 veya sonraki bir sürümü gerektirir.

    • Uygulama mantığınızı düzen öğelerine bağlayan bildirim temelli düzenler oluşturmak için veri bağlama desteği eklendi.
    • Android Studio'da test APK'ları oluşturmak için ayrı bir test APK modülü desteği eklendi.
    • AVD Manager, HAXM optimizasyonları ve iyileştirilmiş bildirimlerle güncellendi.
    • QEMU 2.1 için 64 bit ARM ve MIPS emülatörü desteği eklendi.
    • Parcelable uygulamasının otomatik olarak oluşturulması gibi hızlı düzeltmeler eklenerek Lint uyarılarının çözümlenmesi basitleştirildi.
    • Kod snippet'lerinin hızlıca eklenmesi için canlı şablon desteği eklendi.

    Android Studio 1.2.2 sürümü(Haziran 2015)

    Düzeltmeler ve geliştirmeler:

    • Derlemelerin tamamlanmasını engelleyen derleme sorunları düzeltildi.

    Android Studio 1.2.1 sürümü (Mayıs 2015)

    Düzeltmeler ve geliştirmeler:

    • Küçük performans ve özellik sorunları düzeltildi.

    Android Studio 1.2.0 sürümü (Nisan 2015)

    Düzeltmeler ve geliştirmeler:

    • Android çalışma zamanı penceresi, Bellek İzleyici aracını içerecek şekilde güncellendi ve CPU performansı izleme için bir sekme eklendi.
    • CPU yöntemi izleme ve bellek yığını anlık görüntüleri gibi, yakalanan bellek ve CPU performansı veri dosyalarını görüntülemek için sol kenar boşluğuna bir Yakalananlar sekmesi eklendi.
    • Ek meta veri ek açıklamaları ve türetilmiş boş değer içeren genişletilmiş ek açıklama desteği.
    • Çeviri Düzenleyici, 3 harfli dil ve bölge kodları kullanan En İyi Mevcut Uygulama (BCP) 47 için ek destekle geliştirildi.
    • Daha iyi kod analizi ve performansı için entegre IntelliJ 14 ve 14.1 özellikleri:
      • Değişkenler ve yönlendiren nesneler için satır içi değerleri göstermek ve lambda ve operatör ifadelerinin satır içi değerlendirmesi yapmak için gelişmiş hata ayıklama.
      • Sekme ve girinti boyutları için kod stili algılama özelliği eklendi.
      • Kod denemeleri ve proje dosyaları olmadan prototip oluşturma için çalışma dosyaları eklendi.
      • HTML ve XML dosyalarına aynı anda açılış ve kapanış etiketleri ekleme özelliği eklendi.
      • Kaynak kodu kullanılamadığı bir kitaplıkta ne olduğunu görebilmeniz için yerleşik bir Java sınıfı derleyicisi eklendi.

      Yeni özelliklerin ve geliştirmelerin tam açıklaması için IntelliJ'deki Yenilikler sayfasına bakın.

    • Proje yönetimini ve erişimi iyileştirmek amacıyla Scratches, Proje Dosyaları, Problemler, Üretim ve Testler için ek Proje Görünümleri eklendi.
    • İyileştirilmiş ayar erişimi ve yönetimi için Dosya > Ayarlar menüsü ve iletişim kutuları iyileştirildi.
    • Windows ve Linux için yüksek yoğunluklu ekranlar desteği eklendi.
    • res/drawable-280dpi/ klasöründeki 280 dpi kaynaklar için destek eklendi.

    Android Studio v1.1.0 (Şubat 2015)

    Çeşitli düzeltmeler ve geliştirmeler:

    • Android Wear saat şablonu için destek eklendi.
    • Yeni proje ve modül oluşturma değişiklikleri, yoğunluğa özel başlatıcı simgeleri için res/mipmap klasörleri eklenecek şekilde değiştirildi. Bu res/mipmap klasörleri, başlatıcı simgeleriyle ilgili res/drawable klasörlerinin yerini alıyor.
    • Başlatıcı simgeleri Materyal Tasarım görünüme sahip olacak şekilde güncellendi ve xxxhdpi başlatıcı simgesi eklendi.
    • Lint'in bölge ve dil kombinasyonları, başlatıcı simgeleri, kaynak adları ve diğer yaygın kod sorunlarına yönelik kontrolleri eklendi ve geliştirildi.
    • Mevcut En İyi Uygulama (BCP) dil etiketi 47 için destek eklendi.

    Android Studio v1.0.1 (Aralık 2014)

    Çeşitli düzeltmeler ve geliştirmeler:

    • AVD Manager ve device.xml dosya kilidi sorunu düzeltildi.
    • Windows sistemlerinde emülatör günlüğü düzeltildi.
    • Android Studio ve Android SDK'sının Windows sistemlerindeki farklı sürücülere yüklenmiş olduğu ortalama görüntüleme tablolarının oluşturulmasıyla ilgili sorun düzeltildi.
    • Yeni indirilenler için varsayılan güncelleme kanalını Kararlı olarak ayarlar. Android Studio'nun 1.0.0 sürümünü yüklediyseniz ve kararlı, üretime hazır sürüm güncellemeleri almak istiyorsanız Dosya > Ayarlar > Güncellemeler'i kullanarak Kararlı güncelleme kanalına geçin.

    Android Studio v1.0 (Aralık 2014)

    Android Studio'nun ilk sürümü.

    Android Studio v0.8.14 (Ekim 2014)

    Değişikliklerin tam listesi için tools.android.com sayfasına bakın.

    Android Studio v0.8.6 (Ağustos 2014)

    Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.

    Android Studio v0.8.0 (Haziran 2014)

    Android Wear projeleri için destek eklendi.

    Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.

    Android Studio v0.5.2 (Mayıs 2014)

    Android Studio v0.4.6 (Mart 2014)

    Android Studio v0.4.2 (Ocak 2014)

    Android Studio v0.3.2 (Ekim 2013)

    Android Studio v0.2.x (Temmuz 2013)

    • En son IntelliJ kod tabanı değişiklikleriyle birleştirildi. Studio kullanıcıları tarafından bildirilen, Linux yazı tipi boyutlarında yapılan değişiklikler ve yazı tipi oluşturma gibi sorunlarla ilgili düzeltmeleri içerir.
    • Android Gradle eklentisi 0.5.0 olarak güncellendi.

      Dikkat: Bu yeni sürüm, geriye dönük uyumlu değildir. Eklentinin eski bir sürümünü kullanan bir proje açılırken Studio, Gradle <project_name> projesi yenilenemedi ifadesini içeren bir hata gösterir.

      Güncellenen Gradle eklentisi aşağıdaki değişiklikleri içerir:

      • IDE modeli, DSL ile özelleştirilmiş olsa bile çıkış dosyasını içerecek şekilde düzeltildi. Ayrıca, varyant nesnesindeki çıkış dosyasını almak/ayarlamak için DSL'nin, variant.packageApplication or variant.zipAlign kullanılmasının gerekmemesi düzeltildi.
      • Bağımlılık çözümlemesi sayesinde (varsayılan yapılandırma, derleme türleri, türler) kombinasyonunu ayrı ayrı değil, birlikte çözümledik.
      • Kitaplık projesinin testlerinin, kitaplığın kendi bağımlılıklarını doğru şekilde dahil etmesi için bağımlılık düzeltildi.
      • İki bağımlılığın aynı yaprak adına sahip olduğu durum düzeltildi.
      • ProGuard kuralları dosyasının türlere uygulanamamasıyla ilgili sorun düzeltildi.

      Tüm Gradle eklentisi sürüm notlarını şu adreste bulabilirsiniz: http://tools.android.com/tech-docs/new-build-system.

    • aapt'den alınan Gradle hataları artık derleme/ klasördeki birleştirilmiş çıkış dosyalarına işaret etmez, gerçek kaynak konumlarına işaret eder.
    • Paralel Derlemeler. Artık Gradle'ın paralel derlemelerini kullanabilirsiniz. Paralel derlemelerin "geliştirme" aşamasında olduğunu lütfen unutmayın (Gradle'ın belgelerine bakın.) Bu özellik, varsayılan olarak devre dışıdır. Etkinleştirmek için Tercihler > Derleyici'ye gidin ve Bağımsız modülleri paralel olarak derle kutusunu işaretleyin.
    • Düzen oluşturma, düzenleyicide kaynak katlama ve daha birçok işlem için kullanılan yeni kaynak deposu üzerinde daha fazla çalışma yapın:
      • .aar kitaplığı bağımlılıkları için temel destek (ör. kaynakların yerel kopyası olmayan bir kitaplık kullanma). Kaynak XML doğrulaması ve kaynak düzenleyicilerde gezinme için hâlâ çalışmıyor.
      • Kaynak referanslarında döngü algılama.
      • Dizenin tüm çevirilerini düzeltme işareti altında gösterebilen Hızlı Belgeler (F1), artık çeşitli Gradle türleri ve derleme türlerinin yanı sıra kitaplıklardaki tüm kaynak yer paylaşımlarını da göstermektedir. Bunlar, dizenin maskelenmiş sürümlerinin üstü çizili olacak şekilde ters kaynak yer paylaşımı sırasında listelenir.
      • Modül bağımlılıkları grubu değiştiğinde birleştirilmiş kaynakların güncellenmesini sağlamak için yapılan düzeltmeler.
      • Karakter varlık bildirimlerini ve XML ile unicode çıkışlarını düzgün bir şekilde işlemek için XML oluşturma düzeltmeleri.
    • Düzen önizleme ve düzen düzenleyicisi pencereleri için ekran görüntüsü desteği kaydedin.
    • Şablon hata düzeltmeleri.
    • Lint hata düzeltmeleri.
    • Kilitlenme raporları için çeşitli düzeltmeler. Teşekkür ederiz. Kilitlenme raporlarını göndermeye devam edin!

    Android Studio v0.1.x (Mayıs 2013)

    • Sık karşılaşılan bir Windows yükleme sorununa ilişkin düzeltme de dahil olmak üzere çeşitli hata düzeltmeleri.

    Eski Android Gradle Eklentisi sürümleri

    3.6.0 (Şubat 2020)

    Android eklentisinin bu sürümü için gerekenler:

    3.6.4 (Temmuz 2020)

    Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.

    Ayrıntılar için 4.0.1 sürüm notlarına bakın.

    Yeni özellikler

    Android Gradle eklentisinin bu sürümü aşağıdaki yeni özellikleri içerir.

    Görünüm Bağlama

    Görünüm bağlama, kodunuzdaki görünümlere başvururken derleme zamanı güvenliği sağlar. Artık findViewById() öğesini, otomatik oluşturulan bağlama sınıfı referansıyla değiştirebilirsiniz. Görünüm bağlamayı kullanmaya başlamak için her bir modülün build.gradle dosyasına aşağıdaki kodu ekleyin:

          android {
              viewBinding.enabled = true
          }
          
          android {
              viewBinding.enabled = true
          }
          

    Daha fazla bilgi edinmek için Bağlama belgelerini okuyun.

    Maven Publish eklentisi için destek

    Android Gradle eklentisi, derleme yapılarını Apache Maven deposunda yayınlamanıza olanak tanıyan Maven Publish Gradle eklentisi için destek içerir. Android Gradle eklentisi, uygulama veya kitaplık modüllerinizdeki her derleme varyantı yapısı için bir bileşen oluşturur. Bu bileşeni kullanarak, bir yayını Maven deposuna göre özelleştirebilirsiniz.

    Daha fazla bilgi edinmek için Maven Publish eklentisinin nasıl kullanılacağı ile ilgili sayfaya gidin.

    Yeni varsayılan sunum aracı

    Eklenti, uygulamanızın hata ayıklama sürümünü oluştururken APK'nızı oluşturmak için zipflinger adlı yeni bir paketleme aracı kullanır. Bu yeni araç, derleme hızında iyileştirmeler sağlayacaktır. Yeni paketleme aracı beklediğiniz gibi çalışmıyorsa lütfen hata bildiriminde bulunun. gradle.properties dosyanıza aşağıdakileri ekleyerek eski paketleme aracını kullanmaya geri dönebilirsiniz:

            android.useNewApkCreator=false
          
    Yerel derleme ilişkilendirmesi

    Artık Clang'ın projenizdeki her C/C++ dosyasını oluşturup bağlaması için gereken süreyi belirleyebilirsiniz. Gradle, bu derleyici etkinliklerine ait zaman damgalarını içeren bir Chrome izlemesi oluşturabilir. Böylece projenizi oluşturmak için gereken süreyi daha iyi anlayabilirsiniz. Bu derleme ilişkilendirme dosyasının çıktısını almak için aşağıdakileri yapın:

    1. Gradle derlemesi çalıştırırken -Pandroid.enableProfileJson=true işaretini ekleyin. Örneğin:

      gradlew assembleDebug -Pandroid.enableProfileJson=true

    2. Chrome tarayıcıyı açın ve arama çubuğuna chrome://tracing yazın.

    3. Yükle düğmesini tıklayın ve dosyayı bulmak için <var>project-root</var>/build/android-profile konumuna gidin. Dosyanın adı profile-<var>timestamp</var>.json.gz.

    Yerel derleme ilişkilendirme verilerini görüntüleyicinin üst kısmına yakın bir yerde görebilirsiniz:

    Chrome&#39;da yerel derleme ilişkilendirme izlemesi

    Davranış değişiklikleri

    Eklentinin bu sürümünü kullanırken davranışta aşağıdaki değişikliklerle karşılaşabilirsiniz.

    Varsayılan olarak sıkıştırılmamış şekilde paketlenmiş yerel kitaplıklar

    Uygulamanızı oluştururken, eklenti artık extractNativeLibs öğesini varsayılan olarak "false" değerine ayarlar. Diğer bir deyişle, yerel kitaplıklarınız sayfa hizalanır ve sıkıştırılmamış olarak paketlenir. Bu, yükleme boyutunun daha büyük olmasına neden olsa da kullanıcılarınız şunlardan faydalanır:

    • Platform, kitaplıkların kopyasını oluşturmadan doğrudan yüklü APK'dan yerel kitaplıklara erişebildiğinden daha küçük uygulama yükleme boyutu.
    • APK'nıza veya Android App Bundle'ınıza sıkıştırılmamış yerel kitaplıklar eklediğinizde Play Store sıkıştırması genellikle daha iyi sonuç verir. Bu nedenle, indirme boyutu daha küçüktür.

    Android Gradle eklentisinin bunun yerine sıkıştırılmış yerel kitaplıkları paketlemesini istiyorsanız aşağıdakileri uygulamanızın manifest dosyasına ekleyin:

            <application
              android:extractNativeLibs="true"
              ... >
            </application>
            
          

    Not: extractNativeLibs manifest özelliği, useLegacyPackaging DSL seçeneğiyle değiştirildi. Daha fazla bilgi için Sıkıştırılmış yerel kitaplıkları paketlemek için DSL'yi kullanma adlı sürüm notuna bakın.

    Varsayılan NDK sürümü

    NDK'nın birden fazla sürümünü indirirseniz Android Gradle eklentisi artık kaynak kodu dosyalarınızı derlerken kullanılacak varsayılan sürümü seçiyor. Eklenti önceden NDK'nın indirilen en son sürümünü seçiyordu. Eklentinin seçtiği varsayılan değeri geçersiz kılmak için modülün build.gradle dosyasındaki android.ndkVersion özelliğini kullanın.

    Basitleştirilmiş R sınıfı oluşturma

    Android Gradle eklentisi, projenizdeki her kitaplık modülü için yalnızca bir R sınıfı oluşturarak ve bu R sınıflarını diğer modül bağımlılıklarıyla paylaşarak derleme sınıf yolunu basitleştirir. Bu optimizasyon, derlemelerin daha hızlı olmasını sağlar ancak aşağıdakileri göz önünde bulundurmanız gerekir:

    • Derleyici, R sınıflarını yukarı akış modülü bağımlılıklarıyla paylaştığından projenizdeki her modülün benzersiz bir paket adı kullanması önemlidir.
    • Bir kitaplığın R sınıfının diğer proje bağımlılıklarına görünürlüğü, kitaplığı bağımlılık olarak dahil etmek için kullanılan yapılandırma tarafından belirlenir. Örneğin, A Kitaplığı "api" bağımlılığı olarak B Kitaplığı'nı içeriyorsa A Kitaplığı ve A Kitaplığı'na bağlı olan diğer kitaplıklar, Kitaplığı B'nin R sınıfına erişebilir. Ancak diğer kitaplıklar, B Kitaplığı'nın R sınıfına erişemeyebilir. A Kitaplığı, implementation bağımlılık yapılandırmasını kullanıyorsa. Daha fazla bilgi edinmek için bağımlılık yapılandırmaları hakkındaki bilgileri okuyun.
    Varsayılan yapılandırmada eksik olan kaynakları kaldırın

    Kitaplık modüllerinde, varsayılan kaynak grubuna dahil etmediğiniz bir dil için kaynak eklerseniz (örneğin, /values-es/strings.xml içinde dize kaynağı olarak hello_world ekler ancak bu kaynağı /values/strings.xml içinde tanımlamazsanız) Android Gradle eklentisi projenizi derlerken artık bu kaynağı içermez. Bu davranış değişikliği, daha az Resource Not Found çalışma zamanı istisnasına neden olacak ve derleme hızını artıracaktır.

    D8 artık ek açıklamalar için CLASS saklama politikasına uyuyor

    D8, uygulamanızı derlerken artık ek açıklamaların CLASS saklama politikası uyguladığını dikkate alıyor ve bu ek açıklamalar çalışma zamanında kullanılamıyor. Bu davranış, daha önce Android Gradle eklentisinin ve D8'in eski sürümlerini kullanarak uygulamanızı derlerken çalışma zamanı sırasında bu ek açıklamalara erişime izin veren API düzeyi 23'e ayarlanır.

    Diğer davranış değişiklikleri
    • aaptOptions.noCompress artık tüm platformlarda (hem APK hem de paketler için) büyük/küçük harfe duyarlı değildir ve büyük harfli karakterlerin kullanıldığı yollara uyar.
    • Veri bağlama artık varsayılan olarak artımlı. Daha fazla bilgi edinmek için 110061530 numaralı sorunu inceleyin.

    • RoboElektrik birim testleri de dahil olmak üzere tüm birim testleri artık tamamen önbelleğe alınabilir. Daha fazla bilgi edinmek için 115873047 numaralı sorunu inceleyin.

    Hata düzeltmeleri

    Android Gradle eklentisinin bu sürümü aşağıdaki hata düzeltmelerini içerir:

    • Robolectric birim testleri, artık veri bağlama kullanan kitaplık modüllerinde desteklenmektedir. Daha fazla bilgi edinmek için 126775542 numaralı sorunu inceleyin.
    • Artık Gradle'ın paralel yürütme modu etkinken connectedAndroidTest görevlerini birden fazla modülde çalıştırabilirsiniz.

    Bilinen sorunlar

    Bu bölümde, Android Gradle eklentisinin 3.6.0 sürümünde bulunan bilinen sorunlar açıklanmaktadır.

    Android Lint görevinin performansı yavaş

    Ayrıştırma altyapısındaki bir regresyon nedeniyle Android Lint'in bazı projelerde tamamlanması çok daha uzun sürebilir. Bu da belirli kod yapılarında lambda için tahmin edilen türlerin daha yavaş hesaplamasına neden olur.

    Sorun, IDEA'da bir hata olarak bildirilmiş olup Android Gradle Plugin 4.0'da düzeltilecektir.

    Manifest sınıfı eksik {:#agp-missing-manifest}

    Uygulamanız manifest dosyasında özel izinler tanımlıyorsa Android Gradle eklentisi genellikle özel izinlerinizi dize sabitleri olarak içeren bir Manifest.java sınıfı oluşturur. Eklenti, bu sınıfı uygulamanızla birlikte paketler. Böylece, çalışma zamanında bu izinlere daha kolay başvurabilirsiniz.

    Android Gradle eklentisi 3.6.0'da manifest sınıfı oluşturma işlemi çalışmıyor. Uygulamanızı eklentinin bu sürümüyle derliyorsanız ve bu sürüm manifest sınıfına referans veriyorsa bir ClassNotFoundException istisnasıyla karşılaşabilirsiniz. Bu sorunu çözmek için aşağıdakilerden birini yapın:

    • Özel izinlerinize tam nitelikli adlarıyla referans verin. Örneğin, "com.example.myapp.permission.DEADLY_ACTIVITY".

    • Kendi sabitlerinizi aşağıda gösterildiği gibi tanımlayın:

                  public final class CustomPermissions {
                    public static final class permission {
                      public static final String DEADLY_ACTIVITY="com.example.myapp.permission.DEADLY_ACTIVITY";
                    }
                  }
                  
                

    3.5.0 (Ağustos 2019)

    Android Studio 3.5 ile birlikte Android Gradle eklentisi 3.5.0, önemli bir sürüm olup Android geliştirici araçlarının üç ana alanını iyileştirmeye odaklanan Project Marble'ın bir sonucudur: sistem sağlığı, özelliklerin daha iyi hale getirilmesi ve hataları düzeltme. Bu güncellemenin ana odak noktası, proje derleme hızını artırmaktı.

    Bunlar ve diğer Project Marble güncellemeleri hakkında bilgi için Android Geliştiricileri blog yayınını veya aşağıdaki bölümleri okuyun.

    Android eklentisinin bu sürümü için gerekenler:

    3.5.4 (Temmuz 2020)

    Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.

    Ayrıntılar için 4.0.1 sürüm notlarına bakın.

    3.5.3 (Aralık 2019)

    Android Studio 3.5.3'ü destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir.

    3.5.2 (Kasım 2019)

    Android Studio 3.5.2'yi destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    3.5.1 (Ekim 2019)

    Android Studio 3.5.1'i destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    Artımlı ek açıklama işleme

    gradle.properties dosyanızda android.databinding.incremental=true özelliğini ayarlarsanız Veri Bağlama ek açıklama işlemcisi artımlı ek açıklama işlemeyi destekler. Bu optimizasyon, artımlı derleme performansının iyileştirilmesini sağlar. Optimize edilmiş ek açıklama işlemcilerinin tam listesi için artımlı ek açıklama işlemcileri tablosuna bakın.

    Ayrıca KAPT 1.3.30 ve sonraki sürümleri, gradle.properties dosyanıza kapt.incremental.apt=true ekleyerek etkinleştirebileceğiniz artımlı ek açıklama işlemcilerini de destekler.

    Önbelleğe alınabilir birim testleri

    includeAndroidResources öğesini true değerine ayarlayarak birim testlerini Android kaynakları, öğeler ve manifestleri kullanacak şekilde etkinleştirdiğinizde Android Gradle eklentisi, mutlak yolları içeren bir test yapılandırma dosyası oluşturur. Bu dosya, önbellek yeniden konumlanabilirliğini bozar. Eklentiye bunun yerine göreli yolları kullanarak test yapılandırmasını oluşturma talimatı verebilirsiniz. Bu yöntem, AndroidUnitTest görevinin tamamen önbelleğe alınabilir olmasını sağlar. Bunun için gradle.properties dosyanıza aşağıdakileri ekleyin:

          android.testConfig.useRelativePath = true
        

    Bilinen sorunlar

    • Kotlin Gradle eklentisinin 1.3.31 veya önceki bir sürümünü kullanırken projenizi oluştururken veya senkronize ederken aşağıdaki uyarıyı görebilirsiniz:

                WARNING: API 'variant.getPackageLibrary()' is obsolete and has been replaced
                        with 'variant.getPackageLibraryProvider()'.
                
              

      Bu sorunu çözmek için eklentiyi 1.3.40 veya sonraki bir sürüme yükseltin.

    3.4.0 (Nisan 2019)

    Android eklentisinin bu sürümü için gerekenler:

    3.4.3 (Temmuz 2020)

    Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.

    Ayrıntılar için 4.0.1 sürüm notlarına bakın.

    3.4.2 (Temmuz 2019)

    Android Studio 3.4.2'yi destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    3.4.1 (Mayıs 2019)

    Android Studio 3.4.1'i destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    Yeni özellikler

    • Yeni lint denetimi bağımlılık yapılandırmaları: lintChecks davranışı değişti ve Android kitaplıklarınızda hangi lint denetimlerinin paketleneceği üzerinde daha fazla kontrol sahibi olmanızı sağlamak için lintPublish adlı yeni bir bağımlılık yapılandırması kullanıma sunuldu.

      • lintChecks: Bu, yalnızca projenizi yerel olarak oluştururken çalıştırmak istediğiniz lint denetimleri için kullanmanız gereken mevcut bir yapılandırmadır. Yayınlanan AAR'ye lint kontrollerini dahil etmek için daha önce lintChecks bağımlılık yapılandırmasını kullandıysanız bu bağımlılıkları, aşağıda açıklanan yeni lintPublish yapılandırmasını kullanacak şekilde taşımanız gerekir.
      • lintPublish: Yayınlanan AAR'ye eklemek istediğiniz lint kontrolleri için kitaplık projelerinde bu yeni yapılandırmayı aşağıda gösterildiği gibi kullanın. Bu, kitaplığınızı kullanan projelerin bu lint kontrollerini de uyguladığı anlamına gelir.

      Aşağıdaki kod örneğinde, yerel bir Android kitaplık projesinde her iki bağımlılık yapılandırması da kullanılmaktadır.

      dependencies {
        // Executes lint checks from the ':lint' project at build time.
        lintChecks project(':lint')
        // Packages lint checks from the ':lintpublish' in the published AAR.
        lintPublish project(':lintpublish')
      }
              
      dependencies {
        // Executes lint checks from the ':lint' project at build time.
        lintChecks(project(":lint"))
        // Packages lint checks from the ':lintpublish' in the published AAR.
        lintPublish(project(":lintpublish"))
          }
              
      • Genel olarak, paketleme ve imzalama görevlerinde genel bir derleme hızı artışı olması gerekir. Bu görevlerle ilgili bir performans gerilemesi fark ederseniz lütfen hata bildiriminde bulunun.

    Davranış değişiklikleri

    • Android Hazır Uygulamalar Özelliği eklentisinin kullanımdan kaldırılmasıyla ilgili uyarı: Hazır uygulamanızı oluşturmak için hâlâ com.android.feature eklentisini kullanıyorsanız Android Gradle eklentisi 3.4.0 tarafından kullanımdan kaldırma uyarısı verilir. Eklentinin gelecekteki sürümlerinde hazır uygulama oluşturmaya devam edebileceğinizden emin olmak için hazır uygulamanızı, tek bir Android App Bundle'dan hem yüklü hem de hazır uygulama deneyimlerinizi yayınlamanıza olanak tanıyan dinamik özellik eklentisini kullanarak taşıyın.

    • R8 varsayılan olarak etkindir: R8; şeker giderme, küçültme, karartma, optimize etme ve kopyalama işlemlerini tek bir adımda birleştirerek derleme performansında gözle görülür iyileşmeler sağlar. Android Gradle eklentisi 3.3.0'da kullanıma sunulan R8, artık eklenti 3.4.0 ve üst sürümlerini kullanan uygulama ve Android kitaplığı projelerinde varsayılan olarak etkin.

    Aşağıdaki resimde, R8 kullanıma sunulmadan önceki derleme işlemine üst düzey bir genel bakış sunulmaktadır.

    R8&#39;den önce ProGuard, ayıklama ve şekeri ayıklama işlemlerinden farklı bir derleme adımıydı.

    Artık R8 ile şeker giderme, küçültme, karartma, optimize etme ve dexing (D8) işlemleri aşağıda gösterildiği gibi tek adımda tamamlanır.

    R8&#39;de sudan arındırma, küçültme, karartma, optimize etme 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ı hatırlatmak isteriz. Dolayısıyla, R8'den yararlanmak için muhtemelen herhangi bir işlem yapmanız gerekmeyecektir. Ancak özel olarak Android projeleri için tasarlanmış olan ProGuard'dan farklı bir teknoloji olduğundan, küçültme ve optimizasyon, ProGuard'ın sahip olmadığı kodun kaldırılmasıyla sonuçlanabilir. Dolayısıyla, çok düşük olasılıkla da olsa bu kodu derleme çıkışınızda tutmak için ek kurallar eklemeniz gerekebilir.

    R8'i kullanırken sorun yaşıyorsanız sorununuzun bir çözümü olup olmadığını kontrol etmek için R8 uyumluluğuyla ilgili SSS sayfasını okuyun. Çözüm belgelenmemişse lütfen hata bildiriminde bulunun. Projenizin gradle.properties dosyasına aşağıdaki satırlardan birini 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ünde, uygulama modülünüzün build.gradle dosyasında useProguard öğesini false olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties dosyasında R8'i devre dışı bırakıp bırakmamanızdan bağımsız olarak, R8'i kullanarak uygulamanızın kodunu bu derleme türü için küçültür.

    • ndkCompile desteği sonlandırıldı: Yerel kitaplıklarınızı derlemek için ndkBuild kullanmayı denediğinizde artık bir derleme hatası alıyorsunuz. Bunun yerine, Projenize C ve C++ kodu eklemek için CMake veya ndk-build kullanmanız gerekir.

    Bilinen sorunlar

    • Benzersiz paket adlarının doğru kullanımı şu anda zorunlu değil ancak eklentinin sonraki sürümlerinde daha katı olacak. Android Gradle eklentisinin 3.4.0 sürümünde, aşağıdaki satırı gradle.properties dosyanıza ekleyerek projenizin kabul edilebilir paket adları tanımlayıp tanımlamadığını kontrol etmek için kaydolabilirsiniz.

                android.uniquePackageNames = true
                
              

      Android Gradle eklentisi aracılığıyla paket adı ayarlama hakkında daha fazla bilgi edinmek için Uygulama kimliğini ayarlama bölümüne bakın.

    3.3.0 (Ocak 2019)

    Android eklentisinin bu sürümü için gerekenler:

    3.3.3 (Temmuz 2020)

    Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.

    Ayrıntılar için 4.0.1 sürüm notlarına bakın.

    3.3.2 (Mart 2019)

    Android Studio 3.3.2'yi destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.

    3.3.1 (Şubat 2019)

    Android Studio 3.3.1'i destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir.

    Yeni özellikler

    • İyileştirilmiş sınıf yolu senkronizasyonu: Android Gradle eklentisi, çalışma zamanınızdaki bağımlılıkları çözümlerken ve zaman sınıf yollarını derlerken birden çok sınıf yolunda görünen bağımlılıklar için belirli aşağı akış sürümü çakışmalarını düzeltmeye çalışır.

      Örneğin, çalışma zamanı sınıf yolu, Kitaplığı A sürüm 2.0'ı, derleme sınıf yolu ise Kitaplığı A sürüm 1.0'ı içeriyorsa eklenti, hataları önlemek için derleme sınıf yoluna olan bağımlılığı otomatik olarak Kitaplık A sürüm 2.0 olarak günceller.

      Ancak, çalışma zamanı sınıf yolu, Kitaplığı A sürüm 1.0'ı içeriyorsa ve derleme işlemi, Kitaplığı A sürüm 2.0'ı içeriyorsa eklenti, derleme sınıf yolunun bağımlılığını Kitaplık A sürüm 1.0'a düşürmez. Bu durumda bir hata alırsınız. Daha fazla bilgi edinmek için Sınıf yolları arasındaki çakışmaları düzeltme bölümüne bakın.

    • Ek açıklama işlemcileri kullanılırken iyileştirilmiş artımlı Java derlemesi: Bu güncelleme, ek açıklama işlemcileri kullanılırken artımlı Java derlemesi için sağlanan desteği iyileştirerek derleme süresini kısaltır.

      Not: Bu özellik, Gradle sorunu 8194 nedeniyle Gradle 5.1 dışında Gradle 4.10.1 ve sonraki sürümlerle uyumludur.

      • Kapt kullanan projeler (yalnızca Kotlin projelerinin çoğu ve Kotlin-Java karma projeleri): Veri bağlama veya retro-lambda eklentisi kullandığınızda bile artımlı Java derlemesi etkinleştirilir. Kapt görevi tarafından ek açıklama işleme henüz tamamlanmadı.

      • Kapt kullanmayan projeler için (yalnızca Java projeleri): Kullandığınız ek açıklama işlemcilerinin tümü artımlı ek açıklama işlemeyi destekliyorsa artımlı Java derlemesi varsayılan olarak etkinleştirilir. Artımlı ek açıklama işlemcisi kullanımını izlemek için Gradle sorunu 5277'yi izleyin.

        Bununla birlikte, bir veya daha fazla ek açıklama işlemcisi artımlı derlemeleri desteklemiyorsa artımlı Java derlemesi etkinleştirilmez. Bunun yerine, aşağıdaki işareti gradle.properties dosyanıza ekleyebilirsiniz:

        android.enableSeparateAnnotationProcessing=true
                    

        Bu işareti eklediğinizde Android Gradle eklentisi, ek açıklama işlemcilerini ayrı bir görevde yürütür ve Java derleme görevinin kademeli olarak çalıştırılmasını sağlar.

    • Eski API'yi kullanırken daha iyi hata ayıklama bilgileri: Eklenti, artık desteklenmeyen bir API kullandığınızı algıladığında artık API'nin nerede kullanıldığını belirlemenize yardımcı olmak için daha ayrıntılı bilgiler sağlayabilir. Ek bilgileri görmek için projenizin gradle.properties dosyasına aşağıdakileri eklemeniz gerekir:

                android.debug.obsoleteApi=true
              

      İşareti, komut satırından -Pandroid.debug.obsoleteApi=true öğesini ileterek de etkinleştirebilirsiniz.

    • Komut satırından özellik modülleri üzerinde araç testleri çalıştırabilirsiniz.

    Davranış değişiklikleri

    • Geç görev yapılandırması: Eklenti, mevcut derlemeyi (veya yürütme görevi grafiğinde yer almayan görevleri) tamamlamak için gerekli olmayan görevlerin başlatılmasını ve yapılandırılmasını önlemek amacıyla artık Gradle'ın yeni görev oluşturma API'sini kullanıyor. Örneğin, "yayınlama" ve "hata ayıklama" derleme varyantları gibi birden fazla derleme varyantınız varsa ve uygulamanızın "hata ayıklama" sürümünü oluşturuyorsanız eklenti, uygulamanızın "yayınlama" sürümü için görevleri başlatmak ve yapılandırmaktan kaçınır.

      Variants API'de variant.getJavaCompile() gibi bazı eski yöntemleri çağırmak görev yapılandırmasını zorunlu kılmaya devam edebilir. Derlemenizin geç görev yapılandırması için optimize edildiğinden emin olmak amacıyla variant.getJavaCompileProvider() gibi TaskProvider nesnesi döndüren yeni yöntemler çağırın.

      Özel derleme görevleri yürütüyorsanız Gradle'ın yeni görev oluşturma API'sine nasıl uyarlayacağınızı öğrenin.

    • Belirli bir derleme türü için useProguard false ayarlanırken eklenti artık uygulamanızın kodunu ve kaynaklarını küçültmek ve gizlemek için ProGuard yerine R8 kullanıyor. R8 hakkında daha fazla bilgi edinmek için Android Geliştirici Blogu'ndaki bu blog yayınını okuyun.

    • Kitaplık projeleri için daha hızlı R sınıfı oluşturma: Önceden Android Gradle eklentisi, projenizin bağımlılıklarının her biri için bir R.java dosyası oluşturuyor ve ardından bu R sınıflarını uygulamanızın diğer sınıflarıyla birlikte derliyordu. Eklenti artık, önce ara R.java sınıfları oluşturmadan, uygulamanızın derlenmiş R sınıfını doğrudan içeren bir JAR oluşturur. Bu optimizasyon, birçok kitaplık alt projesi ve bağımlılığı içeren projeler için derleme performansını önemli ölçüde iyileştirebilir ve Android Studio'da dizine ekleme hızını artırabilir.

    • Android App Bundle oluştururken, Android 6.0 (API düzeyi 23) veya sonraki sürümleri hedefleyen bu uygulama paketinden oluşturulan APK'lar artık varsayılan olarak yerel kitaplıklarınızın sıkıştırılmamış sürümlerini içeriyor. Bu optimizasyon, cihazın kitaplığın bir kopyasını oluşturma ihtiyacını ortadan kaldırır ve böylece uygulamanızın diskteki boyutunu küçültür. Bu optimizasyonu devre dışı bırakmak isterseniz aşağıdaki kodu gradle.properties dosyanıza ekleyin:

      android.bundle.enableUncompressedNativeLibs = false
              
    • Eklenti, bazı üçüncü taraf eklentilerinin minimum sürümlerini zorunlu kılar.

    • Tek varyantlı proje senkronizasyonu: Android Studio'nun projenizin nasıl yapılandırıldığını anlamasını sağlamak için derleme yapılandırmanızla projenizi senkronize etmeniz önemli bir adımdır. Ancak bu süreç büyük projelerde çok zaman alabilir. Projenizde birden fazla derleme varyantı kullanılıyorsa proje senkronizasyonlarını artık yalnızca seçtiğiniz varyantla sınırlandırarak optimize edebilirsiniz.

      Bu optimizasyonu etkinleştirmek için Android Gradle Plugin 3.3.0 veya sonraki sürümleriyle birlikte Android Studio 3.3 veya sonraki bir sürümünü kullanmanız gerekir. Bu gereksinimleri karşıladığınızda IDE, projenizi senkronize ederken bu optimizasyonu etkinleştirmenizi ister. Optimizasyon yeni projelerde de varsayılan olarak etkindir.

      Bu optimizasyonu manuel olarak etkinleştirmek için Dosya > Ayarlar > Deneysel > Gradle'ı (Mac'te Android Studio > Tercihler > Deneysel > Gradle) tıklayın ve Yalnızca etkin varyantı senkronize et onay kutusunu seçin.

      Not: Bu optimizasyon, Java ve C++ dillerini içeren projeleri tam olarak destekler. Ayrıca, Kotlin için de bir miktar destek sunar. Kotlin içeriği olan projeler için optimizasyonu etkinleştirdiğinizde Gradle senkronizasyonu, dahili olarak tam varyantları kullanmaya başlar.

    • Eksik SDK paketlerinin otomatik olarak indirilmesi: Bu işlev, NDK'yı destekleyecek şekilde genişletilmiştir. Daha fazla bilgi edinmek için Gradle ile eksik paketleri otomatik olarak indirme bölümünü okuyun.

    Hata Düzeltmeleri

    • Android Gradle eklentisi 3.3.0, aşağıdaki sorunları düzeltir:

      • Jetifier etkin olmasına rağmen AndroidX sürümü yerine android.support.v8.renderscript.RenderScript çağıran derleme işlemi
      • Statik olarak gruplandırılmış annotation.AnyRes dahil olmak üzere androidx-rs.jar nedeniyle oluşan çakışmalar
      • RenderScript kullanırken artık build.gradle dosyalarınızda Derleme Araçları sürümünü manuel olarak ayarlamanız gerekmez

    3.2.0 (Eylül 2018)

    Android eklentisinin bu sürümü için gerekenler:

    3.2.1 (Ekim 2018)

    Bu güncellemeyle birlikte artık SDK Derleme Araçları için sürüm belirtmeniz gerekmiyor. Android Gradle eklentisi artık varsayılan olarak 28.0.3 sürümünü kullanıyor.

    Yeni özellikler

    • Android App Bundle oluşturma desteği: Uygulama paketi, uygulamanızın derlenen tüm kod ve kaynaklarını içeren yeni bir yükleme biçimidir. APK oluşturma işlemini erteler ve Google Play Store'da oturum açarsınız. Artık birden fazla APK oluşturmak, imzalamak ve yönetmek zorunda değilsiniz. Ayrıca kullanıcılar, cihazları için optimize edilmiş daha küçük indirmelerden yararlanabilirler. Daha fazla bilgi için Android App Bundle'lar hakkında başlıklı makaleyi okuyun.

    • Ek açıklama işlemcileri kullanılırken iyileştirilmiş artımlı derleme hızları için destek: AnnotationProcessorOptions DSL artık CommandLineArgumentProvider hizmetinin kapsamını genişletiyor. Böylece siz veya ek açıklama işleyen yazarı, artımlı derleme özelliği türü ek açıklamaları kullanarak işlemci için bağımsız değişkenlere ek açıklama ekleyebilir. Bu ek açıklamaları kullanmak, artımlı ve önbelleğe alınmış temiz derlemelerin doğruluğunu ve performansını iyileştirir. Daha fazla bilgi edinmek için Bağımsız değişkenleri ek açıklama işlemcilerine iletme bölümünü okuyun.

    • AndroidX için taşıma aracı: Android 3.2 ve sonraki sürümleriyle Android Gradle eklentisi 3.2.0 kullanılırken, menü çubuğundan Yeniden düzenle > AndroidX'e taşı'yı seçerek projenizin yerel ve Maven bağımlılıklarını yeni AndroidX kitaplıklarını kullanacak şekilde taşıyabilirsiniz. Bu taşıma aracını kullandığınızda, gradle.properties dosyanızda aşağıdaki işaretler de true olarak ayarlanır:

      • android.useAndroidX: Android eklentisi, true olarak ayarlandığında Destek Kitaplığı yerine uygun AndroidX kitaplığını kullanır. Bu işaret belirtilmezse eklenti varsayılan olarak işareti false olarak ayarlar.

      • android.enableJetifier: Android eklentisi true olarak ayarlandığında, mevcut üçüncü taraf kitaplıkların ikili kodlarını yeniden yazarak mevcut üçüncü taraf kitaplıkları otomatik olarak AndroidX'i kullanacak şekilde taşır. Bu işaret belirtilmezse eklenti varsayılan olarak işareti false olarak ayarlar. android.useAndroidX politikası da true olarak ayarlıyken bu işareti yalnızca true olarak ayarlayabilirsiniz. Aksi takdirde yapı hatası alırsınız.

        Daha fazla bilgi edinmek için AndroidX'e genel bakış başlıklı makaleyi okuyun.

    • Yeni kod küçültücü, R8: R8, ProGuard'ın yerini alan yeni bir kod küçültme ve kod karartma aracıdır. Projenizin gradle.properties dosyasına aşağıdakileri ekleyerek R8'in önizleme sürümünü kullanmaya başlayabilirsiniz:

              android.enableR8 = true
              
              android.enableR8 = true
              

    Davranış değişiklikleri

    • D8 ile sudan arındırma özelliği artık varsayılan olarak etkin.

    • AAPT2 artık Google'ın Maven deposunda. AAPT2'yi kullanmak için aşağıda gösterildiği gibi build.gradle dosyanızda google() bağımlılığı bulunduğundan emin olun:

                buildscript {
                      repositories {
                          google() // here
                          jcenter()
                      }
                      dependencies {
                          classpath 'com.android.tools.build:gradle:3.2.0'
                      }
                  }
                  allprojects {
                      repositories {
                          google() // and here
                          jcenter()
                  }
                
                buildscript {
                      repositories {
                          google() // here
                          jcenter()
                      }
                      dependencies {
                          classpath 'com.android.tools.build:gradle:3.2.0'
                      }
                  }
                  allprojects {
                      repositories {
                          google() // and here
                          jcenter()
                  }
                
    • Yerel multidex artık varsayılan olarak etkin. Android Studio'nun önceki sürümleri, bir uygulamanın hata ayıklama sürümünü Android API düzeyi 21 veya üstünü çalıştıran bir cihaza dağıtırken yerel multidex'i etkinleştiriyordu. Artık Android Gradle eklentisi, ister bir cihaza dağıtım yapıyor ister yayınlanmak üzere bir APK oluşturuyor olun, minSdkVersion=21 veya daha yüksek bir değere ayarlanmış tüm modüller için yerel multidex'i etkinleştirir.

    • Eklenti artık protobuf eklentisinin (0.8.6), Kotlin eklentisinin (1.2.50) ve Crashlytics eklentisinin (1.25.4) minimum sürümünü zorunlu kılıyor.

    • Özellik modülü eklentisi com.android.feature, artık modül adı belirlenirken yalnızca harf, rakam ve alt çizgi kullanılmasını zorunlu kılıyor. Örneğin, özellik modülü adınız tire içeriyorsa yapı hatası alırsınız. Bu davranış, dinamik özellik eklentisinin davranışıyla aynıdır.

    Hata düzeltmeleri

    3.1.0 (Mart 2018)

    Android eklentisinin bu sürümü için gerekenler:

    • Gradle 4.4 veya sonraki sürümler.

      Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.

    • Build Tools 27.0.3 veya üzeri sürümler.

      Eklenti varsayılan olarak gereken en düşük sürümü kullanır. Bu nedenle android.buildToolsVersion özelliğini kullanarak derleme araçları için artık bir sürüm belirtmenize gerek olmadığını unutmayın.

    Yeni DEX derleyicisi, D8

    Android Studio artık D8 adında yeni bir DEX derleyici varsayılan olarak kullanılıyor. DEX derleme, Android Runtime (veya Android'in eski sürümlerinde Dalvik) için .class bayt kodunu .dex bayt koduna dönüştürme işlemidir. DX adlı önceki derleyiciye kıyasla D8, uygulama çalışma zamanı performansı aynı veya daha iyiyken daha hızlı derler ve daha küçük DEX dosyaları çıkarır.

    D8, günlük uygulama geliştirme iş akışınızı değiştirmeyecektir. Ancak yeni derleyiciyle ilgili herhangi bir sorun yaşarsanız lütfen hata bildiriminde bulunun. Projenizin gradle.properties dosyasına aşağıdakileri ekleyerek D8'i geçici olarak devre dışı bırakabilir ve DX'i kullanabilirsiniz:

          android.enableD8=false
        

    Java 8 dili özelliklerini kullanan projeler için artımlı şeker giderme varsayılan olarak etkindir. Projenizin gradle.properties dosyasında aşağıdakileri belirterek bu özelliği devre dışı bırakabilirsiniz:

          android.enableIncrementalDesugaring=false.
        

    Önizleme kullanıcıları: D8'in önizleme sürümünü kullanıyorsanız bu sürümün artık JDK'ye değil, SDK derleme araçlarındaki kitaplıklara göre derlendiğini unutmayın. Bu nedenle, JDK'da bulunan ancak SDK derleme araçları kitaplıklarında bulunmayan API'lere erişiyorsanız bir derleme hatası alırsınız.

    Davranış değişiklikleri

    • Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluşturulurken, artık varsayılan olarak şu ABI'ler için APK oluşturmaz: mips, mips64 ve armeabi.

      Bu ABI'leri hedefleyen APK'lar oluşturmak isterseniz NDK r16b veya daha düşük bir kullanmanız ve ABI'leri aşağıda gösterildiği gibi build.gradle dosyanızda belirtmeniz gerekir:

                splits {
                    abi {
                        include 'armeabi', 'mips', 'mips64'
                        ...
                    }
                }
              
                splits {
                    abi {
                        include("armeabi", "mips", "mips64")
                        ...
                    }
                }
              
    • Android eklentisinin önbelleği oluşturma özelliği artık 30 günden daha eski önbellek girişlerini kaldırıyor.

    • "auto" öğesinin resConfig hizmetine iletilmesi, APK'nıza paketlemek için dize kaynakları artık otomatik olarak seçilmez. "auto" öğesini kullanmaya devam ederseniz eklenti, uygulamanızın ve bağımlılıklarının sağladığı tüm dize kaynaklarını paketler. Bu yüzden, bunun yerine, eklentinin APK'nıza paketlemesini istediğiniz her bir yerel ayarı belirtmeniz gerekir.

    • Yerel modüller uygulamanızın test APK'sına bağlı olamayacağından, desteklenen testlerinize androidTestImplementation yerine androidTestApi yapılandırmasını kullanarak bağımlılık eklemek, Gradle'ın aşağıdaki uyarıyı vermesine neden olur:

              WARNING: Configuration 'androidTestApi' is obsolete
              and has been replaced with 'androidTestImplementation'
              
              WARNING: Configuration 'androidTestApi' is obsolete
              and has been replaced with 'androidTestImplementation'
              

    Düzeltmeler

    • Android Studio'nun kompozit derlemelerdeki bağımlılıkları düzgün tanımadığı bir sorunu düzeltir.
    • Android eklentisini tek bir derlemede birden fazla kez yüklerken proje senkronizasyon hatasıyla karşılaştığınız sorunu düzeltir. Örneğin, birden fazla alt projenin derleme komut dosyası sınıf yolunda Android eklentisini içermesi gibi.

    3.0.0 (Ekim 2017)

    Android Gradle eklentisi 3.0.0, büyük projelerin performans sorunlarını gidermeyi amaçlayan çeşitli değişiklikler içerir.

    Örneğin, yaklaşık 130 modül ve çok sayıda harici bağımlılığa (ancak kod ya da kaynak içermeyen) sahip bir örnek iskelet projesinde aşağıdakine benzer performans iyileştirmeleri elde edebilirsiniz:

    Android eklenti sürümü + Gradle sürümü Android eklentisi 2.2.0 + Gradle 2.14.1 Android eklentisi 2.3.0 + Gradle 3.3 Android eklentisi 3.0.0 + Gradle 4.1
    Yapılandırma (ör. ./gradlew --help çalıştırma) ~2 dk. ~9 sn. ~2,5 sn.
    1 satırlık Java değişikliği (uygulama değişikliği) ~2 dk. 15 sn. ~29 sn. ~6,4 sn.

    Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma işlemini göz önünde bulundurmalısınız.

    Yukarıda açıklanan performans iyileştirmelerinden memnun kalmazsanız lütfen hata bildiriminde bulunun ve Gradle Profiler'ı kullanarak derlemenizin izini ekleyin.

    Android eklentisinin bu sürümü için gerekenler:

    • Gradle 4.1 veya üzeri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
    • Build Tools 26.0.2 veya daha yeni bir sürüme sahip olma. Bu güncellemeyle birlikte artık derleme araçları için sürüm belirtmenize gerek yoktur. Eklenti, varsayılan olarak gerekli minimum sürümü kullanır. Dolayısıyla artık android.buildToolsVersion özelliğini kaldırabilirsiniz.

    3.0.1 (Kasım 2017)

    Bu, Android Studio 3.0.1'i destekleyen küçük bir güncellemedir ve genel hata düzeltmelerini ve performans iyileştirmelerini içerir.

    Optimizasyonlar

    • Ayrıntılı bir görev grafiği sayesinde, çok modüllü projelerde daha iyi paralellik.
    • Bağımlılıkta değişiklik yaparken Gradle, söz konusu bağımlılığın API'sine erişimi olmayan modülleri yeniden derlemeyerek daha hızlı derlemeler gerçekleştirir. Gradle'ın yeni bağımlılık yapılandırmalarını kullanarak API'lerini diğer modüllere sızdıran bağımlılıkları kısıtlamanız gerekir: implementation, api, compileOnly ve runtimeOnly.
    • Sınıf başına veri işleme sayesinde daha yüksek artımlı derleme hızı. Her sınıf artık ayrı DEX dosyalarında derleniyor ve yalnızca değiştirilen sınıflar yeniden dizinleniyor. Ayrıca minSdkVersion değerini 20 veya daha düşük bir değere ayarlayan ve eski multi-dex kullanan uygulamalar için de iyileştirilmiş derleme hızları bekleyebilirsiniz.
    • Belirli görevleri önbelleğe alınmış çıkışları kullanacak şekilde optimize ederek derleme hızları artırıldı. Bu optimizasyondan yararlanmak için önce Gradle oluşturma önbelleğini etkinleştirmeniz gerekir.
    • Artık varsayılan olarak etkin olan AAPT2 kullanılarak iyileştirilmiş artımlı kaynak işleme. AAPT2 kullanırken sorun yaşıyorsanız lütfen hata bildiriminde bulunun. Ayrıca gradle.properties dosyanızda android.enableAapt2=false ayarını yaparak ve komut satırından ./gradlew --stop komutunu çalıştırarak Gradle arka plan programını yeniden başlatarak AAPT2'yi devre dışı bırakabilirsiniz.

    Yeni özellikler

    • Varyanta duyarlı bağımlılık yönetimi. Eklenti, bir modülün belirli bir varyantını oluştururken artık yerel kitaplık modülü bağımlılıklarının varyantlarını, oluşturduğunuz modülün varyantıyla otomatik olarak eşleştirir.
    • Android Hazır Uygulamalar'ı ve Android Hazır Uygulamalar SDK'sını (SDK yöneticisini kullanarak indirebilirsiniz) destekleyen yeni bir Özellik modülü eklentisi içerir. Yeni eklentiyle Özellik modülleri oluşturma hakkında daha fazla bilgi edinmek için Birden çok özelliğe sahip hazır bir uygulamanın yapısı başlıklı makaleyi okuyun.
    • Belirli Java 8 dili özelliklerini ve Java 8 kitaplıklarını kullanmak için yerleşik destek. Jack kullanımdan kaldırıldı ve artık gerekli değil. Varsayılan araç zincirinde yerleşik olarak bulunan iyileştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir. Daha fazla bilgi için Java 8 dili özelliklerini kullanma konusunu okuyun.
    • Android Test Orchestrator ile test çalıştırma desteği eklendi. Bu destek, uygulamanızın her testini kendi Enstrümantasyon çağrısı ile çalıştırmanıza olanak tanır. Her test kendi Enstrümantasyon örneğinde çalıştığı için testler arasında paylaşılan durum, cihazınızın CPU veya belleğinde birikmez. Bir test çökse bile yalnızca kendi Enstrümantasyon örneğini kaldırır. Böylece diğer testleriniz çalışmaya devam eder.

      • Cihaz üzerinde test düzenlemesinin kullanılıp kullanılmayacağını belirlemek için testOptions.execution eklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibi ANDROID_TEST_ORCHESTRATOR belirtmeniz gerekir. Varsayılan olarak bu özellik, cihaz üzerinde düzenlemeyi devre dışı bırakan ve test çalıştırmanın standart yöntemi olan HOST değerine ayarlanmıştır.

      Modern

              android {
                testOptions {
                  execution 'ANDROID_TEST_ORCHESTRATOR'
                }
              }
              

      Kotlin

              android {
                testOptions {
                  execution = "ANDROID_TEST_ORCHESTRATOR"
                }
              }
              
    • Yeni androidTestUtil bağımlılık yapılandırması, araç testlerinizi çalıştırmadan önce Android Test Orchestrator gibi başka bir test yardımcı APK'sı yüklemenize olanak tanır:

      Modern

              dependencies {
                androidTestUtil 'com.android.support.test:orchestrator:1.0.0'
                ...
              }
              

      Kotlin

              dependencies {
                androidTestUtil("com.android.support.test:orchestrator:1.0.0")
                ...
              }
              
    • RoboElektrik gibi Android kaynakları gerektiren birim testlerini desteklemek için testOptions.unitTests.includeAndroidResources eklendi. Bu özelliği true olarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemi gerçekleştirir. Daha sonra testleriniz, aşağıdaki anahtarlar için sınıf yolunda com/android/tools/test_config.properties öğesini inceleyebilir:

      • android_merged_assets: Birleştirilmiş öğe dizininin mutlak yolu.

        Not: Kitaplık modüllerinde, birleştirilen öğeler bağımlılık öğelerini içermez (65550419 numaralı sorunu inceleyin).

      • android_merged_manifest: Birleştirilmiş manifest dosyasının mutlak yolu.

      • android_merged_resources: Birleştirilmiş kaynak dizininin mutlak yolu. Bu dizin, modüldeki tüm kaynakları ve tüm bağımlılıklarını içerir.

      • android_custom_package: Son R sınıfının paket adı. Uygulama kimliğini dinamik olarak değiştirirseniz bu paket adı, uygulamanın manifest dosyasındaki package özelliğiyle eşleşmeyebilir.

    • Kaynak olarak yazı tipleri desteği (Android 8.0 (API seviyesi 26) sürümünde kullanıma sunulan yeni bir özelliktir).
    • Android Hazır Uygulamalar SDK'sı 1.1 ve sonraki sürümlere sahip dile özgü APK'lar için destek.
    • Artık harici yerel derleme projenizin çıkış dizinini aşağıda gösterildiği gibi değiştirebilirsiniz:

      Modern

              android {
                  ...
                  externalNativeBuild {
                      // For ndk-build, instead use the ndkBuild block.
                      cmake {
                          ...
                          // Specifies a relative path for outputs from external native
                          // builds. You can specify any path that's not a subdirectory
                          // of your project's temporary build/ directory.
                          buildStagingDirectory "./outputs/cmake"
                      }
                  }
              }
              

      Kotlin

              android {
                  ...
                  externalNativeBuild {
                      // For ndk-build, instead use the ndkBuild block.
                      cmake {
                          ...
                          // Specifies a relative path for outputs from external native
                          // builds. You can specify any path that's not a subdirectory
                          // of your project's temporary build/ directory.
                          buildStagingDirectory = "./outputs/cmake"
                      }
                  }
              }
              
    • Artık Android Studio'dan yerel projeler oluştururken CMake 3.7 veya sonraki bir sürümü kullanabilirsiniz.
    • Yeni lintChecks bağımlılık yapılandırması, özel lint kurallarını tanımlayan bir JAR oluşturup bunu AAR ve APK projelerinizde paketlemenize olanak tanır.

      Özel lint kurallarınız, tek bir JAR üreten ve yalnızca compileOnly bağımlılıkları içeren ayrı bir projeye ait olmalıdır. Böylece diğer uygulama ve kitaplık modülleri, lintChecks yapılandırmasını kullanarak lint projenize bağlanabilir:

      Modern

              dependencies {
                  // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file
                  // and package it with your module. If the module is an Android library,
                  // other projects that depend on it automatically use the lint checks.
                  // If the module is an app, lint includes these rules when analyzing the app.
                  lintChecks project(':lint-checks')
              }
              

      Kotlin

              dependencies {
                  // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file
                  // and package it with your module. If the module is an Android library,
                  // other projects that depend on it automatically use the lint checks.
                  // If the module is an app, lint includes these rules when analyzing the app.
                  lintChecks(project(":lint-checks"))
              }
              

    Davranış değişiklikleri

    • Android eklentisi 3.0.0 belirli API'leri kaldırır ve bu API'leri kullanırsanız derlemeniz bozulur. Örneğin, artık outputFile() nesnelerine erişmek için Variants API'yi kullanamaz veya her bir varyantın manifest dosyasını almak için processManifest.manifestOutputFile() kullanamazsınız. Daha fazla bilgi için API değişiklikleri bölümünü okuyun.
    • Artık derleme araçları için bir sürüm belirtmeniz gerekmez (böylece artık android.buildToolsVersion özelliğini kaldırabilirsiniz). Varsayılan olarak eklenti, kullandığınız Android eklentisinin sürümü için gereken minimum derleme araçları sürümünü kullanır.
    • Artık aşağıda gösterildiği gibi buildTypes blokunda PNG dosyalarını önceden etkinleştirebilir veya devre dışı bırakabilirsiniz. PNG dosyası oluşturma, hata ayıklama derlemeleri hariç tüm derlemeler için varsayılan olarak etkindir. Bunun nedeni, çok sayıda PNG dosyası içeren projelerin derleme süresini uzatmasıdır. Bu nedenle, diğer derleme türlerinin derleme sürelerini iyileştirmek için PNG şablon işlemeyi devre dışı bırakmalı veya resimlerinizi WebP'ye dönüştürmelisiniz.

      Modern

            android {
              buildTypes {
                release {
                  // Disables PNG crunching for the release build type.
                  crunchPngs false
                }
              }
            }
            

      Kotlin

            android {
              buildTypes {
                release {
                  // Disables PNG crunching for the release build type.
                  isCrunchPngs = false
                }
              }
            }
            
    • Android eklentisi artık otomatik olarak harici CMake projelerinizde yapılandırdığınız yürütülebilir hedefler oluşturuyor.
    • Artık annotationProcessor bağımlılık yapılandırmasını kullanarak işlemci sınıf yoluna ek açıklama işlemcileri eklemeniz gerekir.
    • Kullanımdan kaldırılan ndkCompile kullanımını artık daha kısıtlı hale getirebilirsiniz. APK'nıza paketlemek istediğiniz yerel kodu derlemek için bunun yerine, CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi edinmek için ndkcker'dan taşıma başlıklı makaleyi inceleyin.

    3.0.0 (Ekim 2017)

    Android Gradle eklentisi 3.0.0, büyük projelerin performans sorunlarını gidermeyi amaçlayan çeşitli değişiklikler içerir.

    Örneğin, yaklaşık 130 modül ve çok sayıda harici bağımlılığa (ancak kod ya da kaynak içermeyen) sahip bir örnek iskelet projesinde aşağıdakine benzer performans iyileştirmeleri elde edebilirsiniz:

    Android eklenti sürümü + Gradle sürümü Android eklentisi 2.2.0 + Gradle 2.14.1 Android eklentisi 2.3.0 + Gradle 3.3 Android eklentisi 3.0.0 + Gradle 4.1
    Yapılandırma (ör. ./gradlew --help çalıştırma) ~2 dk. ~9 sn. ~2,5 sn.
    1 satırlık Java değişikliği (uygulama değişikliği) ~2 dk. 15 sn. ~29 sn. ~6,4 sn.

    Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma işlemini göz önünde bulundurmalısınız.

    Yukarıda açıklanan performans iyileştirmelerinden memnun kalmazsanız lütfen hata bildiriminde bulunun ve Gradle Profiler'ı kullanarak derlemenizin izini ekleyin.

    Android eklentisinin bu sürümü için gerekenler:

    • Gradle 4.1 veya üzeri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
    • Build Tools 26.0.2 veya daha yeni bir sürüme sahip olma. Bu güncellemeyle birlikte artık derleme araçları için sürüm belirtmenize gerek yoktur. Eklenti, varsayılan olarak gerekli minimum sürümü kullanır. Dolayısıyla artık android.buildToolsVersion özelliğini kaldırabilirsiniz.

    3.0.1 (Kasım 2017)

    Bu, Android Studio 3.0.1'i destekleyen küçük bir güncellemedir ve genel hata düzeltmelerini ve performans iyileştirmelerini içerir.

    Optimizasyonlar

    • Ayrıntılı bir görev grafiği sayesinde, çok modüllü projelerde daha iyi paralellik.
    • Bağımlılıkta değişiklik yaparken Gradle, söz konusu bağımlılığın API'sine erişimi olmayan modülleri yeniden derlemeyerek daha hızlı derlemeler gerçekleştirir. Gradle'ın yeni bağımlılık yapılandırmalarını kullanarak API'lerini diğer modüllere sızdıran bağımlılıkları kısıtlamanız gerekir: implementation, api, compileOnly ve runtimeOnly.
    • Sınıf başına veri işleme sayesinde daha yüksek artımlı derleme hızı. Her sınıf artık ayrı DEX dosyalarında derleniyor ve yalnızca değiştirilen sınıflar yeniden dizinleniyor. Ayrıca minSdkVersion değerini 20 veya daha düşük bir değere ayarlayan ve eski multi-dex kullanan uygulamalar için de iyileştirilmiş derleme hızları bekleyebilirsiniz.
    • Belirli görevleri önbelleğe alınmış çıkışları kullanacak şekilde optimize ederek derleme hızları artırıldı. Bu optimizasyondan yararlanmak için önce Gradle oluşturma önbelleğini etkinleştirmeniz gerekir.
    • Artık varsayılan olarak etkin olan AAPT2 kullanılarak iyileştirilmiş artımlı kaynak işleme. AAPT2 kullanırken sorun yaşıyorsanız lütfen hata bildiriminde bulunun. Ayrıca gradle.properties dosyanızda android.enableAapt2=false ayarını yaparak ve komut satırından ./gradlew --stop komutunu çalıştırarak Gradle arka plan programını yeniden başlatarak AAPT2'yi devre dışı bırakabilirsiniz.

    Yeni özellikler

    • Varyanta duyarlı bağımlılık yönetimi. Eklenti, bir modülün belirli bir varyantını oluştururken artık yerel kitaplık modülü bağımlılıklarının varyantlarını, oluşturduğunuz modülün varyantıyla otomatik olarak eşleştirir.
    • Android Hazır Uygulamalar'ı ve Android Hazır Uygulamalar SDK'sını (SDK yöneticisini kullanarak indirebilirsiniz) destekleyen yeni bir Özellik modülü eklentisi içerir. Yeni eklentiyle Özellik modülleri oluşturma hakkında daha fazla bilgi edinmek için Birden çok özelliğe sahip hazır bir uygulamanın yapısı başlıklı makaleyi okuyun.
    • Belirli Java 8 dili özelliklerini ve Java 8 kitaplıklarını kullanmak için yerleşik destek. Jack kullanımdan kaldırıldı ve artık gerekli değil. Varsayılan araç zincirinde yerleşik olarak bulunan iyileştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir. Daha fazla bilgi için Java 8 dili özelliklerini kullanma konusunu okuyun.
    • Android Test Orchestrator ile test çalıştırma desteği eklendi. Bu destek, uygulamanızın her testini kendi Enstrümantasyon çağrısı ile çalıştırmanıza olanak tanır. Her test kendi Enstrümantasyon örneğinde çalıştığı için testler arasında paylaşılan durum, cihazınızın CPU veya belleğinde birikmez. Bir test çökse bile yalnızca kendi Enstrümantasyon örneğini kaldırır. Böylece diğer testleriniz çalışmaya devam eder.

      • Cihaz üzerinde test düzenlemesinin kullanılıp kullanılmayacağını belirlemek için testOptions.execution eklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibi ANDROID_TEST_ORCHESTRATOR belirtmeniz gerekir. Varsayılan olarak bu özellik, cihaz üzerinde düzenlemeyi devre dışı bırakan ve test çalıştırmanın standart yöntemi olan HOST değerine ayarlanmıştır.

      Modern

              android {
                testOptions {
                  execution 'ANDROID_TEST_ORCHESTRATOR'
                }
              }
              

      Kotlin

              android {
                testOptions {
                  execution = "ANDROID_TEST_ORCHESTRATOR"
                }
              }
              
    • Yeni androidTestUtil bağımlılık yapılandırması, araç testlerinizi çalıştırmadan önce Android Test Orchestrator gibi başka bir test yardımcı APK'sı yüklemenize olanak tanır:

      Modern

              dependencies {
                androidTestUtil 'com.android.support.test:orchestrator:1.0.0'
                ...
              }
              

      Kotlin

              dependencies {
                androidTestUtil("com.android.support.test:orchestrator:1.0.0")
                ...
              }
              
    • RoboElektrik gibi Android kaynakları gerektiren birim testlerini desteklemek için testOptions.unitTests.includeAndroidResources eklendi. Bu özelliği true olarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemi gerçekleştirir. Daha sonra testleriniz, aşağıdaki anahtarlar için sınıf yolunda com/android/tools/test_config.properties öğesini inceleyebilir:

      • android_merged_assets: Birleştirilmiş öğe dizininin mutlak yolu.

        Not: Kitaplık modüllerinde, birleştirilen öğeler bağımlılık öğelerini içermez (65550419 numaralı sorunu inceleyin).

      • android_merged_manifest: Birleştirilmiş manifest dosyasının mutlak yolu.

      • android_merged_resources: Birleştirilmiş kaynak dizininin mutlak yolu. Bu dizin, modüldeki tüm kaynakları ve tüm bağımlılıklarını içerir.

      • android_custom_package: Son R sınıfının paket adı. Uygulama kimliğini dinamik olarak değiştirirseniz bu paket adı, uygulamanın manifest dosyasındaki package özelliğiyle eşleşmeyebilir.

    • Kaynak olarak yazı tipleri desteği (Android 8.0 (API seviyesi 26) sürümünde kullanıma sunulan yeni bir özelliktir).
    • Android Hazır Uygulamalar SDK'sı 1.1 ve sonraki sürümlere sahip dile özgü APK'lar için destek.
    • Artık harici yerel derleme projenizin çıkış dizinini aşağıda gösterildiği gibi değiştirebilirsiniz:

      Modern

              android {
                  ...
                  externalNativeBuild {
                      // For ndk-build, instead use the ndkBuild block.
                      cmake {
                          ...
                          // Specifies a relative path for outputs from external native
                          // builds. You can specify any path that's not a subdirectory
                          // of your project's temporary build/ directory.
                          buildStagingDirectory "./outputs/cmake"
                      }
                  }
              }
              

      Kotlin

              android {
                  ...
                  externalNativeBuild {
                      // For ndk-build, instead use the ndkBuild block.
                      cmake {
                          ...
                          // Specifies a relative path for outputs from external native
                          // builds. You can specify any path that's not a subdirectory
                          // of your project's temporary build/ directory.
                          buildStagingDirectory = "./outputs/cmake"
                      }
                  }
              }
              
    • Artık Android Studio'dan yerel projeler oluştururken CMake 3.7 veya sonraki bir sürümü kullanabilirsiniz.
    • Yeni lintChecks bağımlılık yapılandırması, özel lint kurallarını tanımlayan bir JAR oluşturup bunu AAR ve APK projelerinizde paketlemenize olanak tanır.

      Özel lint kurallarınız, tek bir JAR üreten ve yalnızca compileOnly bağımlılıkları içeren ayrı bir projeye ait olmalıdır. Böylece diğer uygulama ve kitaplık modülleri, lintChecks yapılandırmasını kullanarak lint projenize bağlanabilir:

      Modern

              dependencies {
                  // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file
                  // and package it with your module. If the module is an Android library,
                  // other projects that depend on it automatically use the lint checks.
                  // If the module is an app, lint includes these rules when analyzing the app.
                  lintChecks project(':lint-checks')
              }
              

      Kotlin

              dependencies {
                  // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file
                  // and package it with your module. If the module is an Android library,
                  // other projects that depend on it automatically use the lint checks.
                  // If the module is an app, lint includes these rules when analyzing the app.
                  lintChecks(project(":lint-checks"))
              }
              

    Davranış değişiklikleri

    • Android eklentisi 3.0.0 belirli API'leri kaldırır ve bu API'leri kullanırsanız derlemeniz bozulur. Örneğin, artık outputFile() nesnelerine erişmek için Variants API'yi kullanamaz veya her bir varyantın manifest dosyasını almak için processManifest.manifestOutputFile() kullanamazsınız. Daha fazla bilgi için API değişiklikleri bölümünü okuyun.
    • Artık derleme araçları için bir sürüm belirtmeniz gerekmez (böylece artık android.buildToolsVersion özelliğini kaldırabilirsiniz). Varsayılan olarak eklenti, kullandığınız Android eklentisinin sürümü için gereken minimum derleme araçları sürümünü kullanır.
    • Artık aşağıda gösterildiği gibi buildTypes blokunda PNG dosyalarını önceden etkinleştirebilir veya devre dışı bırakabilirsiniz. PNG dosyası oluşturma, hata ayıklama derlemeleri hariç tüm derlemeler için varsayılan olarak etkindir. Bunun nedeni, çok sayıda PNG dosyası içeren projelerin derleme süresini uzatmasıdır. Bu nedenle, diğer derleme türlerinin derleme sürelerini iyileştirmek için PNG şablon işlemeyi devre dışı bırakmalı veya resimlerinizi WebP'ye dönüştürmelisiniz.

      Modern

            android {
              buildTypes {
                release {
                  // Disables PNG crunching for the release build type.
                  crunchPngs false
                }
              }
            }
            

      Kotlin

            android {
              buildTypes {
                release {
                  // Disables PNG crunching for the release build type.
                  isCrunchPngs = false
                }
              }
            }
            
    • Android eklentisi artık otomatik olarak harici CMake projelerinizde yapılandırdığınız yürütülebilir hedefler oluşturuyor.
    • Artık annotationProcessor bağımlılık yapılandırmasını kullanarak işlemci sınıf yoluna ek açıklama işlemcileri eklemeniz gerekir.
    • Kullanımdan kaldırılan ndkCompile kullanımını artık daha kısıtlı hale getirebilirsiniz. APK'nıza paketlemek istediğiniz yerel kodu derlemek için bunun yerine, CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi edinmek için ndkcker'dan taşıma başlıklı makaleyi inceleyin.

    2.3.0 (Şubat 2017)

    2.3.3 (Haziran 2017)

    Bu, Android Studio 2.3.3 ile uyumluluk sağlayan küçük bir güncellemedir.

    2.3.2 (Mayıs 2017)

    Bu, Android Studio 2.3.2 ile uyumluluk sağlayan küçük bir güncellemedir.

    2.3.1 (Nisan 2017)

    Bu, Android eklentisi 2.3.0 için, bazı fiziksel Android cihazların Anında Çalıştırma ile düzgün çalışmamasına neden olan bir sorunu gideren küçük bir güncellemedir (bkz. 235879 numaralı sorun).

    Bağımlılıklar:
    • Gradle 3.3 veya sonraki sürümleri.
    • Build Tools 25.0.0 veya daha yeni bir sürüme sahip olma.
    Yeni:
    • Performans iyileştirmelerini ve yeni özellikleri içeren Gradle 3.3'ü kullanıyor. Daha fazla bilgi için Gradle sürüm notlarına göz atın.
    • Önbellek oluşturma: Android eklentisinin projenizi oluştururken oluşturduğu belirli çıkışları (paketlenmemiş AAR'ler ve önceden dizinlenmiş uzaktan bağımlılıklar) depolar. Temiz derlemeleriniz, önbelleği kullanırken çok daha hızlıdır. Çünkü derleme sistemi, önbelleğe alınan dosyaları sonraki derlemeler sırasında yeniden oluşturmak yerine kolayca yeniden kullanabilir. Android eklentisi 2.3.0 ve sonraki sürümleri kullanan projeler varsayılan olarak derleme önbelleğini kullanır. Daha fazla bilgi edinmek için Derleme Önbelleği ile Derleme Hızını Artırma konusunu okuyun.
    Değişiklikler:

    2.2.0 (Eylül 2016)

    Bağımlılıklar:
    Yeni:
    • Performans iyileştirmelerini ve yeni özellikleri içeren Gradle 2.14.1'i kullanır ve Gradle arka plan programı kullanılırken yerel ayrıcalık artırmaya izin veren bir güvenlik açığını düzeltir. Daha fazla bilgi için Gradle sürüm notlarına göz atın.
    • externalNativeBuild {} DSL kullanan Gradle, artık yerel kaynaklarınıza bağlantı oluşturmanıza ve CMake veya ndk-build kullanarak yerel kitaplıkları derlemenize olanak tanır. Gradle, yerel kitaplıklarınızı oluşturduktan sonra bunları APK'nızda paketler. CMake ve Gradle ile ndk-build kullanımı hakkında daha fazla bilgi edinmek için Projenize C ve C++ Kodu Ekleme başlıklı makaleyi okuyun.
    • Komut satırından bir derleme çalıştırdığınızda, Gradle artık projenizin bağımlı olduğu eksik SDK bileşenlerini veya güncellemeleri otomatik olarak indirmeyi dener. Daha fazla bilgi edinmek için Gradle ile eksik paketleri otomatik olarak indirme bölümünü okuyun.
    • Yeni deneysel önbelleğe alma özelliği, Gradle'ın kitaplıklarınızın önceden dizine alınmış sürümlerini depolayarak, depolayarak ve yeniden kullanarak derleme sürelerini hızlandırmasını sağlar. Bu deneysel özelliği kullanma hakkında daha fazla bilgi edinmek için Önbellek Oluşturma kılavuzunu okuyun.
    • Tek bir görevde sıkıştırma, imzalama ve zipaligning işlemlerini gerçekleştiren yeni bir varsayılan paketleme ardışık düzenini benimseyerek derleme performansını iyileştirir. gradle.properties dosyanıza android.useOldPackaging=true ekleyerek eski paketleme araçlarını kullanmaya geri dönebilirsiniz. Yeni sunum aracı kullanılırken zipalignDebug görevi kullanılamaz. Ancak createZipAlignTask(String taskName, File inputFile, File outputFile) yöntemini çağırarak kendiniz bir tane oluşturabilirsiniz.
    • APK imzalama özelliği, artık geleneksel JAR imzalamasının yanı sıra APK İmza Şeması v2'yi de kullanıyor. Tüm Android platformları oluşturulan APK'ları kabul eder. İmzalandıktan sonra bu APK'larda yapılacak herhangi bir değişiklik, v2 imzalarını geçersiz kılar ve bir cihaza yüklenmesini engeller. Bu özelliği devre dışı bırakmak için modül düzeyindeki build.gradle dosyanıza aşağıdakileri ekleyin:

      Modern

      android {
        ...
        signingConfigs {
          config {
            ...
            v2SigningEnabled false
          }
        }
      }
            

      Kotlin

      android {
        ...
        signingConfigs {
          create("config") {
            ...
            v2SigningEnabled = false
          }
        }
      }
            
    • Multidex derlemelerinde artık ProGuard kurallarını kullanarak Gradle'ın uygulamanızın ana DEX dosyasında hangi sınıfları derleyeceğini belirleyebilirsiniz. Uygulamanızı başlatırken önce Android sistemi ana DEX dosyasını yüklediğinden, başlangıçta belirli sınıfları ana DEX dosyasında derleyerek öncelik sırasına koyabilirsiniz. Özel olarak ana DEX dosyanız için bir ProGuard yapılandırma dosyası oluşturduktan sonra, buildTypes.multiDexKeepProguard kullanarak yapılandırma dosyasının yolunu Gradle'a iletin. Bu DSL'yi kullanmak, uygulamanız için genel ProGuard kuralları sağlayan ve ana DEX dosyası için sınıf belirtmeyen buildTypes.proguardFiles kullanımından farklıdır.
    • Uygulamanızı bir cihaza yükleyeceğiniz zaman boyutunu küçültebilen android:extractNativeLibs işareti için destek ekler. Uygulama manifestinizin <application> öğesinde bu işareti false olarak ayarladığınızda Gradle, yerel kitaplıklarınızın sıkıştırılmamış ve APK'nızla uyumlu sürümlerini paketler. Bu, PackageManager'in yükleme sırasında yerel kitaplıklarınızı APK'dan cihazın dosya sistemine kopyalamasını engeller ve uygulamanızın delta güncellemelerini küçültme avantajını sunar.
    • Artık ürün aromaları için versionNameSuffix ve applicationIdSuffix değerlerini belirtebilirsiniz. (Sorun 59614)
    Değişiklikler:
    • getDefaultProguardFile artık Gradle için Android eklentisinin sağladığı varsayılan ProGuard dosyalarını döndürüyor ve artık Android SDK'daki dosyaları kullanmıyor.
    • İyileştirilmiş Jack derleyici performansı ve özellikleri:
      • Jack artık testCoverageEnabled değerini true olarak ayarlarken Jacoco test kapsamını destekliyor.
      • Ek açıklama işlemcileri için geliştirilmiş destek. Sınıf yolunuzdaki ek açıklama işlemcileri (tüm compile bağımlılıkları gibi) derlemenize otomatik olarak uygulanır. Ayrıca derlemenizde bir ek açıklama işlemcisi belirtebilir ve modül düzeyindeki build.gradle dosyanızda javaCompileOptions.annotationProcessorOptions {} DSL'yi kullanarak bağımsız değişkenler iletebilirsiniz:

        Modern

        android {
          ...
          defaultConfig {
            ...
            javaCompileOptions {
              annotationProcessorOptions {
                className 'com.example.MyProcessor'
                // Arguments are optional.
                arguments = [ foo : 'bar' ]
              }
            }
          }
        }
            

        Kotlin

        android {
          ...
          defaultConfig {
            ...
            javaCompileOptions {
              annotationProcessorOptions {
                className = "com.example.MyProcessor"
                // Arguments are optional.
                arguments(mapOf(foo to "bar"))
              }
            }
          }
        }
            

        Derleme sırasında bir ek açıklama işlemcisi uygulamak ancak APK'nıza dahil etmek istemiyorsanız annotationProcessor bağımlılık kapsamını kullanın:

        Modern

        dependencies {
            compile 'com.google.dagger:dagger:2.0'
            annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
           // or use buildVariantAnnotationProcessor to target a specific build variant
        }
            

        Kotlin

        dependencies {
            implementation("com.google.dagger:dagger:2.0")
            annotationProcessor("com.google.dagger:dagger-compiler:2.0")
           // or use buildVariantAnnotationProcessor to target a specific build variant
        }
            
      • Ayarlayabileceğiniz parametrelerin listesi için komut satırından aşağıdaki komutu çalıştırın:

        java -jar /build-tools/jack.jar --help-properties
        
      • Varsayılan olarak, Gradle arka plan programının yığın boyutu en az 1, 5 GB ise Jack artık Gradle ile aynı süreçte çalışır. Arka plan programı yığın boyutunu ayarlamak için gradle.properties dosyanıza aşağıdakileri ekleyin:
        # This sets the daemon heap size to 1.5GB.
        org.gradle.jvmargs=-Xmx1536M
        

    2.1.0 (Nisan 2016)

    2.1.3 (Ağustos 2016)

    Bu güncelleme Gradle 2.14.1 ve sonraki sürümlerini gerektirir. Gradle 2.14.1, performans iyileştirmelerini, yeni özellikleri ve önemli bir güvenlik düzeltmesini içerir. Daha fazla bilgi için Gradle sürüm notlarına göz atın.

    Bağımlılıklar:
    Yeni:
    • Jack araç zinciri kullanılarak N Developer Preview, JDK 8 ve Java 8 dil özellikleri için destek eklendi. Daha fazla bilgi edinmek için N Önizleme kılavuzunu okuyun.

      Not: Anında Çalıştırma şu anda Jack ile çalışmamaktadır ve yeni araç zinciri kullanılırken devre dışı bırakılır. Jack'i yalnızca N Preview için geliştiriyorsanız ve desteklenen Java 8 dili özelliklerini kullanmak istiyorsanız kullanmanız gerekir.

    • Geliştirme sırasında derleme süresini kısaltmak amacıyla artımlı Java derlemesi için varsayılan destek eklendi. Bu işlemi, kaynağın yalnızca değişen veya yeniden derlenmesi gereken bölümlerini yeniden derleyerek yapar. Bu özelliği devre dışı bırakmak için modül düzeyindeki build.gradle dosyanıza aşağıdaki kodu ekleyin:

      Modern

      android {
        ...
        compileOptions {
          incremental false
        }
      }
      

      Kotlin

      android {
        ...
        compileOptions {
          incremental = false
        }
      }
      
    • Ayrı, harici sanal makine işlemleri yerine derleme işleminin içinde dexing işlemini gerçekleştiren işlem içinde dexing desteği eklendi. Bu hem artımlı derlemeleri hem de tam derlemeleri hızlandırır. Bu özellik, Gradle arka plan programının maksimum yığın boyutunu en az 2.048 MB olarak ayarlayan projeler için varsayılan olarak etkindir. Projenizin gradle.properties dosyasına aşağıdakini ekleyerek bu işlemi gerçekleştirebilirsiniz:

      ```none org.gradle.jvmargs = -Xmx2048m ```

      Modül düzeyindeki build.gradle dosyanızda javaMaxHeapSize için bir değer tanımladıysanız org.gradle.jvmargs öğesini javaMaxHeapSize + 1024 MB değerine ayarlamanız gerekir. Örneğin, javaMaxHeapSize öğesini "2048m" olarak ayarlarsanız projenizin gradle.properties dosyasına aşağıdakileri eklemeniz gerekir:

      ```none org.gradle.jvmargs = -Xmx3072m ```

      İşlemde dexing'i devre dışı bırakmak için modül düzeyindeki build.gradle dosyanıza aşağıdaki kodu ekleyin:

      Modern

      android {
        ...
        dexOptions {
            dexInProcess false
        }
      }
      

      Kotlin

      android {
        ...
        dexOptions {
            dexInProcess = false
        }
      }
      

    2.0.0 (Nisan 2016)

    Bağımlılıklar:
    Yeni:
    • Bayt kodu yerleştirmeyi destekleyerek ve kod ve kaynak güncellemelerini emülatördeki veya fiziksel bir cihazdaki çalışan uygulamaya aktararak Anında Çalıştırma'yı etkinleştirir.
    • Uygulama çalışmıyorken bile artımlı derlemeler için destek eklendi. Android Debug Bridge üzerinden artımlı değişikliklerin bağlı cihaza aktarılmasıyla tam derleme süreleri iyileştirilir.
    • Eşzamanlı olarak kaç çalışan dex işleminin üretilebileceğini kontrol etmek için maxProcessCount eklendi. Modül düzeyindeki build.gradle dosyasında bulunan aşağıdaki kod, maksimum eşzamanlı işlem sayısını 4 olarak ayarlar:

      Modern

      android {
        ...
        dexOptions {
          maxProcessCount = 4 // this is the default value
        }
      }
      

      Kotlin

      android {
        ...
        dexOptions {
          maxProcessCount = 4 // this is the default value
        }
      }
      
        </li>
      
        <li>Added an experimental code shrinker to support pre-dexing and reduce re-dexing
        of dependencies, which are not supported with Proguard. This improves the build
        speed of your debug build variant. Because the experimental shrinker does not
        support optimization and obfuscation, you should enable Proguard for your
        release builds. To enable the experimental shrinker for your debug builds, add
        the following to your module-level <code>build.gradle</code> file:
      

      Modern

      android {
        ...
        buildTypes {
          debug {
            minifyEnabled true
            useProguard false
          }
          release {
            minifyEnabled true
            useProguard true // this is a default setting
          }
        }
      }
      

      Kotlin

      android {
        ...
        buildTypes {
          getByName("debug") {
            minifyEnabled = true
            useProguard = false
          }
          getByName("release") {
            minifyEnabled = true
            useProguard = true // this is a default setting
          }
        }
      }
      
        </li>
      
        <li>Added logging support and improved performance for the resource shrinker.
        The resource shrinker now logs all of its operations into a <code>resources.txt</code>
        file located in the same folder as the Proguard log files.
        </li>
      </ul>
      

    Değişen davranış:
    • minSdkVersion, 18 veya daha yüksek bir değere ayarlandığında APK imzalaması SHA256 kullanır.
    •   <li>DSA and ECDSA keys can now sign APK packages.
      
          <p class="note">
            <strong>Note:</strong> The <a href=
            "/training/articles/keystore.html">Android keystore</a> provider no
            longer supports <a href=
            "/about/versions/marshmallow/android-6.0-changes.html#behavior-keystore">
            DSA keys on Android 6.0</a> (API level 23) and higher.
          </p>
      
        </li>
      </ul>
      

    Düzeltilen sorunlar:
    • Hem test hem de ana derleme yapılandırmalarında yinelenen AAR bağımlılıklarına neden olan bir sorun düzeltildi.

    Gradle için Android eklentisi, düzeltme 1.5.0 (Kasım 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Veri Bağlama eklentisi Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje başına build.gradle dosyasına aşağıdaki kodu ekleyin:
    • android {
          dataBinding {
              enabled = true
          }
      }
              
      android {
          dataBinding {
              enabled = true
          }
      }
              
    • Üçüncü taraf eklentilerinin, derlenen .class dosyalarını .dex dosyasına dönüştürülmeden önce müdahale etmesini sağlamak için yeni bir Transform API'si eklendi. Transform API, özel sınıf işleme eklemeyi basitleştirirken neleri değiştirebileceğiniz konusunda daha fazla esneklik sunar. Derlemeye dönüştürme eklemek için Transform arayüzlerinden birini uygulayarak yeni bir sınıf oluşturun ve android.registerTransform(theTransform) veya android.registerTransform(theTransform, dependencies) ile kaydedin. Görevleri birbirine bağlamaya gerek yoktur. Transform API ile ilgili olarak aşağıdakilere dikkat edin:
      • Dönüşüm şunlardan biri veya birkaçına uygulanabilir: mevcut proje, alt projeler ve harici kitaplıklar.
      • Dönüşüm, genel olarak kaydedilmelidir ve tüm varyantlara uygulanmalıdır.
      • Java Code Kapsam Kitaplığı (JaCoCo), ProGuard ve MultiDex aracılığıyla dahili kod işleme, artık Transform API'yi kullanıyor. Ancak Java Android Derleyici Kiti (Jack) bu API'yi kullanmaz. Yalnızca javac/dx kod yolu kullanır.
      • Gradle, dönüşümleri şu sırayla yürütür: JaCoCo, üçüncü taraf eklentiler, ProGuard. Üçüncü taraf eklentilerinin yürütme sırası, dönüşümlerin üçüncü taraf eklentileri tarafından eklenme sırasıyla eşleşir. Üçüncü taraf eklenti geliştiricileri, API aracılığıyla dönüşümlerin yürütme sırasını kontrol edemez.
    • ApplicationVariant sınıfında dex alıcısını kullanımdan kaldırdık. Artık değişken API'si aracılığıyla Dex görevine erişemezsiniz çünkü bu görev artık bir dönüşüm aracılığıyla gerçekleştiriliyor. Şu anda dex işlemini kontrol etmenin yerini alan bir yöntem yoktur.
    • Öğeler için sabit artımlı destek.
    • Test projeleri için kullanılabilir hale getirilerek MultiDex desteği iyileştirildi ve artık testlerde com.android.support:multidex-instrumentation bağımlılığı otomatik olarak sunuluyor.
    • Gradle derlemesi eşzamansız görevleri çağırdığında ve çalışan sürecinde bir hata oluştuğunda Gradle derlemesinde düzgün şekilde başarısız olma ve temel hata nedenini bildirme özelliği eklendi.
    • Birden fazla ABI içeren varyantlarda belirli bir Uygulama İkili Arabirimi'ni (ABI) yapılandırma desteği eklendi.
    • Test yükleme veya çalıştırma sırasında ANDROID_SERIAL ortam değişkeni için cihaz seri numaralarının virgülle ayrılmış listesi desteği eklendi.
    • Android 5.0 (API düzeyi 20) ve sonraki sürümleri çalıştıran cihazlarda APK adı boşluk içerdiğinde oluşan yükleme hatası düzeltildi.
    • Android Öğe Paketleme Aracı (AAPT) hata çıktısıyla ilgili çeşitli sorunlar düzeltildi.
    • Daha hızlı artımlı derlemeler için JaCoCo artımlı enstrümantasyon desteği eklendi. Gradle için Android eklentisi artık JaCoCo enstrümanı doğrudan çağırıyor. JaCoCo aracının daha yeni bir sürümünü zorunlu kılmak için bunu derleme komut dosyası bağımlılığı olarak eklemeniz gerekir.
    • JaCoCo desteği, sınıf olmayan dosyaları yok sayacak şekilde düzeltildi.
    • Geriye dönük uyumluluk için derleme zamanında PNG oluşturma vektörel çekilebilir desteği eklendi. Gradle için Android eklentisi, API sürümü belirtmeyen veya uygulama manifestindeki <uses-sdk> öğesinde 20 ya da daha düşük bir android:minSdkVersion özelliği belirten bir kaynak dizininde bulunan her vektör için PNG oluşturur. PNG yoğunluklarını, bir build.gradle dosyasının defaultConfig veya productFlavor bölümlerindeki generatedDensities özelliğini kullanarak ayarlayabilirsiniz.
    • Eklentinin yalnızca bir kez oluşturduğu ve birim testi için kullandığı sahte android.jar paylaşımı eklendi. app ve lib gibi birden çok modül artık bu öğeyi paylaşıyor. Yeniden oluşturmak için $rootDir/build öğesini silin.
    • APK'nın paketlenmesi yerine kod karartma görevlerinden önce gerçekleşecek olan Java kaynaklarının işlenmesi değiştirildi. Bu değişiklik, kod karartma görevlerinin, paketlerde kod karartma işlemini takiben Java kaynaklarını uyarlama fırsatı elde etmesini sağlar.
    • Deneysel kitaplık eklentisinde Java Yerel Arayüzü (JNI) kodunun kullanılmasıyla ilgili bir sorun düzeltildi.
    • Platform sürümünü, deneysel kitaplık eklentisindeki android:compileSdkVersion özelliğinden ayrı olarak ayarlama özelliği eklendi.

    Gradle için Android eklentisi, düzeltme 1.3.1 (Ağustos 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Özelleştirilmiş bir dosya adı kullanılırken ZipHi görevinin önceki görevin çıkışını doğru şekilde tüketmesi için düzeltme uygulandı.
    • NDK içeren Renderscript paketi düzeltildi.
    • createDebugCoverageReport derleme görevi için destek sürdürüldü.
    • build.gradle derleme dosyasında archiveBaseName özelliğinin özelleştirilmiş kullanımı için sağlanan destek düzeltildi.
    • Android Studio dışında lint çalıştırırken parametre yöntemi ek açıklaması aramasının neden olduğu Invalid ResourceType lint uyarısı düzeltildi.

    Gradle için Android eklentisi, düzeltme 1.3.0 (Temmuz 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Android görev iş parçacığı havuz boyutunu gradle.properties dosyasından veya komut satırından kontrol etmek için com.android.build.threadPoolSize özelliği desteği eklendi. Aşağıdaki örnekte bu özellik 4 olarak ayarlanmıştır.

              
              -Pcom.android.build.threadPoolSize=4
              
            
    • Varsayılan derleme davranışını, LICENSE ve LICENSE.txt dosyalarını APK'lardan hariç tutacak şekilde ayarlayın. Bu dosyaları bir APK'ya eklemek için build.gradle dosyasındaki packagingOptions.excludes özelliğinden kaldırın. Örneğin:
      android {
            packagingOptions.excludes = []
          }
            
      android {
            packagingOptions.excludes.clear()
          }
          
    • Kullanılabilir tüm kaynak kümelerinin incelenmesi için sourceSets görevi eklendi.
    • Çoklu çeşni tanıma ve derleme değişkeni kaynak klasörleri için geliştirilmiş birim test desteği. Örneğin, Debug derleme türüyle flavor1 ve flavorA çoklu çeşitleri içeren bir uygulamayı test etmek için test kaynağı grupları şunlardır:
      • test
      • testAroma1
      • testAromaA
      • testAroma1AromaA
      • testAroma1FlavorADebug

      Android, halihazırda tanınan çoklu aroma kaynak klasörlerini test eder.

    • Birim testi desteği şu amaçlarla geliştirildi:
      • Derleme dosyanızda useJack özelliği true olarak ayarlanmış olsa bile javac aracını ana kaynaklar ve test kaynaklarında çalıştırın.
      • Her derleme türü için bağımlılıkları doğru şekilde tanıyın.
    • Komut satırından araç test çalıştırıcısı bağımsız değişkenlerinin belirtilmesi için destek eklendi. Örneğin:
      ./gradlew connectedCheck \
         -Pandroid.testInstrumentationRunnerArguments.size=medium \
         -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB
              
    • build.gradle dosyasına rastgele ek Android Öğe Paketleme Aracı (AAPT) parametreleri için destek eklendi. Örneğin:

      android {
          aaptOptions {
            additionalParameters "--custom_option", "value"
          }
      }
            
      android {
          aaptOptions {
            additionalParameters += listOf("--custom_option", "value")
          }
      }
            
    • APK yolunu ve hedef varyantı ayarlamak için targetProjectPath ve targetVariant özellikleri kullanılarak ayrı bir test modülü olarak test APK modülü desteği eklendi.

      Not: Test APK'sı modülü ürün çeşitlerini desteklemez ve yalnızca tek bir varyantı hedefleyebilir. Ayrıca Jacoco henüz desteklenmiyor.

    • Kaynakları birleştirmeden önce kaynak adı doğrulaması eklendi.
    • Kitaplık modülleri için AAR (Android ARchive) paketi oluştururken manifest birleştirme ayarlarında otomatik @{applicationId} yer tutucusu sağlamayın. Bunun yerine, @{libApplicationId} gibi farklı bir yer tutucu kullanın ve arşiv kitaplığına uygulama kimlikleri eklemek istiyorsanız bunun için bir değer sağlayın.

    Gradle için Android eklentisi, düzeltme 1.2.0 (Nisan 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Gradle ile birim testlerini çalıştırmak için gelişmiş destek.
      • Birim testlerini doğrudan Gradle'dan çalıştırırken sınıf yoluna Java stili kaynakları dahil etme desteği eklendi.
      • Android Arşivi (AAR) yapıları için birim testi bağımlılık desteği eklendi.
      • Birim testi varyantlarının build.gradle dosyası kullanılarak değiştirilebilmesi amacıyla unitTestVariants özelliği için destek eklendi.
      • Birim testi için özelleştirilmiş görevleri yapılandırmak amacıyla testOptions altına unitTest.all kod bloğu eklendi. Aşağıdaki örnek kod, bu yeni seçeneği kullanarak birim testi yapılandırma ayarlarının nasıl ekleneceğini göstermektedir:
        android {
          testOptions {
            unitTest.all {
              jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option.
            }
          }
        }
        
        android {
          testOptions {
            unitTest.all {
              jvmArgs += listOf("-XX:MaxPermSize=256m") // Or any other gradle option.
            }
          }
        }
                    
      • mockable-android.jar dosyasının paketindeki numaralandırmaların ve genel örnek alanlarının işlenmesi düzeltildi.
      • Kitaplık projesi görevi bağımlılıkları düzeltildi. Böylece test sınıfları, değişikliklerden sonra yeniden derlenebilir.
    • Bir test APK'sını küçültürken ProGuard dosyalarını uygulamak için testProguardFile özelliği eklendi.
    • Android Debug Bridge ekran kaydı için maksimum kayıt süresini ayarlamak amacıyla adbOptions kod bloğuna timeOut özelliği eklendi.
    • 280 dpi kaynaklar için destek eklendi.
    • Proje değerlendirmesi sırasında performans artırıldı.

    Gradle için Android eklentisi, düzeltme 1.1.3 (Mart 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Bir test uygulamasında ProGuard hatasını tetikleyen yinelenen bağımlılıklarla ilgili sorun düzeltildi.
    • JDK Karşılaştırıcı sözleşmesine uymayan ve JDK 7 hatası veren Karşılaştırıcı uygulaması düzeltildi.

    Gradle için Android eklentisi, düzeltme 1.1.2 (Şubat 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Birim testi için sahte bir JAR oluştururken normalleştirilmiş yol.
    • build.gradle dosyasındaki archivesBaseName ayarı düzeltildi.
    • Kitaplık test uygulaması oluştururken manifest birleştirmedeki çözülmemiş yer tutucu hatası düzeltildi.

    Gradle için Android eklentisi, düzeltme 1.1.1 (Şubat 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Yalnızca Wear uygulamasını paketleyen varyantların Wear'a özel derleme görevlerini tetiklemesi için değiştirilmiş derleme varyantları.
    • Bağımlılıkla ilgili sorunlar, hata ayıklama zamanında değil, derleme zamanında başarısız olacak şekilde değiştirildi. Bu davranış, çakışmanın çözülmesine yardımcı olmak için teşhis görevlerini ("bağımlılıklar" gibi) çalıştırmanıza olanak tanır.
    • android.getBootClasspath() yöntemi, değer döndürecek şekilde düzeltildi.

    Gradle için Android eklentisi, düzeltme 1.1.0 (Şubat 2015)

    Bağımlılıklar:
    • Gradle 2.2.1 veya üzeri.
    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • Yeni birim testi desteği eklendi
      • Birim testlerinin, android.jar dosyasının popüler sahtecilik çerçeveleriyle (ör. Mockito) uyumlu özel bir sürümüne göre yerel JVM'de çalışması etkinleştirildi.
      • Ürün aromalarını kullanırken testDebug, testRelease ve testMyFlavorDebug adlı yeni test görevleri eklendi.
      • Birim testi olarak tanınan yeni kaynak klasörler eklendi: src/test/java/, src/testDebug/java/, src/testMyFlavor/java/.
      • build.gradle dosyasına, yalnızca test amaçlı bağımlılıkları tanımlamak için yeni yapılandırmalar eklendi. Örneğin, testCompile 'junit:junit:4.11', testMyFlavorCompile 'some:library:1.0'.

        Not: Yalnızca test amaçlı bağımlılıklar şu anda Jack (Java Android Derleyici Kiti) ile uyumlu değildir.

      • Sahte android.jar dosyasının davranışını kontrol etmek için android.testOptions.unitTests.returnDefaultValues seçeneği eklendi.
    • Test görevi adlarındaki Test, AndroidTest ile değiştirildi. Örneğin, assembleDebugTest görevi artık assembleDebugAndroidTest görevidir. Birim testi görevlerinin görev adında hâlâ UnitTest öğesi vardır (örneğin, assembleDebugUnitTest).
    • ProGuard yapılandırma dosyaları, artık test APK'sına uygulanmayacak şekilde değiştirildi. Küçültme etkinleştirilirse ProGuard, test APK'sını işler ve yalnızca ana APK'yı küçültürken oluşturulan eşleme dosyasını uygular.
    • Bağımlılık yönetimi güncellendi
      • provided ve package kapsamlarının kullanımıyla ilgili sorunlar düzeltildi.

        Not: Bu kapsamlar, AAR (Android ARchive) paketleriyle uyumlu değildir ve AAR paketleri içeren bir derlemenin başarısız olmasına neden olur.

      • Test edilen uygulama ile test uygulamasının bağımlılıklarını karşılaştırmak için bağımlılık çözümü değiştirildi. Her iki uygulamada da aynı sürüme sahip bir yapı bulunursa bu yapı test uygulamasına dahil edilmez ve yalnızca test edilen uygulamayla birlikte paketlenir. Her iki uygulama için farklı sürüme sahip bir yapı bulunursa derleme başarısız olur.
    • Kaynak birleştirme işleminde anyDpi kaynak niteleyici desteği eklendi.
    • Çok sayıda Android modülüne sahip projeler için iyileştirilmiş değerlendirme ve IDE senkronizasyon hızları.

    Gradle için Android eklentisi, düzeltme 1.0.1 (Ocak 2015)

    Bağımlılıklar:
    • Gradle 2.2.1'den 2.3.x'e kadar.

      Not: Gradle için Android eklentisinin bu sürümü, Gradle 2.4 ve sonraki sürümleriyle uyumlu değildir.

    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • extractReleaseAnnotations modülüne erişilirken Gradle derleme hatasıyla ilgili sorun düzeltildi. (Sorun 81638).
    • Disable ürününün --no-optimize ayarını Dalvik Yürütülebilir (dex) bayt koduna iletmesiyle ilgili sorun düzeltildi. (Sorun 82662).
    • targetSdkVersion değeri 16'dan küçük olan kitaplıkları içe aktarırken manifest birleştirme sorunları düzeltildi.
    • Android Studio'yu JDK 8 ile kullanırken yoğunluk sıralaması sorunu düzeltildi.

    Gradle için Android eklentisi, düzeltme 1.0.0 (Aralık 2014)

    Bağımlılıklar:
    • Gradle 2.2.1'den 2.3.x'e kadar.

      Not: Gradle için Android eklentisinin bu sürümü, Gradle 2.4 ve sonraki sürümleriyle uyumlu değildir.

    • Derleme Araçları 21.1.1 veya üzeri.
    Genel Notlar:
    • İlk eklenti sürümü.