Aşağıda, Android Studio 3.6 ve önceki sürümler ile Android Gradle eklentisi 3.6.0 ve önceki sürümlerinin sürüm notları yer almaktadı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 önemli bir sürümdür.
Ayrıca bu sürümün yayınlanmasına yardımcı olan tüm topluluk katkıda bulunanlarımıza da teşekkür ederiz.
3.6.3 (Nisan 2020)
Bu küçük güncelleme çeşitli hata düzeltmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.6.2 (Mart 2020)
Bu küçük güncelleme çeşitli hata düzeltmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.6.1 (Şubat 2020)
Bu küçük güncelleme çeşitli hata düzeltmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
Tasarım araçları
Android Studio'nun bu sürümünde, Düzen Düzenleyici ve Kaynak Yöneticisi de dahil olmak üzere çeşitli tasarım araçlarında güncellemeler yapıldı.
Tasarım düzenleyicilerde bölünmüş görünüm ve yakınlaştırma
Bu sürümde, görsel tasarım düzenleyicilerle ilgili aşağıdaki güncellemeler yer almaktadır:
-
Düzen Düzenleyici ve Gezinme Düzenleyici 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örmenizi sağlayan bir Bölünmüş görünüm sunuyor. Düzenleyici penceresinin sağ üst köşesinde artık görüntüleme seçenekleri arasında geçiş yapmanızı sağlayan üç düğme
bulunuyor:
-
Bölünmüş görünümü etkinleştirmek için Böl simgesini
tıklayın.
-
XML kaynak görünümünü etkinleştirmek için Kaynak simgesini
tıklayın.
-
Tasarım görünümünü etkinleştirmek için Tasarım simgesini
tıklayın.
-
Bölünmüş görünümü etkinleştirmek için Böl simgesini
-
Tasarım düzenleyicilerinde yakınlaştırma ve kaydırma kontrolleri, düzenleyici penceresinin sağ alt köşesindeki kayan panele taşındı.
Daha fazla bilgi edinmek için Düzen Düzenleyici ile kullanıcı arayüzü oluşturma başlıklı makaleyi inceleyin.
Renk Seçici Kaynak Sekmesi
XML'nizde veya tasarım araçlarında renk seçiciyi kullanırken uygulamanızdaki renk kaynağı değerlerini hızlı bir şekilde güncellemenize yardımcı olmak için IDE artık renk kaynağı değerlerini sizin için dolduruyor.
Resource Manager
Kaynak Yöneticisi aşağıdaki güncellemeleri içerir:
- Kaynak Yöneticisi artık çoğu kaynak türünü destekliyor.
- Kaynak ararken Kaynak Yöneticisi artık tüm proje modüllerindeki sonuçları gösteriyor. Daha önce, aramalar yalnızca seçili modüldeki sonuçları döndürüyordu.
- Filtre düğmesi, yerel bağımlı modüllerden, harici kitaplıklardan ve Android çerçevesinden kaynakları görüntülemenizi sağlar. Temayla ilgili özellikleri göstermek için de filtreyi kullanabilirsiniz.
- Artık içe aktarma işlemi sırasında kaynakların üzerindeki metin kutusunu tıklayarak kaynakları yeniden adlandırabilirsiniz.
Daha fazla bilgi edinmek için Kaynak Yöneticisi ile uygulamanızın kullanıcı arayüzü kaynaklarını yönetme başlıklı makaleyi inceleyin.
Android Gradle eklentisindeki güncellemeler
Android Gradle eklentisinin en son sürümü, derleme hızı optimizasyonları, Maven yayınlama eklentisi desteği ve View Binding desteği gibi birçok güncelleme içerir. Daha fazla bilgi edinmek için sürüm notlarının tamamını okuyun.
Bağlama görüntüleme
Görünüm bağlama, her XML düzen dosyası için bir bağlama sınıfı oluşturarak görünümlerle etkileşimde bulunan kodu 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.
Görünüm bağlama, findViewById()
yerine kullanıldığı için 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 eklentisi 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:
Groovy
android { buildFeatures.viewBinding = true }
Kotlin
android { buildFeatures.viewBinding = true }
Değişiklikleri Uygulama
Artık bir sınıf ekleyebilir ve ardından Apply Code Changes (Kod Değişikliklerini Uygula) veya Apply Changes and Restart Activity (Değişiklikleri Uygula ve Etkinliği Yeniden Başlat) seçeneğini 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 Uygula başlıklı makaleyi inceleyin.
Hazır Uygulama desteğini etkinleştirmek için yeniden düzenleme menüsü seçeneği
Artık uygulama projenizi oluşturduktan sonra temel modülünüzü istediğiniz zaman anında etkinleştirebilirsiniz:
- Menü çubuğundan Görünüm > Araç Pencereleri > Proje'yi seçerek Proje panelini açın.
- Genellikle "app" olarak adlandırılan temel modülünüzü sağ tıklayın ve Refactor > Enable Instant Apps Support'u (Yeniden düzenle > Hazır Uygulama Desteğini Etkinleştir) seçin.
- Açılan iletişim kutusunda, açılır menüden temel modülünüzü seçin.
- Tamam'ı tıklayın.
Not: Yeni Proje Oluştur sihirbazından temel uygulama modülünüzü anında etkinleştirme seçeneği kaldırıldı.
Daha fazla bilgi için Google Play Instant'a Genel Bakış başlıklı makaleyi inceleyin.
APK Analizcisi'nde sınıf ve yöntem bayt kodunun karartmasını kaldırma
DEX dosyalarını incelemek için APK Analiz Aracı'nı kullanırken sınıf ve yöntem bayt kodunu aşağıdaki şekilde gösterebilirsiniz:
- Menü çubuğundan Build > Analyze APK'yı (Derleme > APK'yı analiz et) seçin.
- Görüntülenen iletişim kutusunda, incelemek istediğiniz APK'ya gidip bu APK'yı seçin.
- Aç'ı tıklayın.
- APK Analiz Aracı'nda incelemek istediğiniz DEX dosyasını seçin.
- DEX dosyası görüntüleyicide, analiz ettiğiniz APK'nın ProGuard eşleme dosyasını yükleyin.
- İ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
Android Studio'daki aşağıdaki NDK özellikleri daha önce Java'da destekleniyordu ve artık Kotlin'de de destekleniyor:
-
JNI bildiriminden C/C++'daki ilgili uygulama işlevine gidin. Yönetilen kaynak kodu dosyasındaki satır numarasının yakınında bulunan C veya C++ öğe işaretçisinin üzerine gelerek bu eşlemeyi görüntüleyin.
-
JNI bildirimi için otomatik olarak bir saplama uygulama işlevi oluşturun. Önce JNI bildirimini tanımlayın, ardından etkinleştirmek için C/C++ dosyasında "jni" veya yöntem adını yazın.
-
Kullanılmayan yerel uygulama işlevleri, kaynak kodunda uyarı olarak vurgulanır. Eksik uygulamaları olan JNI bildirimleri de hata olarak vurgulanır.
-
Yerel bir 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ü olarak bağlı JNI uygulamaları için imza kontrolü.
Diğer JNI iyileştirmeleri
Android Studio'daki kod düzenleyici artık daha iyi tür ipuçları, otomatik tamamlama, incelemeler ve kod yeniden düzenleme dahil olmak üzere daha sorunsuz bir JNI geliştirme iş akışını destekliyor.
Yerel kitaplıklar için APK'yı yeniden yükleme {:#3.6-reload-apk}
Projenizdeki APK, IDE dışında güncellendiğinde artık 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 kaynaklı APK'ları ekleme
Artık önceden oluşturulmuş APK'lar için profil oluşturma ve hata ayıklama işlemlerinde yalnızca Kotlin içeren harici APK kaynakları ekleyebilirsiniz. Daha fazla bilgi için Kotlin/Java kaynaklarını ekleme başlıklı makaleyi inceleyin.
Memory Profiler'da bellek sızıntısı algılama
Bellek Profil Oluşturucu'da bir 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ına işaret edebileceğini düşündüğü profil oluşturma verilerini filtreleyebilirsiniz.
Filtrenin gösterdiği veri türleri şunlardır:
-
Yok edilen ancak hâlâ başvurulan
Activity
örnekleri. -
Geçerli bir
FragmentManager
'ye sahip olmayan ancak yine de başvurulanFragment
örnekleri.
Yalnızca Kotlin kaynaklı APK'ları ekleme
Artık önceden oluşturulmuş APK'lar için profil oluşturma ve hata ayıklama işlemlerinde yalnızca Kotlin içeren harici APK kaynakları ekleyebilirsiniz. Daha fazla bilgi için Kotlin/Java kaynaklarını ekleme başlıklı makaleyi inceleyin.
Memory Profiler'da bellek sızıntısı algılama
Bellek Profil Oluşturucu'da bir 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ına işaret edebileceğini düşündüğü profil oluşturma verilerini filtreleyebilirsiniz.
Filtrenin gösterdiği veri türleri şunlardır:
-
Yok edilen ancak hâlâ başvurulan
Activity
örnekleri. -
Geçerli bir
FragmentManager
'ye sahip olmayan ancak yine de başvurulanFragment
örnekleri.
Aşağıdaki gibi belirli durumlarda filtre yanlış pozitif sonuç verebilir:
- Bir
Fragment
oluşturuldu ancak henüz kullanılmadı. Fragment
,FragmentTransaction
kapsamında olmayan bir şekilde önbelleğe alınıyor.
Bu özelliği kullanmak için önce yığın dökümü yakalayın veya yığın dökümü dosyasını içe aktarın. Bellek sızıntısına neden olabilecek parçaları ve etkinlikleri görüntülemek için Bellek Profil Oluşturucu'nun yığın dökümü bölmesinde Activity/Fragment Leaks (Etkinlik/Parça Sızıntıları) onay kutusunu işaretleyin.
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ümlerde 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 taklit etme konusunda ek destek sağlar. Emulators Extended controls'ü açtığınızda, Location sekmesindeki seçenekler artık iki sekme altında düzenlenir: Single points ve Routes.
Tek noktalar
Tek noktalar sekmesinde, ilgi çekici yerleri aramak için Google Haritalar web görünümünü kullanabilirsiniz. Bu görünüm, Google Haritalar'ı telefonda veya tarayıcıda kullanırken yaptığınız işlemlerle aynıdır. Haritada bir konum 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. Kayıtlı tüm konumlarınız Genişletilmiş kontroller penceresinin sağ tarafında listelenir.
Emülatörlerin konumunu haritada seçtiğiniz konuma ayarlamak için Genişletilmiş kontroller penceresinin sağ alt kısmına yakın bir yerde bulunan Konumu ayarla düğmesini tıklayın.
.
Güzergahlar
Tek noktalar sekmesine benzer şekilde, Rotalar sekmesinde iki veya daha fazla konum arasında rota oluşturmak için kullanabileceğiniz bir Google Haritalar web görünümü bulunur. Rota oluşturmak ve kaydetmek için aşağıdakileri yapın:
- Harita görünümünde, rotanızdaki ilk hedefi aramak için metin alanını kullanın.
- Arama sonuçlarından konumu seçin.
- Gezin düğmesini seçin.
- Rotanızın başlangıç noktasını haritadan seçin.
- (İsteğe bağlı) Rotanıza ek duraklar eklemek için Hedef ekle'yi tıklayın.
- Harita görünümünde Rotayı kaydet'i tıklayarak rotanızı kaydedin.
- Rotanın adını belirtin ve Kaydet'i tıklayın.
Emülatörün, kaydettiğiniz rotayı takip etmesini simüle etmek için Kayıtlı rotalar listesinden rotayı seçin ve Genişletilmiş kontroller penceresinin sağ alt kısmındaki Rotayı oynat'ı tıklayın. Simülasyonu durdurmak için Rotayı durdur'u tıklayın.
.
Emülatörün belirtilen rotayı sürekli olarak simüle etmesi için Oynatmayı tekrarla'nın yanındaki anahtarı etkinleştirin. Emülatörün belirtilen rotayı ne kadar hızlı takip edeceğini 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ıyor. Bu sayede, çoklu pencere ve çoklu ekran özelliklerini destekleyen uygulamaları test edebilirsiniz. Sanal cihaz çalışırken aşağıdaki şekilde en fazla iki ekran daha ekleyebilirsiniz:
-
Genişletilmiş kontroller'i açın ve Ekranlar sekmesine gidin.
-
İkincil ekran ekle'yi tıklayarak başka bir ekran ekleyin.
-
İkincil ekranlar bölümündeki açılır menüden aşağıdakilerden birini yapın:
-
Önceden ayarlanmış en boy oranlarından birini seçin.
-
Özel'i seçin ve özel görüntülü reklamınız için yüksekliği, genişliği ve dpi'yi ayarlayın.
-
(İsteğe bağlı) Üçüncü bir ekran eklemek için İkincil ekran ekle'yi tıklayın.
-
Belirtilen ekranları çalışan sanal cihaza eklemek için Değişiklikleri uygula'yı tıklayın.
Android Automotive OS için yeni sanal cihazlar ve proje şablonları
Android Studio'yu kullanarak yeni bir proje oluşturduğunuzda artık Yeni Proje Oluştur sihirbazındaki Automotive sekmesinde bulunan üç şablon arasından seçim yapabilirsiniz: No Activity, Media service ve Messaging service. Mevcut projelerde Android Automotive cihazlar için destek eklemek isterseniz menü çubuğundan Dosya > Yeni > Yeni Modül'ü ve ardından Automotive Modülü'nü seçebilirsiniz. Yeni Modül Oluştur sihirbazı, Android Automotive proje şablonlarından birini kullanarak yeni bir modül oluşturma sürecinde size yol gösterir.
.
Ayrıca, Sanal Cihaz Yapılandırması sihirbazındaki Automotive sekmesinde aşağıdaki seçeneklerden birini belirleyerek Android Automotive OS cihazlar için Android sanal cihazı (AVD) oluşturabilirsiniz.
- Polestar 2: Polestar 2 baş birimini taklit eden bir AVD oluşturun.
- Automotive (1024p yatay): Genel 1024 x 768 piksel boyutundaki Android Automotive araç içi bilgi-eğlence sistemleri için bir AVD oluşturun.
.
Devam ettirilebilir SDK indirmeleri
Android Studio, SDK Yöneticisi'ni kullanarak SDK bileşenlerini ve araçlarını indirirken artık indirme işlemini baştan başlatmak yerine kesintiye uğrayan (ör. ağ sorunu nedeniyle) indirme işlemlerine devam etmenize olanak tanıyor. Bu geliştirme, özellikle internet bağlantısının güvenilir olmadığı durumlarda Android Emulator veya sistem görüntüleri gibi büyük indirmeler için faydalıdır.
Ayrıca, arka planda çalışan bir SDK indirme göreviniz varsa artık durum çubuğundaki kontrolleri kullanarak indirmeyi duraklatabilir veya devam ettirebilirsiniz.
Durum çubuğunda, indirmeyi duraklatmanıza veya devam ettirmenize olanak tanıyan yeni kontroller içeren bir arka plan indirme görevi.
Win32 desteği sonlandırıldı
Android Studio'nun Windows 32 bit sürümü, Aralık 2019'dan sonra artık güncelleme almayacak ve Aralık 2020'den sonra desteklenmeyecektir. Android Studio'yu kullanmaya devam edebilirsiniz. Ancak ek güncellemeler almak için iş istasyonunuzu Windows'un 64 bit sürümüne yükseltmeniz gerekir.
Daha fazla bilgi için Windows 32 bit desteğinin sonlandırılmasıyla ilgili blog yazısını okuyun.
Gradle senkronizasyon süresini optimize etmeye yönelik yeni seçenek
Önceki sürümlerde Android Studio, Gradle senkronizasyonu sırasında tüm Gradle görevlerinin listesini alıyordu. Büyük projelerde, görev listesinin alınması yavaş senkronizasyon sürelerine neden olabilir.
Gradle Sync performansını artırmak için File > Settings > Experimental'a (Dosya > Ayarlar > Deneysel) gidin ve Do not build Gradle task list during Gradle sync (Gradle senkronizasyonu sırasında Gradle görev listesi oluşturma) seçeneğini belirleyin.
Bu seçeneği etkinleştirdiğinizde Android Studio, senkronizasyon sırasında görev listesini oluşturmayı atlar. Bu sayede Gradle senkronizasyonu daha hızlı tamamlanır ve kullanıcı arayüzü yanıt verme hızı artar. IDE, görev listesini oluşturmayı atladığında Gradle panelindeki görev listelerinin boş olduğunu ve derleme dosyalarındaki görev adı otomatik tamamlama özelliğinin ç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ına yakın bir yerde Çevrimdışı Modu Aç/Kapat'ı tıklayın.
IntelliJ IDEA 2019.2
Temel Android Studio IDE, 2019.2 sürümü ile IntelliJ IDEA'daki iyileştirmelerle güncellendi.
2019.2 sürümüne kümülatif olarak dahil edilen diğer IntelliJ sürümlerindeki 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 tüm topluluk üyelerimize teşekkür ederiz. Özellikle hata bildiren aşağıdaki kullanıcılara teşekkür ederiz:
|
|
|
3.5 (Ağustos 2019)
Android Studio 3.5, Project Marble'ın sonucu olan önemli bir sürümdür. Android Studio 3.3'ün yayınlanmasıyla başlayan Marble Projesi girişimi, IDE'nin üç ana alanını iyileştirmeye odaklanan birden fazla sürümü kapsadı: Sistem sağlığı, özelliklerin daha iyi hale getirilmesi ve hataların düzeltilmesi.
Bu ve diğer Project Marble güncellemeleri hakkında bilgi edinmek için Android Developers blog yayınını veya aşağıdaki bölümleri okuyun.
Ayrıca bu sürümün hazırlanmasına yardımcı olan tüm topluluk katkıda bulunanlarımıza da teşekkür etmek istiyoruz.
3.5.3 (Aralık 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir.
3.5.2 (Kasım 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.5.1 (Ekim 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
Project Marble: Sistem durumu
Bu bölümde, Android Studio 3.5'te sistem sağlığını iyileştirmeye odaklanan değişiklikler açıklanmaktadır.
Önerilen bellek ayarları
Android Studio artık, işletim sisteminizin Android Studio işlemleri (ör. temel IDE, Gradle daemon ve Kotlin daemon) için ayırması gereken maksimum RAM miktarını artırarak performansı iyileştirebileceğinizi algılarsa sizi bilgilendirir. Bildirimdeki işlem bağlantısını tıklayarak önerilen ayarları kabul edebilir veya Dosya > Ayarlar'ı (ya da macOS'te Android Studio > Tercihler) seçip Görünüm ve Davranış > Sistem Ayarları bölümünde Bellek Ayarları'nı bularak bu ayarları manuel olarak düzenleyebilirsiniz. Daha fazla bilgi için Maksimum yığın boyutu başlıklı makaleyi inceleyin.
Önerilen bellek ayarlarıyla ilgili bir bildirim.
Bellek kullanımı raporu
Android Studio'daki bellek sorunlarını bazen yeniden üretmek ve bildirmek zordur. Android Studio, bu sorunu çözmenize yardımcı olmak için menü çubuğundan Help > Analyze Memory Usage'ı (Yardım > Bellek Kullanımını Analiz Et) tıklayarak bellek kullanım raporu oluşturmanıza olanak tanır. Bunu yaptığınızda IDE, bellek sorunlarının kaynağını belirlemeye yardımcı olmak için Android Studio ekibine göndermek isteyip istemediğinizi sormadan önce verileri kişisel bilgiler açısından yerel olarak temizler. Daha fazla bilgi için Bellek kullanımı raporu çalıştırma başlıklı makaleyi inceleyin.
Bellek kullanımı raporu.
Windows: Virüsten korunma dosyası G/Ç optimizasyonu
Android Studio artık belirli proje dizinlerinin gerçek zamanlı antivirüs taramasının dışında bırakılıp bırakılmadığını otomatik olarak kontrol ediyor. Android Studio, derleme performansını artırmak için ayarlamalar yapılabildiğinde sizi bilgilendirir ve antivirüs yapılandırmanızı nasıl optimize edeceğinizle ilgili talimatlar sağlar. Daha fazla bilgi edinmek için Antivirüs yazılımının derleme hızı üzerindeki etkisini en aza indirme başlıklı makaleyi inceleyin.
Project Marble: Özellik geliştirme
Bu bölümde, Android Studio 3.5'teki mevcut özellikleri iyileştirmeye yönelik değişiklikler açıklanmaktadır.
Değişiklikleri Uygulama
Değişiklikleri Uygula, çalışan uygulamanızı yeniden başlatmadan ve bazı durumlarda mevcut etkinliği yeniden başlatmadan kod ve kaynak değişikliklerini uygulamanıza 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 Instant Run'ın aksine, Değişiklikleri Uygula, Android 8.0 (API düzeyi 26) veya sonraki sürümlerde desteklenen çalışma zamanı enstrümantasyonundan yararlanarak sınıfları anında yeniden tanımlar.
Daha fazla bilgi edinmek için Değişiklikleri Uygulama başlıklı makaleyi inceleyin.
Değişiklikleri Uygula'nın 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ü bulunur. Bu menüde, uygulamanızı aynı anda birden fazla cihazda çalıştırmanıza olanak tanıyan yeni bir seçenek de bulunur.
Hedef cihaz açılır menüsü.
Gradle senkronizasyonu ve önbellek algılama iyileştirildi
IDE artık Gradle'ın, sabit disk tüketimini azaltırken derleme önbelleğinizi düzenli olarak temizlediğini daha iyi algılıyor. Ö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 gibi indirir.
İyileştirilmiş derleme hatası çıkışı
Derleme
penceresi artık aşağıdaki derleme işlemleri için daha iyi hata raporları (ör. bildirilen hatanın dosya ve satır bağlantısı) sunuyor:
- AAPT derleme ve bağlama
- R8 ve ProGuard
- Dexing
- Kaynak birleştirme
- XML dosyası ayrıştırma
- Javac, Kotlinc ve CMake derlemesi
Proje Yükseltmeleri
IDE'yi ve Android Gradle eklentisini güncellemenize yardımcı olacak daha fazla bilgi ve işlem sunmak için güncellemeyle ilgili deneyim iyileştirildi. Örneğin, daha fazla senkronizasyon ve derleme hatası, güncelleme sırasında hataları azaltmanıza yardımcı olacak işlemleri içerir.
IDE'yi Android Gradle eklentisi gibi diğer bileşenlerden bağımsız olarak güncelleyebileceğinizi unutmayın. Bu sayede, daha yeni bir sürüm kullanıma sunulur sunulmaz IDE'yi güvenli bir şekilde güncelleyebilir ve diğer bileşenleri daha sonra güncelleyebilirsiniz.
Layout Editor
Android Studio 3.5, düzen görselleştirme, yönetim ve etkileşimle ilgili çeşitli iyileştirmeler içerir.
ConstraintLayout
ile çalışırken Özellikler panelindeki yeni Kısıtlamalar bölümünde, seçilen kullanıcı arayüzü bileşeninin kısıtlama ilişkileri listelenir. Kısıtlamayı hem tasarım yüzeyinde hem de kısıtlamalar listesinde vurgulamak için kısıtlamayı tasarım yüzeyinden veya kısıtlamalar listesinden seçebilirsiniz.
Seçili bir kullanıcı arayüzü öğesi için kısıtlama ilişkileri.
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 tutturma noktasını tıklayarak da kısıtlamayı silebilirsiniz. Control
veya Command
tuşunu basılı tutup bir sabitleme noktasının üzerine geldiğinizde, ilişkili tüm kısıtlamaların silmek için tıklayabileceğinizi belirtmek üzere kırmızıya döndüğünü unutmayın.
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 kısıtlama oluşturabilirsiniz. Yeni bir kısıtlama oluşturduğunuzda Düzen Düzenleyici artık kısıtlamayı seçip vurgulayarak yeni eklediğiniz öğe hakkında anında görsel geri bildirim sağlar.
Kısıtlama widget'ını kullanarak kısıtlama oluşturma .
Düzen Düzenleyici, kısıtlama oluştururken artık yalnızca kısıtlama uygulayabileceğiniz uygun sabitleme noktalarını gösteriyor. Daha önce, Düzen Düzenleyici, tüm görünümlerdeki tüm sabitleme noktalarını, bunlara kısıtlama uygulayıp uygulayamadığınızdan bağımsız olarak vurguluyordu. Ayrıca, kısıtlamanın hedefi artık mavi bir kaplamayla vurgulanıyor. Bu vurgulama, özellikle başka bir bileşenle çakışan bir bileşeni sınırlamaya çalışırken yararlıdır.
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 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:
- Kısıtlama widget'ı ve varsayılan kenar boşluğu açılır listesi artık kenar boşlukları 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 tutturma davranışı iyileştirildi ve tasarım yüzeyindeki yeniden boyutlandırma tutamaçları artık her zaman görünür durumda. Yeniden boyutlandırma sırasında, yaygın cihaz boyutlarını gösteren yeni yer paylaşımları görünür.
- Layout Editor'da tutarlılığı artıran ve bileşenler, metin ve kısıtlamalar arasındaki kontrastı azaltan yeni bir renk şeması bulunur.
- Plan modu artık metnin gösterilmediği bazı bileşenlerde metin desteği içeriyor.
Bu değişiklikler hakkında daha fazla bilgi için Android Studio Marble Projesi: Düzen Düzenleyici başlıklı makaleyi inceleyin.
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ı da iyileştirir.
Android Studio 3.4'te kod düzenleyici performansı.

Android Studio 3.5'te kod düzenleme performansı iyileştirildi.
C/C++ projeleri için gelişmiş destek
Android Studio 3.5, C/C++ projeleri için desteği iyileştiren çeşitli değişiklikler içerir.
Tek varyant senkronizasyonu için Derleme Varyantları panelinde iyileştirmeler
Artık Build Variants (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 artırabilir.
Daha fazla bilgi edinmek için Derleme varyantını değiştirme başlıklı makaleyi inceleyin.
ABI tarafından tek varyant seçimi yapılan Build Variants (Varyant Oluşturma) paneli.
NDK'nın yan yana sürümleri
Artık NDK'nın birden fazla sürümünü yan yana kullanabilirsiniz. Bu özellik, projelerinizi yapılandırırken daha fazla esneklik sağlar. Örneğin, aynı makinede NDK'nin farklı sürümlerini kullanan projeleriniz varsa bu özellikten yararlanabilirsiniz.
Projenizde Android Gradle eklentisinin 3.5.0 veya sonraki bir sürümü kullanılıyorsa projenizdeki her modülün kullanması gereken NDK sürümünü de belirtebilirsiniz. Bu özelliği, yeniden üretilebilir derlemeler oluşturmak ve NDK sürümleri ile Android Gradle eklentisi arasındaki uyumsuzlukları azaltmak için kullanabilirsiniz.
Daha fazla bilgi için NDK, CMake ve LLDB'yi yükleme ve yapılandırma başlıklı makaleyi inceleyin.
ChromeOS Destek
Android Studio artık HP Chromebook x360 14, Acer Chromebook 13/Spin 13 gibi ChromeOS cihazları resmi olarak destekliyor. Sistem gereksinimleri bölümünde desteklenen diğer 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ı yalnızca bağlı bir donanım cihazına dağıtmayı desteklemektedir. Daha fazla bilgi edinmek için Uygulamaları donanım cihazında çalıştırma başlıklı makaleyi okuyun.
Özellik modülleri için koşullu yayın
Koşullu yayınlama, özellik modüllerinin uygulama yükleme sırasında otomatik olarak indirilmesi için belirli cihaz yapılandırma koşulları belirlemenize olanak tanır. Örneğin, artırılmış gerçeklik (AR) işlevini içeren bir özellik modülünü, yalnızca AR'yi destekleyen cihazlarda uygulama yükleme sırasında kullanılabilir olacak şekilde yapılandırabilirsiniz.
Bu dağıtım mekanizması şu anda bir modülün indirilmesini uygulama yükleme sırasında aşağıdaki cihaz yapılandırmalarına göre kontrol etmeyi desteklemektedir:
- OpenGL ES sürümü de dahil olmak üzere cihazın donanım ve yazılım özellikleri
- Kullanıcının ülkesi
- API seviyesi
Bir cihaz, belirttiğiniz tüm koşulları 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 indirmeyi talep edebilir. Daha fazla bilgi edinmek için Koşullu teslimatı yapılandırma başlıklı makaleyi inceleyin.
IntelliJ IDEA 2019.1
Temel Android Studio IDE, IntelliJ IDEA'daki iyileştirmelerle güncellendi. 2019.1 sürümünde tema özelleştirme gibi özellikler eklendi.
Android Studio'ya dahil edilen son IntelliJ sürümü 2018.3.4'tü. Android Studio'nun bu sürümüne kümülatif 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:
- IntelliJ IDEA 2018.3.6{: .external-link}
- IntelliJ IDEA 2018.3.5{: .external-link}
Android Gradle eklentisi 3.5.0 güncellemeleri
Android Gradle eklentisi 3.5.0'daki yenilikler (ör. artımlı ek açıklama işleme ve önbelleğe alınabilir birim testleri için iyileştirilmiş destek) hakkında bilgi edinmek için sürüm notlarına bakın.
Topluluğa katkıda bulunanlar
Hata bulmamıza ve Android Studio 3.5'i iyileştirmenin diğer yollarını keşfetmemize yardımcı olan tüm topluluk üyelerimize teşekkür ederiz. Özellikle P0 ve P1 hatalarını bildiren aşağıdaki kişilere teşekkür etmek istiyoruz:
|
|
|
3.4 (Nisan 2019)
Android Studio 3.4, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.
3.4.2 (Temmuz 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.4.1 (Mayıs 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.4.0 sürümüyle ilgili bilinen sorunlar
Uygulamanızı Android Q Beta çalıştıran bir cihaza dağıtırken profil oluşturma devre dışı bırakılır.
- Veri Bağlama Kitaplığı kullanılırken
LiveDataListener.onChanged()
, NPE ile başarısız olabilir. Bu soruna yönelik düzeltme, Android Studio 3.4.1'e eklenecek ve Android Studio 3.5'in en yeni önizleme sürümünde kullanıma sunulacaktır. ( 122066788 numaralı soruna bakın)
IntelliJ IDEA 2018.3.4
Temel Android Studio IDE, IntelliJ IDEA'daki iyileştirmelerle 2018.3.4 sürümü aracılığıyla güncellendi.
Android Gradle eklentisi 3.4.0 güncellemeleri
Android Gradle eklentisi 3.4.0'daki yenilikler hakkında bilgi edinmek için sürüm notlarına bakın.
Yeni Proje Yapısı İletişim Kutusu
Yeni Proje Yapısı İletişim Kutusu (PSD), bağımlılıkları güncellemenizi ve projenizin farklı yönlerini (ör. modüller, derleme varyantları, imzalama yapılandırmaları ve derleme değişkenleri) yapılandırmanızı kolaylaştırır.
Menü çubuğundan Dosya > Proje Yapısı'nı seçerek PSD'yi açabilirsiniz. PSD'yi Windows ve Linux'ta Ctrl+Shift+Alt+S
, macOS'te ise Command+;
(noktalı virgül) tuşuna basarak da açabilirsiniz. PSD'nin yeni ve güncellenmiş bölümlerinden bazılarının açıklamalarını aşağıda bulabilirsiniz.
Değişkenler
PSD'nin yeni değişkenler bölümü, projenizdeki bağımlılıkların sürüm numaralarını tutarlı tutmak gibi derleme değişkenleri oluşturup yönetmenize olanak tanır.
- Projenizin Gradle derleme komut dosyalarında bulunan derleme değişkenlerini hızlıca görüntüleyip düzenleyin.
- PSD'den doğrudan proje veya modül düzeyinde yeni derleme değişkenleri ekleyin.
Not: Mevcut derleme yapılandırma dosyalarınız değerleri karmaşık Groovy komut dosyaları aracılığıyla atıyorsa bu değerleri PSD üzerinden düzenleyemeyebilirsiniz. Ayrıca, PSD'yi kullanarak Kotlin'de yazılmış derleme dosyalarını düzenleyemezsiniz.
Modüller
Mevcut bir modüldeki tüm derleme varyantlarına uygulanan özellikleri yapılandırın veya Modüller bölümünden projenize yeni modüller ekleyin. Örneğin, defaultConfig
özelliklerini yapılandırabilir veya imzalama yapılandırmalarını yönetebilirsiniz.
Bağımlılıklar
Proje senkronizasyonu sırasında Gradle tarafından çözülen proje bağımlılık grafiğindeki her bağımlılığı incelemek ve görselleştirmek için aşağıdaki adımları uygulayın:
- PSD'nin sol bölmesinde Bağımlılıklar'ı seçin.
- Modüller bölmesinde, çözümlenmiş bağımlılıklarını incelemek istediğiniz bir modülü seçin.
- PSD'nin sağ tarafında, aşağıda gösterilen Çözümlenmiş Bağımlılıklar bölmesini açın.
Ayrıca, PSD'nin Bağımlılıklar bölümünden bir modül seçip Bildirilmiş Bağımlılıklar bölümündeki (+) düğmesini tıklayarak ve eklemek istediğiniz bağımlılık türünü seçerek projenize hızlıca bağımlılık arayabilir ve ekleyebilirsiniz.
Seçtiğiniz bağımlılık türüne bağlı olarak, bağımlılığı modüle eklemenize yardımcı olan aşağıdaki gibi bir iletişim kutusu görürsünüz.
Derleme Varyantları
PSD'nin bu bölümünde, projenizdeki her modül için derleme varyantları ve ürün aromaları oluşturup yapılandırın. Manifest yer tutucuları ekleyebilir, ProGuard dosyaları ekleyebilir, imzalama anahtarları atayabilir ve daha fazlasını yapabilirsiniz.
Öneriler
Proje bağımlılıkları ve derleme değişkenleri için önerilen güncellemeleri aşağıdaki gibi Öneriler bölümünde görebilirsiniz.
Yeni Resource Manager
Kaynak Yöneticisi, uygulamanızdaki kaynakları içe aktarmak, oluşturmak, yönetmek ve kullanmak için yeni bir araç penceresidir. Menü çubuğundan Görünüm > Araç Pencereleri > Kaynak Yöneticisi'ni seçerek araç penceresini açabilirsiniz. Kaynak Yöneticisi, aşağıdakileri yapmanıza olanak tanır:
- Kaynakları görselleştirme: İhtiyacınız olan kaynakları hızlıca bulmak için çizilebilir öğeleri, renkleri ve düzenleri önizleyebilirsiniz.
- Toplu içe aktarma: Birden fazla çizilebilir öğeyi tek seferde içe aktarmak için bunları Kaynak Yöneticisi araç penceresine sürükleyip bırakabilir veya Çizilebilir öğeleri içe aktar sihirbazını kullanabilirsiniz. Sihirbaza erişmek için araç penceresinin sol üst köşesindeki (+) düğmesini ve ardından açılır menüden Import Drawables'ı seçin.
-
SVG'leri
VectorDrawable
nesnelerine dönüştürme: SVG resimleriniziVectorDrawable
nesnelerine dönüştürmek için Çizilebilir Öğeleri İçe Aktar sihirbazını kullanabilirsiniz. - Öğeleri sürükleyip bırakma: Kaynak Yöneticisi araç penceresinden, çizilebilir öğeleri Layout Editor'ın hem tasarım hem de XML görünümlerine sürükleyip bırakabilirsiniz.
- Alternatif sürümleri görüntüleme: Artık Araç penceresinde bir kaynağı çift tıklayarak kaynaklarınızın alternatif sürümlerini görüntüleyebilirsiniz. Bu görünümde, oluşturduğunuz farklı sürümler ve dahil edilen niteleyiciler gösterilir.
- Karo ve liste görünümleri: Kaynaklarınızı farklı düzenlerde görselleştirmek için araç penceresindeki görünümü değiştirebilirsiniz.
Daha fazla bilgi edinmek için Uygulama kaynaklarını yönetme hakkındaki kılavuzu inceleyin.
APK'larda profil oluşturma ve hata ayıklama sırasında derleme kimliklerini kontrol etme
APK'nızdaki .so
paylaşılan kitaplıklar için hata ayıklama simge dosyaları sağladığınızda Android Studio, sağlanan simge dosyalarının derleme kimliğinin, APK'daki .so
kitaplıkların derleme kimliğiyle eşleştiğini doğrular.
APK'nızdaki yerel kitaplıkları bir derleme kimliğiyle oluşturursanız Android Studio, sembol dosyalarınızdaki derleme kimliğinin yerel kitaplıklarınızdaki derleme kimliğiyle eşleşip eşleşmediğini kontrol eder ve bir uyuşmazlık varsa sembol dosyalarını reddeder. Derleme kimliğiyle derleme yapmadıysanız yanlış sembol dosyaları sağlamak hata ayıklamayla ilgili sorunlara neden olabilir.
R8 varsayılan olarak etkindir
R8, tüm bu işlemleri tek bir adımda entegre ederek kayda değer derleme performansı iyileştirmeleri sağlar. R8, Android Gradle eklentisi 3.3.0'da kullanıma sunuldu ve artık 3.4.0 ve sonraki eklenti sürümlerini kullanan hem uygulama hem de Android kitaplık projelerinde varsayılan olarak etkin.
Aşağıdaki resimde, R8'in kullanıma sunulmasından önceki derleme sürecine genel bir bakış sunulmaktadır.
R8 ile birlikte, aşağıda gösterildiği gibi, desugaring, küçültme, karartma, optimizasyon ve dexing (D8) tek bir adımda tamamlanır.
R8'in mevcut ProGuard kurallarınızla çalışacak şekilde tasarlandığını unutmayın. Bu nedenle, R8'den yararlanmak için herhangi bir işlem yapmanız gerekmeyebilir. Ancak, ProGuard'dan farklı bir teknoloji olduğu ve özellikle Android projeleri için tasarlandığı için küçültme ve optimizasyon, ProGuard'ın kaldırmadığı kodların kaldırılmasına neden olabilir. Bu nedenle, bu olası olmayan durumda, söz konusu kodu derleme çıktınızda tutmak için ek kurallar eklemeniz gerekebilir.
R8'i kullanırken sorun yaşıyorsanız sorununuzun çözümü olup olmadığını kontrol etmek için R8 uyumluluğuyla ilgili SSS sayfasını inceleyin. Çözüm belgelenmemişse lütfen hata bildirin.
Aşağıdaki satırlardan birini projenizin gradle.properties
dosyasına ekleyerek R8'i devre dışı bırakabilirsiniz:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Not: Belirli bir derleme türü için uygulama modülünüzün build.gradle
dosyasında useProguard
değerini false
olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties
dosyasında R8'i devre dışı bırakıp bırakmadığınıza bakılmaksızın bu derleme türü için uygulamanızın kodunu küçültmek üzere R8'i kullanır.
Gezinme Düzenleyici artık tüm bağımsız değişken türlerini destekliyor
Gezinme bileşeni tarafından desteklenen tüm bağımsız değişken türleri artık Gezinme Düzenleyici'de desteklenmektedir. Desteklenen türler hakkında daha fazla bilgi için Hedefler arasında veri geçirme başlıklı makaleyi inceleyin.
Layout Editor'daki iyileştirmeler {:#layout-editor}
Düzen Düzenleyici'deki Özellikler bölmesi, yapılandırabileceğiniz özellikleri göstermek için genişletebileceğiniz bölümlerin bulunduğu tek bir sayfada birleştirildi. Özellikler bölmesi aşağıdaki güncellemeleri de içerir:
- Yeni Bildirilmiş Özellikler bölümünde, düzen dosyasının belirttiği özellikler listelenir ve yeni özellikler hızlıca eklenir.
- Özellikler bölmesinde artık her özelliğin yanında, özelliğin değeri kaynak referansı olduğunda dolu, aksi takdirde boş olan göstergeler de yer alıyor.
- Hata veya uyarı içeren özellikler artık vurgulanıyor. Kırmızı vurgular hataları (ör. geçersiz düzen değerleri kullandığınızda), turuncu vurgular ise uyarıları (ör. sabit kodlanmış değerler kullandığınızda) gösterir.
Bağımlılıkları hızlıca içe aktarmak için yeni niyet işlemi
Kodunuzda belirli Jetpack ve Firebase sınıflarını kullanmaya başlarsanız henüz yapmadıysanız yeni bir niyet işlemi, gerekli Gradle kitaplığı bağımlılığını projenize eklemenizi önerir. Örneğin, gerekli android.arch.work:work-runtime
bağımlılığını önce içe aktarmadan WorkManager
sınıfına referans verirseniz niyet işlemi, aşağıda gösterildiği gibi tek bir tıklamayla bunu kolayca yapmanıza olanak tanır.
Özellikle Jetpack, destek kitaplığını yönetilmesi ve güncellenmesi daha kolay olan ayrı paketler halinde yeniden paketlediğinden bu niyet işlemi, kullanmak istediğiniz Jetpack bileşenleri için yalnızca ihtiyacınız olan bağımlılıkları hızlı bir şekilde eklemenize yardımcı olur.
3.3 (Ocak 2019)
Android Studio 3.3, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.
3.3.2 (Mart 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.3.1 (Şubat 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir.
IntelliJ IDEA 2018.2.2
Temel Android Studio IDE, 2018.2.2 sürümü ile IntelliJ IDEA'daki iyileştirmelerle güncellendi.
Android Gradle eklentisi güncellemeleri
Android Gradle eklentisindeki yenilikler hakkında bilgi edinmek için sürüm notlarına bakın.
Gezinme Düzenleyicisi
Navigation Editor, Navigation Architecture Component'ı kullanarak uygulamanıza hızlıca gezinme özelliği eklemenizi ve gezinme özelliğini görselleştirmenizi sağlar.
Daha fazla bilgi için Navigation Architecture Component ile gezinmeyi uygulama konusuna bakın.
Kullanılmayan Android Studio dizinlerini silme
Android Studio'nun ana sürümünü ilk kez çalıştırdığınızda, karşılık gelen bir yüklemenin bulunamadığı Android Studio sürümlerinin önbelleklerini, ayarlarını, dizinlerini ve günlüklerini içeren dizinleri arar. Ardından Delete Unused Android Studio Directories (Kullanılmayan Android Studio Dizinlerini Sil) iletişim kutusunda bu kullanılmayan dizinlerin konumları, boyutları ve son değiştirilme zamanları gösterilir ve bunları silme seçeneği sunulur.
Android Studio'nun silinecek olarak 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 ile ilgili iyileştirmeler
Gradle'dan çağrıldığında Lint önemli ölçüde daha hızlıdır. Daha büyük projelerde Lint'in dört kat daha hızlı çalışması beklenir.
Yeni Proje Oluşturma sihirbazı
Yeni Proje Oluştur sihirbazı yeni bir görünüme sahip 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, çeşitli profillerde güncellemeler içerir.
Daha iyi performans
Kullanıcı geri bildirimlerine göre, profiller kullanılırken oluşturma performansı büyük ölçüde iyileştirildi. Lütfen geri bildirim göndermeye devam edin. Özellikle performans sorunları yaşamaya devam ederseniz geri bildirimlerinizi bekliyoruz.
Profiler bellek ayırma izleme seçenekleri
Profil oluşturma sırasında uygulama performansını artırmak için Bellek Profiler artık varsayılan olarak bellek ayırmalarını düzenli aralıklarla örnekler. İsterseniz Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran cihazlarda test yaparken Allocation Tracking (Ayırma İzleme) açılır listesini kullanarak bu davranışı değiştirebilirsiniz.
Allocation Tracking (Tahsis İzleme) açılır listesini kullanarak aşağıdaki modlardan birini seçebilirsiniz:
-
Tam: Tüm nesne belleği ayırmalarını yakalar. Çok sayıda nesne ayıran bir uygulamanız varsa profilleme sırasında önemli performans sorunları yaşayabilirsiniz.
-
Örneklenmiş: Nesne belleği ayırmalarının belirli aralıklarla örneklerini alır. Bu, varsayılan davranıştır ve profilleme sırasında uygulama performansı üzerinde daha az etkiye sahiptir. Kısa süre içinde çok sayıda nesne ayıran uygulamalarda performans sorunları yaşayabilirsiniz.
-
Kapalı: Bellek ayırma özelliğini kapatır. Bu mod, henüz seçilmemişse CPU kaydı alınırken otomatik olarak etkinleştirilir ve kayıt tamamlandığında önceki ayara geri döner. Bu davranışı CPU kayıt yapılandırması iletişim kutusunda değiştirebilirsiniz.
İzleme hem Java nesnelerini hem de JNI referanslarını etkiler.
Kare oluşturma verilerini inceleme
CPU Profiler'da artık Java uygulamanızın ana kullanıcı arayüzü iş parçacığında ve RenderThread'de her kareyi oluşturmasının ne kadar sürdüğünü inceleyebilirsiniz. Bu veriler, kullanıcı arayüzünün takılmasına ve düşük kare hızlarına neden olan darboğazları araştırırken faydalı olabilir. Örneğin, akıcı bir kare hızı sağlamak için gereken 16 ms'den uzun süren her kare kırmızı renkte gösterilir.
Kare oluşturma verilerini görmek için Sistem Çağrılarını İzlemenize olanak tanıyan bir yapılandırma kullanarak izleme kaydı yapın. İzlemeyi kaydettikten sonra, kayıt zaman çizelgesindeki her kareyle ilgili bilgileri aşağıdaki gibi KARELER bölümünde bulun.
Kare hızı sorunlarını inceleme ve düzeltme hakkında daha fazla bilgi edinmek için Yavaş oluşturma başlıklı makaleyi inceleyin.
Etkinlik zaman çizelgesindeki parçalar
Etkinlik zaman çizelgesinde artık parçaların ne zaman eklendiği ve kaldırıldığı gösteriliyor. Ayrıca, bir parçanın üzerine geldiğinizde, parça durumunu gösteren bir ipucu görüntülenir.
Ağ profilerinde bağlantı yükleri için biçimlendirilmiş metni görüntüleme
Daha önce, Ağ Profil Oluşturucu yalnızca bağlantı yüklerinden gelen ham metni görüntülüyordu. 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örüntüle 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 Ağ profili oluşturucu ile ağ trafiğini inceleme başlıklı makaleyi inceleyin.
SDK bileşenlerinin otomatik olarak indirilmesi
Projenizin SDK platformları, NDK veya CMake'den bir SDK bileşenine ihtiyacı olduğunda Gradle, SDK Yöneticisi'ni kullanarak ilgili lisans sözleşmelerini daha önce kabul ettiğiniz sürece gerekli paketleri otomatik olarak indirmeye çalışır.
Daha fazla bilgi için Gradle ile eksik paketleri otomatik olarak indirme başlıklı makaleyi inceleyin.
Clang-Tidy desteği
Android Studio artık yerel kod içeren projeler için Clang-Tidy kullanarak 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 > İncelemeler > C/C++ > Genel > Clang-Tidy'ye giderek incelemeleri etkinleştirebilir veya yeniden etkinleştirebilirsiniz. Ayarlar veya Tercihler iletişim kutusunda bu incelemeyi seçtiğinizde, en sağdaki panelin Seçenek bölümünde etkinleştirilen ve devre dışı bırakılan Clang-Tidy kontrollerinin listesini de görebilirsiniz. Ek kontrolleri etkinleştirmek için bunları listeye ekleyip Uygula'yı tıklayın.
Clang-Tidy'yi ek seçeneklerle yapılandırmak için Clang-Tidy Denetleme Seçeneklerini Yapılandır'ı tıklayın ve açılan iletişim kutusuna 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ı:
- İstisnalar Desteği (-fexceptions)
- Çalışma Zamanı Türü Bilgisi 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 3.6.0 sürümünü kullandığını unutmayın.
Gradle'ın kullanacağı CMake sürümünü belirtmek için modülünüzün build.gradle
dosyasına aşağıdakileri ekleyin:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
build.gradle
'da CMake'i yapılandırma hakkında daha fazla bilgi için Gradle'ı manuel olarak yapılandırma başlıklı makaleye bakın.
Minimum CMake sürümlerini belirtmek için yeni "+" söz dizimi
Ana modülünüzün build.gradle
dosyasında bir CMake sürümü belirtirken artık CMake'in cmake_minimum_required()
komutunun davranışıyla eşleşmesi için "+" ekleyebilirsiniz.
Dikkat: Dinamik bağımlılıklar beklenmedik sürüm güncellemelerine ve sürüm farklılıklarının çözülmesinde zorluğa neden olabileceğinden, diğer derleme bağımlılıklarıyla "+" söz diziminin kullanılması önerilmez.
Android App Bundle'lar artık hazır uygulamaları destekliyor
Android Studio artık Google Play Instant için tam destek sunan Android App Bundle'lar oluşturmanıza olanak tanıyor. Başka bir deyişle, artık hem yüklü uygulama hem de hazır uygulama deneyimlerini tek bir Android Studio projesinden oluşturup dağıtabilir ve bunları tek bir Android App Bundle'a dahil edebilirsiniz.
Yeni Proje Oluştur iletişim kutusunu kullanarak yeni bir Android Studio projesi oluşturuyorsanız Projenizi yapılandırın > Bu proje anlık uygulamaları destekleyecek seçeneğinin yanındaki kutuyu işaretlediğinizden emin olun. Android Studio daha sonra normalde olduğu gibi yeni bir uygulama projesi oluşturur ancak uygulamanızın temel modülüne anlık uygulama desteği eklemek için manifest dosyanıza aşağıdaki özellikleri dahil eder:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
Ardından, menü çubuğundan File > New > New Module'ü (Dosya > Yeni > Yeni Modül) seçip Create New Module (Yeni Modül Oluştur) iletişim kutusundan Instant Dynamic Feature Module'ü (Anında Dinamik Özellik Modülü) seçerek anında özellikli bir özellik modülü oluşturabilirsiniz. Bu modülü oluşturduğunuzda uygulamanızın temel modülünün de anında etkinleştirileceğini unutmayın.
Uygulamanızı yerel bir cihaza hazır uygulama deneyimi olarak dağıtmak için çalıştırma yapılandırmanızı düzenleyin ve Genel > Hazır uygulama olarak dağıt seçeneğinin 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ı için önemli bir adımdır. Ancak bu işlem büyük projelerde zaman alabilir. Projenizde birden fazla derleme varyantı kullanılıyorsa proje senkronizasyonlarını artık yalnızca o anda seçtiğiniz varyantla sınırlayarak optimize edebilirsiniz.
Bu optimizasyonu etkinleştirmek için Android Gradle eklentisi 3.3.0 veya sonraki bir sürümle birlikte Android Studio 3.3 veya sonraki bir sürümü kullanmanız gerekir. Bu koşulları 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 sizin de manuel olarak etkinleştirmemeniz gerekir.
Daha fazla bilgi için Tek varyantlı proje senkronizasyonunu etkinleştirme başlıklı makaleyi inceleyin.
Hızlı geri bildirim sağlama
Android Studio'nun iyileş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:


IDE ile ilgili mevcut deneyiminizi en iyi şekilde temsil eden simgeyi tıklamanız yeterlidir. Bunu yaptığınızda IDE, Android Studio ekibinin görüşlerinizi daha iyi anlamasını sağlayan kullanım istatistiklerini gönderir. Bazı durumlarda (ör. IDE ile ilgili olumsuz bir deneyim yaşadığınızı belirttiğinizde) ek geri bildirimde bulunabilirsiniz.
Henüz yapmadıysanız kullanım istatistiklerinin paylaşımını etkinleştirmek için Ayarlar iletişim kutusunu (Mac'te Tercihler) açın, Görünüm ve Davranış > Sistem Ayarları > Veri Paylaşımı'na gidin ve Kullanım istatistiklerini Google'a gönder'i işaretleyin.
3.2 (Eylül 2018)
Android Studio 3.2, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.
3.2.1 (Ekim 2018)
Android Studio 3.2'deki bu güncelleme aşağıdaki değişiklikleri ve düzeltmeleri içerir:
- Paketlenmiş Kotlin sürümü artık 1.2.71.
- Varsayılan derleme araçları sürümü artık 28.0.3'tür.
- Geçiş kitaplığında, bağımsız değişken türlerinin adı
type
olarak değiştirildi.argType
- Aşağıdaki hatalar düzeltildi:
- Veri Bağlama kitaplığı kullanılırken alt çizgi içeren değişken adları derleme hatalarına neden oluyordu.
- CMake, IntelliSense'in ve diğer CLion özelliklerinin başarısız olmasına neden oluyordu.
SliceProvider
eklenmesi,androidx.*
kitaplıklarının kullanılmadığı projelerde derleme hatalarına neden oluyordu.- Bazı Kotlin birim testleri çalıştırılmıyordu.
- Veri bağlamayla ilgili bir sorun,
PsiInvalidElementAccessException
neden oluyordu. <merge>
öğeleri bazen Düzen Düzenleyici'nin kilitlenmesine neden oluyordu.
3.2.0 sürümüyle ilgili bilinen sorunlar
Not: Bu sorunlar Android Studio 3.2.1'de giderildi.
Kotlin 1.2.70 sürümünü kullanmamanızı önemle tavsiye ederiz.
Kotlin 1.2.61 sürümünde, Android Studio'nun kilitlenmesine neden olabilen bir hata düzeltildi. Ancak Kotlin 1.2.70 bu düzeltmeyi içermez.
Ancak Kotlin 1.2.71 ve sonraki sürümler bu düzeltmeyi içerir.
-
Genellikle derleme araçları sürümünü belirtmeniz gerekmez ancak Android Gradle eklentisi 3.2.0'ı
renderscriptSupportModeEnabled
true
olarak ayarlanmış şekilde kullanırken her modülünbuild.gradle
dosyasına aşağıdakileri eklemeniz gerekir:android.buildToolsVersion "28.0.3"
Yenilikler Asistanı
Yeni bir asistan, Android Studio'daki en son değişiklikler hakkında sizi bilgilendirir.
Yeni bir yükleme veya güncellemeden sonra Android Studio'yu başlattığınızda, gösterilecek yeni bilgiler olduğunu algılarsa asistan açılır. Asistanı Help > What's new in Android Studio (Yardım > Android Studio'daki yenilikler) seçeneğini belirleyerek de açabilirsiniz.
Android Jetpack
Android Jetpack, tekrarlayan görevleri ortadan kaldıran ve yüksek kaliteli, test edilebilir uygulamaları daha hızlı ve kolay bir şekilde oluşturmanızı sağlayan bileşenler, araçlar ve rehberlik ile Android geliştirmeyi 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 belgelerini inceleyin.
Gezinme Düzenleyicisi
Yeni gezinme düzenleyici, uygulamanızın gezinme yapısını oluşturmak için grafik görünüm sağlamak üzere Android Jetpack'in gezinme bileşenleriyle entegre olur. Gezinme düzenleyici, uygulama içi hedefler arasında gezinme tasarımını ve uygulamasını basitleştirir.
Android Studio 3.2'de gezinme düzenleyici deneysel bir özelliktir. Gezinme Düzenleyici'yi etkinleştirmek için Dosya > Ayarlar'ı (Mac'te Android Studio > Tercihler) tıklayın, sol bölmede Deneysel kategorisini seçin, Gezinme Düzenleyici'yi etkinleştir seçeneğinin yanındaki kutuyu işaretleyin ve Android Studio'yu yeniden başlatın.
Daha fazla bilgi edinmek için Navigation Editor dokümanlarını okuyun.
AndroidX'e taşıma
Android Destek Kitaplıklarını, Jetpack'in bir parçası olarak androidx
ad alanını kullanan yeni bir Android uzantı kitaplığına taşıyoruz. Daha fazla bilgi için AndroidX'e genel bakış başlıklı makaleye göz atın.
Android Studio 3.2, yeni bir 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ınız varsa Android Studio derleme sistemi de bu proje bağımlılıklarını otomatik olarak dönüştürür.
Android Gradle eklentisi, gradle.properties
dosyanızda ayarlayabileceğiniz aşağıdaki genel işaretleri sağlar:
android.useAndroidX
:true
olarak ayarlandığında bu işaret, bundan sonra AndroidX'i kullanmaya başlamak istediğinizi gösterir. İşaret yoksa Android Studio, işaretfalse
olarak ayarlanmış gibi davranır.android.enableJetifier
:true
olarak ayarlandığında bu işaret, mevcut üçüncü taraf kitaplıkların AndroidX için yazılmış gibi otomatik olarak dönüştürülmesi için araç desteği (Android Gradle eklentisinden) istediğinizi gösterir. İşaret yoksa Android Studio, işaretfalse
olarak ayarlanmış gibi davranır.
AndroidX'e taşıma 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
, android.enableJetifier
işaretini ise false
olarak ayarlayabilirsiniz.
Android App Bundle
Android App Bundle, uygulamanızın derlenmiş kod ve kaynaklarının tamamını içeren ancak APK oluşturma ve imzalama işlemini Google Play Store'a bırakan yeni bir yükleme biçimidir.
Google Play'in yeni uygulama yayınlama modeli, her kullanıcının cihaz yapılandırması için optimize edilmiş APK'lar oluşturmak ve yayınlamak üzere uygulama paketinizi kullanır. Böylece her kullanıcı, uygulamanızı çalıştırmak için gereken kodu ve kaynakları indirir. Artık birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Kullanıcılar ise daha küçük ve daha optimize edilmiş indirmeler elde eder.
Ayrıca, uygulama projenize özellik modülleri ekleyebilir ve bunları uygulama paketinize dahil edebilirsiniz. Kullanıcılarınız daha sonra uygulamanızın özelliklerini isteğe bağlı olarak indirip yükleyebilir.
Paket oluşturmak için Build > Build Bundle(s) / APK(s) > Build Bundle(s)'ı (Derle > Paketleri/APK'ları Derle > Paketleri Derle) seçin.
Android App Bundle oluşturma ve analiz etme talimatları da dahil olmak üzere daha fazla bilgi için Android App Bundle başlıklı makaleyi inceleyin.
Layout Editor'daki örnek veriler
Birçok Android düzeninde, uygulama geliştirmenin tasarım aşamasında düzenin görünümünü ve tarzını görselleştirmeyi zorlaştırabilecek çalışma zamanı verileri bulunur. Artık Layout Editor'da görünümünüzün örnek verilerle doldurulmuş önizlemesini kolayca görebilirsiniz. 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ü doldurmak için kullanılacak örnek öğe sayısını belirtebilirsiniz.
Örnek verileri kullanmayı denemek için yeni bir düzene RecyclerView
ekleyin, görünümün altındaki tasarım zamanı özellikleri düğmesini tıklayın ve örnek veri şablonları karuselinden bir seçim yapın.
Dilimler
Dilimler, uygulamanızın işlevlerinin bir kısmını Android'deki diğer kullanıcı arayüzü yüzeylerine yerleştirmenin yeni bir yolunu sunar. Örneğin, Dilimler sayesinde uygulama işlevleri ve içerikleri Google Arama önerilerinde gösterilebilir.
Android Studio 3.2'de, uygulamanızı yeni Slice Provider API'leriyle genişletmenize yardımcı olacak yerleşik bir şablonun yanı sıra Slice'ları oluştururken en iyi uygulamaları takip etmenizi sağlayacak yeni lint kontrolleri bulunur.
Başlamak için bir proje klasörünü sağ tıklayın ve Yeni > Diğer > Dilim Sağlayıcı'yı seçin.
Slice etkileşimlerinizi test etme de dahil olmak üzere daha fazla bilgi edinmek için Slice'ları kullanmaya başlama kılavuzunu inceleyin.
Kotlin 1.2.61
Android Studio 3.2, Kotlin 1.2.61'i içerir ve yeni Android SDK, Kotlin ile daha iyi entegre olur. Daha fazla bilgi için Android Developers Blogu'na göz atın.
IntelliJ IDEA 2018.1.6
Temel Android Studio IDE, IntelliJ IDEA'daki iyileştirmelerle 2018.1.6 sürümü aracılığıyla güncellendi.
Android profiller
Android Studio 3.2'de aşağıdaki yeni Android Profiler özelliklerini deneyin.
Oturumlar
Artık Profiler verilerini daha sonra tekrar ziyaret edip incelemek için oturum olarak kaydedebilirsiniz. Profiler, IDE'yi yeniden başlatana kadar oturum verilerinizi saklar.
Yöntem izi kaydettiğinizde veya yığın dökümü aldığı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'sunu ve ileti dizisi etkinliğini incelemek için CPU Profiler'da yeni Sistem İzleme yapılandırmasını seçin. Bu izleme yapılandırması systrace
üzerine kurulmuştur ve kullanıcı arayüzü takılması gibi sistem düzeyindeki sorunları araştırmak için kullanışlıdır.
Bu izleme yapılandırmasını kullanırken C/C++ kodunuzu native tracing API ile veya Java kodunuzu Trace
sınıfıyla donatarak önemli kod rutinlerini profil oluşturucu zaman çizelgesinde görsel olarak işaretleyebilirsiniz.
Bellek Profiler'da JNI referanslarını inceleme
Uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki bir sürümün yüklü olduğu bir cihaza dağıtırsanız artık Bellek Profil Oluşturucu'yu kullanarak uygulamanızın JNI kodu için bellek ayırmalarını inceleyebilirsiniz.
Uygulamanız çalışırken zaman çizelgesinin incelemek istediğiniz bir bölümünü seçin ve sınıf listesinin üzerindeki açılır menüden JNI yığını'nı seçin (aşağıda gösterildiği gibi). Ardından, yığında bulunan nesneleri normalde yaptığınız gibi inceleyebilir ve Allocation Call Stack (Ayırma Çağrı Yığını) sekmesindeki nesneleri çift tıklayarak JNI referanslarının kodunuzda nerede ayrıldığını ve serbest bırakıldığını görebilirsiniz.

Bellek yığını dökümü dosyalarını içe ve dışa aktarma ve inceleme
Artık Memory Profiler ile oluşturulan .hprof
bellek yığını dökümü dosyalarını içe aktarabilir, dışa aktarabilir ve inceleyebilirsiniz.
.hprof
dosyanızı içe aktarmak için profil oluşturucunun Oturumlar bölmesinde Yeni profil oluşturucu oturumu başlat'ı tıklayın ve ardından Dosyadan yükle'yi seçin. Daha sonra, verilerini diğer yığın dökümleri gibi Memory Profiler'da 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ındaki Yığın Dökümünü Dışa Aktar düğmesini kullanın. Açılan Farklı Kaydet iletişim kutusunda dosyayı .hprof
dosya adı uzantısıyla kaydedin.
Uygulama başlatılırken CPU etkinliğini kaydetme
Artık uygulamanızın başlatılması sırasında CPU etkinliğini aşağıdaki şekilde kaydedebilirsiniz:
- Ana menüden Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) seçin.
- İstediğiniz çalıştırma yapılandırmasının Profiling (Profillendirme) sekmesinde, Start recording a method trace on startup (Başlangıçta yöntem izi kaydetmeye başla) seçeneğinin yanındaki kutuyu işaretleyin.
- Açılır menüden kullanılacak bir CPU kayıt yapılandırması seçin.
- Run > Profile'ı (Çalıştır > Profil) seçerek uygulamanızı Android 8.0 (API seviyesi 26) veya sonraki sürümlerin yüklü olduğu bir cihaza dağıtın.
CPU izlerini dışa aktarma
CPU Profiler ile CPU etkinliğini kaydettikten sonra verileri .trace
dosyası olarak dışa aktarabilir, başkalarıyla paylaşabilir veya daha sonra inceleyebilirsiniz.
CPU etkinliğini kaydettikten sonra izlemeyi dışa aktarmak için aşağıdakileri yapın:
- CPU zaman çizelgesinden dışa aktarmak istediğiniz kaydı sağ tıklayın.
- Açılır menüden İzlemeyi dışa aktar'ı seçin.
- Dosyayı kaydetmek istediğiniz konuma gidin ve Kaydet'i tıklayın.
CPU izleme dosyalarını içe aktarma ve inceleme
Artık Debug API veya CPU Profiler ile oluşturulan .trace
dosyalarını içe aktarıp inceleyebilirsiniz. (Şu anda Sistem İzleme kayıtlarını içe aktaramazsınız.)
İzleme dosyanızı içe aktarmak için profil oluşturucunun Oturumlar bölmesinde Yeni profil oluşturucu oturumu başlat'ı tıklayın ve ardından Dosyadan yükle'yi seçin. Ardından, aşağıdaki istisnalar dışında, verilerini normalde yaptığınız gibi CPU Profiler'da inceleyebilirsiniz:
- CPU etkinliği, CPU zaman çizelgesinde gösterilmez.
- İş parçacığı etkinliği zaman çizelgesi yalnızca her iş parçacığı için izleme verilerinin bulunduğu yerleri gösterir ve gerçek iş parçacığı durumlarını (ör. çalışıyor, bekliyor veya uyuyor) göstermez.
Hata Ayıklama API'sini kullanarak CPU etkinliğini kaydetme
Artık uygulamanıza Debug API'yi ekleyerek CPU Profiler'da CPU etkinliğini kaydetmeye başlayabilir ve durdurabilirsiniz. Uygulamanızı bir cihaza dağıttıktan sonra profil oluşturucu, uygulamanız startMethodTracing(String tracePath)
işlevini çağırdığında CPU etkinliğini otomatik olarak kaydetmeye başlar ve uygulamanız stopMethodTracing()
işlevini çağırdığında kaydı durdurur. Bu API kullanılarak tetiklenen CPU etkinliği kaydedilirken CPU Profiler, seçilen CPU kayıt yapılandırması olarak Debug API'yi gösterir.
Energy Profiler
Enerji Profiler, uygulamanızın tahmini enerji kullanımının yanı sıra enerji kullanımını etkileyen sistem etkinliklerinin (ör. uyandırma kilitleri, alarmlar ve işler) görselleştirilmiş halini gösterir.
Uygulamanızı Android 8.0 (API 26) veya sonraki sürümlerin yüklü olduğu bağlı bir cihazda ya da Android Emulator'da çalıştırdığınızda Enerji Profil Oluşturucu, Profiler penceresinin en altında yeni bir satır olarak görünür.
Enerji Profil Oluşturucu görünümünü en üst düzeye çıkarmak için Enerji satırını tıklayın. CPU, ağ ve konum (GPS) kaynaklarına göre enerji kullanımının dökümünü ve ilgili sistem etkinliklerini görmek için fare işaretçinizi zaman çizelgesindeki bir çubuğun üzerine getirin.
Enerji kullanımını etkileyen sistem etkinlikleri, Enerji zaman çizelgesinin altındaki Sistem zaman çizelgesinde gösterilir. Belirtilen zaman aralığındaki sistem etkinliklerinin ayrıntıları, Enerji zaman çizelgesinde bir zaman aralığı seçtiğinizde etkinlik bölmesinde gösterilir.
Bir sistem etkinliğinin (ör. uyandırma kilidi) çağrı yığınını ve diğer ayrıntılarını görmek için etkinlik bölmesinde ilgili etkinliği seçin. Bir sistem etkinliğinden sorumlu koda gitmek için çağrı yığınındaki girişi çift tıklayın.
Lint denetimi
Android Studio 3.2, hata analizi kontrolü için birçok yeni ve geliştirilmiş özellik içerir.
Yeni lint kontrolleri, olası kullanılabilirlik sorunlarıyla ilgili uyarılardan olası güvenlik açıklarına ilişkin yüksek öncelikli hatalara kadar değişen yaygın kod sorunlarını bulup belirlemenize yardımcı olur.
Java/Kotlin birlikte çalışabilirliği için Lint kontrolleri
Java kodunuzun Kotlin kodunuzla iyi bir şekilde birlikte çalışmasını sağlamak için yeni lint kontrolleri, Kotlin Birlikte Çalışabilirlik Kılavuzu'nda açıklanan en iyi uygulamaları zorunlu kılar. Bu kontrollere örnek olarak Nullability ek açıklamalarının varlığını arama, Kotlin'in zorunlu anahtar kelimelerinin kullanımı ve lambda parametrelerini en sona yerleştirme verilebilir.
Bu kontrolleri etkinleştirmek için Dosya > Ayarlar'ı (Mac'te Android Studio > Tercihler) tıklayarak Ayarlar iletişim kutusunu açın, Düzenleyici > İncelemeler > 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 kontrolleri etkinleştirmek için build.gradle
dosyanıza aşağıdakileri ekleyin:
android {
lintOptions {
check 'Interoperability'
}
}
Dilimler için Lint denetimleri
Dilimler için yeni lint kontrolleri, Dilimleri doğru şekilde oluşturmanıza yardımcı olur. Örneğin, lint kontrolleri bir dilime birincil işlem atamadıysanız sizi uyarır.
Yeni Gradle hedefi
Lint kontrolü tarafından önerilen tüm güvenli düzeltmeleri doğrudan kaynak koduna uygulamak için yeni lintFix
Gradle görevini kullanın. Uygulanacak güvenli bir düzeltme öneren lint kontrolü örneği: SyntheticAccessor
.
Meta veri güncellemeleri
Lint kontrollerinin Android 9 (API düzeyi 28) ile çalışması için yayın kontrolü gibi çeşitli meta veriler güncellendi.
Yeni bir varyantta lint çalıştırılıyorsa uyarı
Lint artık bir temel çizginin hangi varyant ve sürümle kaydedildiğini kaydediyor. Ayrıca, lint'i temel çizginin oluşturulduğu varyanttan farklı bir varyantta çalıştırırsanız sizi uyarıyor.
Mevcut lint kontrollerinde yapılan iyileştirmeler
Android Studio 3.2, mevcut hata analizi kontrollerinde birçok iyileştirme içerir. Örneğin, kaynak döngüsü kontrolleri artık ek kaynak türleri için de geçerli ve çeviri algılayıcı, eksik çevirileri düzenleyicide anında bulabiliyor.
Sorun kimliklerinin daha kolay bulunmasını sağlama
Sorun kimlikleri artık İnceleme Sonuçları penceresi de dahil olmak üzere daha fazla yerde gösteriliyor. Bu sayede, build.gradle
içindeki lintOptions
aracılığıyla belirli kontrolleri etkinleştirmek veya devre dışı bırakmak için ihtiyacınız olan bilgileri daha kolay bulabilirsiniz.
Daha fazla bilgi için Gradle ile lint seçeneklerini yapılandırma başlıklı makaleyi inceleyin.
Veri Bağlama V2
Veri Bağlama V2 artık varsayılan olarak etkindir ve V1 ile uyumludur. Bu, V1 ile derlediğiniz kitaplık bağımlılıklarınız varsa bunları Veri Bağlama V2'yi kullanan projelerde kullanabileceğiniz anlamına gelir. Ancak V1'i kullanan projelerin V2 ile derlenen bağımlılıkları kullanamayacağını unutmayın.
D8 desugaring
Android Studio 3.1'de, deneysel bir özellik olarak D8 aracına desugaring adımını entegre ederek genel derleme süresini kısalttık. Android Studio 3.2'de, D8 ile desugaring varsayılan olarak etkindir.
Yeni kod küçültücü
R8, ProGuard'ın yerini alan, kod küçültme ve karartma için yeni bir araçtır. Aşağıdakileri projenizin gradle.properties
dosyasına 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 istiyorsanız NDK r16b veya daha eski bir sürümü kullanmanız ve ABI'leri build.gradle
dosyanızda aşağıdaki gibi 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ümlerde de yer alır.
CMake derleme dosyaları için geliştirilmiş düzenleyici özellikleri
Projenize C ve C++ kodu eklemek için CMake kullanıyorsanız Android Studio artık CMake derleme komut dosyalarınızı düzenlemenize yardımcı olacak geliştirilmiş düzenleyici özellikleri içeriyor. Örneğin:
- Söz dizimi vurgulama ve kod tamamlama: IDE artık yaygın CMake komutları için kod tamamlama önerisinde bulunuyor ve kodları vurguluyor. Ayrıca, Control tuşuna (Mac'te Command) basarken dosyayı tıklayarak da dosyaya gidebilirsiniz.
- Kodu yeniden biçimlendirme: Artık CMake derleme komut dosyalarınıza kod stilleri uygulamak için IntelliJ'in kodu yeniden biçimlendirme seçeneğini kullanabilirsiniz.
- Güvenli 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ı veya silip silmediğinizi de kontrol ediyor.
Harici üstbilgi dosyalarında gezinme
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 gezinebilir ve bunları inceleyebilirsiniz. Bu sürümle birlikte, artık uygulamanızın projesine aktardığınız harici C/C++ kitaplığı bağımlılıklarıyla birlikte gelen başlık dosyalarını da görüntüleyip inceleyebilirsiniz.
Projenize C/C++ kodu ve kitaplıkları zaten eklediyseniz, ana menüden Görünüm > Araç Pencereleri > Proje'yi seçerek IDE'nin sol tarafındaki Proje penceresini açın ve açılır menüden Android'i seçin. cpp dizininde, uygulama projenizin kapsamındaki tüm başlıklar, yerel C/C++ kitaplığı bağımlılıklarınızın her biri için include düğümü altında düzenlenir.

Yerel multidex varsayılan olarak etkindir
Android Studio'nun önceki sürümlerinde, bir uygulamanın hata ayıklama sürümü Android API düzeyi 21 veya sonraki sürümlerin yüklü olduğu bir cihaza dağıtılırken yerel çoklu dex etkinleştiriliyordu. Artık Gradle için Android eklentisi, minSdkVersion=21
veya sonraki sürümleri ayarlayan tüm modüller için yerel çoklu dex'i etkinleştiriyor. Bu sayede, ister bir cihaza dağıtım yapıyor ister yayın için APK oluşturuyor olun, bu özellikten yararlanabilirsiniz.
AAPT2, Google'ın Maven deposuna taşındı
Android Studio 3.2'den itibaren AAPT2 (Android Asset Packaging Tool 2)'nin kaynağı Google'ın Maven deposudur.
AAPT2'yi kullanmak için google()
dosyanızda, burada gösterildiği gibi bir build.gradle
bağımlılığınız 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ünde, Windows'da ASCII dışı karakterlerin daha iyi işlenmesi de dahil olmak üzere birçok sorun düzeltildi.
Yapılandırmayı isteğe bağlı olarak kaldırma
İsteğe bağlı yapılandırma tercihi Android Studio'dan kaldırıldı.
Android Studio artık Gradle'a --configure-on-demand
bağımsız değişkenini iletmiyor.
ADB Bağlantı Asistanı
Yeni ADB Bağlantı Asistanı, bir cihazı Android Debug Bridge (ADB) bağlantısı üzerinden kurup kullanmanıza yardımcı olacak adım adım talimatlar sunar.
Yardımcıyı başlatmak için Araçlar > Bağlantı Yardımcısı'nı seçin.
ADB Bağlantı Asistanı, Asistan panelindeki bir dizi sayfada talimatlar, bağlama özel kontroller ve bağlı cihazların listesini sağlar.
Emülatör iyileştirmeleri
Artık Android Emulator'da AVD'lerin (Android sanal cihaz) anlık görüntülerini istediğiniz zaman kaydedip yükleyebilir, böylece test için emüle edilmiş bir cihazı bilinen bir duruma hızlı ve kolay bir şekilde döndürebilirsiniz. AVD Yöneticisi'ni kullanarak bir AVD'yi düzenlediğinizde, AVD başlatıldığında hangi AVD anlık görüntüsünün yükleneceğini belirtebilirsiniz.
AVD anlık görüntülerini kaydetme, yükleme ve yönetme kontrolleri artık emülatörün Genişletilmiş kontroller penceresindeki Anlık görüntüler sekmesinde yer alıyor.
Ayrıntılar için Anlık görüntüler başlıklı makaleyi inceleyin.
Emülatör'deki 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 önemli bir sürümdür.
3.1.4 (Ağustos 2018)
Android Studio 3.1'deki bu güncelleme aşağıdaki değişiklikleri ve düzeltmeleri içerir:
- Paketlenmiş Kotlin sürümü 1.2.50'ye yükseltildi.
-
Yeni projeler, desteği sonlandırılan
kotlin-stdlib-jre*
yapıtları yerinekotlin-stdlib-jdk* artifacts
ile oluşturulur. - ProGuard kurallarının R8 ayrıştırması iyileştirildi.
- Aşağıdaki hatalar düzeltildi:
-
Kotlin Main sınıfını çalıştırma girişimi şu hatayla başarısız oldu:
"Error: Could not find or load main class..."
- R8, belirli optimizasyonları gerçekleştirirken sonsuz döngüye giriyordu.
- Çalıştır penceresinde Başarısız testleri yeniden çalıştır komutu kullanıldığında bazen "Test bulunamadı" mesajı yanlışlıkla döndürülüyordu.
-
D8,
invoke-virtual
örneklerini doğru şekilde işlemediğindenVerifyError
ile kilitlenmeye neden oluyordu:invoke-super/virtual can't be used on private method
-
Veri bağlama derleyicisi,
com.android.tools:annotations
'nın eski bir sürümüne bağlıydı. Derleyici artık uygun olduğunda temel projedeki araç ek açıklamalarını kullanıyor. - Android Studio, profiler'lar kullanılırken parça geçişleri sırasında kilitleniyordu.
- Hata ayıklayıcı, metin kutusu içeren bir düzende hata ayıklanırken kilitleniyordu.
- D8, özel karakterler içeren bazı ZIP dosyalarını okuyamadı.
3.1.3 (Haziran 2018)
Android Studio 3.1'deki bu güncelleme, aşağıdaki hatalar için düzeltmeler içerir:
- Bellek sızıntıları, Düzen Düzenleyici'yi kullandıktan sonra Android Studio'nun yavaşlamasına ve yanıt vermemesine neden oluyordu. Bu güncelleme, bu sorunların çoğuna yönelik düzeltmeler içerir. Yakında ek bellek sızıntılarını gidermek için başka bir güncelleme yayınlamayı planlıyoruz.
- D8 ile oluşturulan bazı uygulamalar, bazı Verizon Ellipsis tabletlerde kilitleniyordu.
-
D8 ile oluşturulan uygulamaların Android 5.0 veya 5.1 (API düzeyi 21 ya da 22) çalıştıran cihazlara yüklenmesi
INSTALL_FAILED_DEXOPT
hatasıyla başarısız oluyordu. - OkHttp kitaplığını kullanan ve D8 ile oluşturulan bazı uygulamalar, Android 4.4 (API düzeyi 19) çalıştıran cihazlarda kilitleniyordu.
-
Android Studio bazen başlatılamıyordu ve
ProcessCanceledException
sınıf başlatma sırasındacom.intellij.psi.jsp.JspElementType
hatası veriyordu.
3.1.2 (Nisan 2018)
Android Studio 3.1'deki bu güncelleme, aşağıdaki hatalar için düzeltmeler içerir:
- Bazı durumlarda Android Studio, çıkış sırasında süresiz olarak kilitleniyordu.
-
Kaynak kümeleriyle yapılandırılan derlemeler, Anında Çalıştırma etkinleştirildiğinde 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 komutuyla tetiklendiğinde başarısız oluyordu.
-
build.gradle
dosyası düzenlenirken bazen bir karakter yazma ile karakterin ekranda görünmesi arasında belirgin bir gecikme oluyordu. -
Çok sayıda modül veya harici bağımlılık içeren bazı projelerde dexing sırasında derleme hataları oluştu. Hata mesajı şu şekildeydi:
"RejectedExecutionException: Thread limit exceeded replacing blocked worker"
- D8 ana DEX listesinin hesaplanmasında bazı yansıtıcı çağırmalar dikkate alınmıyordu.
Bu güncelleme, bazı senaryolarda Gradle'dan lint kontrollerinin çalıştırılmasını çok daha hızlı hale getiren değişiklikleri de içerir.
3.1.1 (Nisan 2018)
Android Studio 3.1'deki bu güncelleme, aşağıdaki hatalar için düzeltmeler içerir:
-
Bazı durumlarda, Android Studio 3.0'da oluşturulan bir proje Android Studio 3.1'de ilk kez açıldığında Gradle'ı kullanan Make görevi, Run/Debug Configurations'daki Before launch alanından kaldırılıyordu. Sonuç olarak, Çalıştır veya Hata Ayıkla düğmesi tıklandığında projeler oluşturulmadı. Bu da yanlış APK'ların dağıtılması ve Anında Çalıştırma kullanılırken kilitlenme gibi hatalara neden oldu.
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'ı bilen Make görevini ekler. Bu değişiklik, proje yüklendiğinde ilk Gradle senkronizasyonundan sonra gerçekleşir.
- Gelişmiş profil oluşturma etkinleştirilmişse metin kutusu içeren bir düzende hata ayıklanırken hata ayıklayıcı kilitleniyordu.
- Build Variants'ı (Derleme Çeşitleri) tıkladıktan sonra Android Studio'nun donması
- AAR (Android arşivi) dosyaları iki kez çıkarılıyordu: bir kez Gradle senkronizasyon işlemi sırasında, bir kez de Gradle derleme işlemi sırasında.
- SVG dosyalarından içe aktarılan bazı vektör çizilebilir öğelerinde eksiklikler vardı.
-
compile
bağımlılık yapılandırmasının desteğinin sonlandırılmasıyla ilgili uyarı,implementation
veapi
yapılandırmalarıyla ilgili daha iyi yönergelerle güncellendi.compile
yapılandırmasını kullanmayı bırakma hakkında ayrıntılı bilgi için yeni bağımlılık yapılandırmalarıyla ilgili belgelere bakın.
Kodlama/IDE
IntelliJ 2017.3.3
Temel Android Studio IDE, IntelliJ IDEA'daki iyileştirmelerle 2017.3.3 sürümüne kadar güncellendi. İyileştirmeler arasında koleksiyonlar ve dizeler için daha iyi kontrol akışı analizi, geliştirilmiş nullability çıkarımı, yeni hızlı düzeltmeler ve çok daha fazlası yer alıyor.
Ayrıntılar için 2017.2 ve 2017.3 IntelliJ IDEA sürümlerinin JetBrains sürüm notlarının yanı sıra hata düzeltme güncellemeleri ile ilgili JetBrains sürüm notlarını inceleyin.
Room ile SQL düzenleme iyileştirmeleri
Room veritabanı kitaplığını kullandığınızda SQL düzenlemeyle ilgili çeşitli iyileştirmelerden yararlanabilirsiniz:
Query
içindeki kod tamamlama, SQL tablolarını (varlıklar), sütunları, sorgu parametrelerini, takma adları, birleştirme işlemlerini, alt sorguları ve WITH ifadelerini anlar.- SQL söz dizimi vurgulama artık çalışıyor.
- SQL'de bir tablo adını sağ tıklayıp yeniden adlandırabilirsiniz. Bu işlem, ilgili Java veya Kotlin kodunu (örneğin, sorgunun dönüş türü dahil) da yeniden yazar. Yeniden adlandırma işlemi ters yönde de çalışır. Bu nedenle, bir Java sınıfını veya alanını yeniden adlandırmak, ilgili SQL kodunu yeniden yazar.
- SQL kullanımları, Kullanımları bul (sağ tıklayıp bağlam menüsünden Kullanımları bul'u seçerek) kullanıldığında gösterilir.
- Java veya Kotlin kodunda bir SQL öğesinin bildirimine gitmek için, öğeyi tıklarken Control (Mac'te Command) tuşunu basılı tutabilirsiniz.
Room ile SQL kullanma hakkında bilgi edinmek için Room kullanarak verileri yerel veritabanına kaydetme başlıklı makaleyi inceleyin.
Veri bağlama ile ilgili güncellemeler
Bu güncelleme, veri bağlama ile ilgili çeşitli iyileştirmeler içerir:
-
Artık veri bağlama ifadelerinde gözlemlenebilir alan olarak
LiveData
nesnesini kullanabilirsiniz.ViewDataBinding
sınıfı artıksetLifecycle()
adlı yeni bir yöntem içeriyor. Bu yöntemiLiveData
nesnelerini gözlemlemek için kullanabilirsiniz. -
ObservableField
sınıfı artık oluşturucusunda diğerObservable
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 Veri Bağlama Derleyicisi V2 başlıklı makaleye bakın.
Yeni derleyicinin avantajları arasında şunlar yer alır:
-
ViewBinding
sınıfları, Java derleyicisinden önce Gradle için Android eklentisi tarafından oluşturulur. - Kitaplıklar, oluşturulan bağlama sınıflarını her seferinde yeniden oluşturmak yerine uygulama derlendiğinde saklar. Bu, çok modüllü projelerde performansı önemli ölçüde artırabilir.
-
Derleyici ve Gradle
D8, varsayılan DEX derleyicisidir.
DEX bayt kodu oluşturmak için artık varsayılan olarak D8 derleyicisi kullanılıyor.
Bu yeni DEX derleyicinin aşağıdaki gibi çeşitli avantajları vardır:
- Daha hızlı dexing
- Bellek kullanımını azaltma
- Geliştirilmiş kod oluşturma (daha iyi kayıt tahsisi, daha akıllı dize tabloları)
- Kodda adım adım ilerlerken daha iyi hata ayıklama deneyimi
Daha önce D8 derleyicisini manuel olarak 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
içinde android.enableD8
öğesini false
olarak ayarladıysanız söz konusu işareti silin veya true
olarak ayarlayın:
android.enableD8=true
Ayrıntılar için Yeni DEX derleyicisi başlıklı makaleyi inceleyin.
Artımlı şekerden arındırma
Java 8 dili özelliklerini kullanan projelerde, derleme sürelerini iyileştirebilecek artımlı desugaring özelliği varsayılan olarak etkindir.
Desugaring, söz dizimi şekerini 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ı desugaring'i devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false
Basitleştirilmiş çıkış penceresi
Gradle Console, Sync ve Build sekmelerini içeren Build penceresiyle değiştirildi.
Yeni ve basitleştirilmiş Build penceresini kullanma hakkında ayrıntılı bilgi için Derleme sürecini izleme başlıklı makaleyi inceleyin.
Toplu güncelleme ve dizine ekleme eşzamanlılığı
Gradle senkronizasyonu ve IDE dizine ekleme işlemleri artık çok daha verimli. Bu sayede, birçok gereksiz dizine ekleme işleminde harcanan zaman azalıyor.
C++ ve LLDB
C++ geliştirmenin kodlama, senkronizasyon, oluşturma ve hata ayıklama aşamalarında kalite ve performansla ilgili birçok iyileştirme yaptık. İyileştirmeler şunları içerir:
-
Büyük C++ projeleriyle çalışıyorsanız sembol oluşturmak için harcanan sürenin önemli ölçüde kısaldığını fark edeceksiniz. Büyük projelerde senkronizasyon süresi de önemli ölçüde kısalır.
-
CMake ile derleme ve senkronizasyon sırasında performans, önbelleğe alınmış sonuçların daha agresif bir şekilde yeniden kullanılmasıyla iyileştirildi.
-
Daha fazla C++ veri yapısı için biçimlendiricilerin ("pretty printer") eklenmesiyle LLDB çıkışının okunması kolaylaştırıldı.
-
LLDB artık yalnızca Android 4.1 (API düzeyi 16) ve sonraki sürümlerde çalışır.
Not: Android Studio 3.0 veya daha yeni bir sürümle yapılan 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'de Kotlin 1.2.30 sürümü yer alır.
Kotlin kodu artık komut satırı lint kontrolüyle analiz ediliyor
Lint'i komut satırından çalıştırma işlemi artık Kotlin sınıflarınızı analiz ediyor.
Lint'i ç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 projelerde zaten yer alır.
Performans araçları
CPU profiler ile yerel C++ işlemlerini örnekleme
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 seviyesi 26) veya sonraki sürümlerin yüklü olduğu bir cihaza dağıtıp CPU Profiler'ın kayıt yapılandırmaları açılır menüsünden Örneklenmiş (Yerel)'i seçerek bu yapılandırmayı kullanabilirsiniz. Bundan sonra, normalde yaptığınız gibi bir iz kaydı oluşturun ve 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 Enstrümanlı (Java) yapılandırmasını seçin.
CPU izlerini, bellek ayırma sonuçlarını ve yığın dökümlerini filtreleme
CPU Profiler ve Memory Profiler, sonuçları bir yöntem izinin, bellek ayırmalarının veya yığın dökümünün kaydedilmesine göre filtrelemenize olanak tanıyan bir arama özelliği içerir.

Arama yapmak için bölmenin sağ üst köşesindeki Filtrele'yi tıklayın, sorgunuzu yazın ve Enter tuşuna basın.
İpucu: Arama alanını açmak için Control + F (Mac'te Command + F) tuşlarına da basabilirsiniz.
CPU Profiler'ın Alev 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 başlıklı makaleyi inceleyin.
Ağ Profil Oluşturucu'daki İstek sekmesi
Ağ Profil Oluşturucu'da artık seçilen zaman çizelgesi sırasında ağ istekleriyle ilgili ayrıntılar sağlayan bir İstek sekmesi bulunuyor. Önceki sürümlerde, Ağ Profil Oluşturucu yalnızca ağ yanıtlarıyla ilgili bilgi veriyordu.
Network Profiler'daki ileti dizisi görünümü
Ağ Profil Oluşturucu'da zaman çizelgesinin bir bölümünü seçtikten sonra, bu zaman aralığındaki ağ etkinliği hakkında 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. Zaman çizelgesinin seçilen bölümünde uygulamanızın tüm CPU iş parçacıkları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 her bir CPU iş parçacığının ağ etkinliğini gösterir. Bu görünüm, uygulamanızın hangi iş parçacıklarının her ağ isteğinden sorumlu olduğunu incelemenize olanak tanır.

Layout Inspector
Layout Inspector, kullanımdan kaldırılan Hierarchy Viewer ve Pixel Perfect araçlarının daha önce sağladığı bazı işlevler de dahil olmak üzere yeni özellikler kazandı:
- Düzenlerde gezinmek ve düzenleri incelemek için kullanılan yakınlaştırma düğmeleri ve klavye kısayolları
- Referans kılavuz yer paylaşımı
- Referans resim yükleyip yer paylaşımı olarak kullanabilme (düzeninizi bir kullanıcı arayüzü maketiyle karşılaştırmak için kullanışlıdır)
- Karmaşık bir düzendeki görünümü yalıtmak için alt ağaç önizlemesini oluşturun.

Layout Editor
Düzen Düzenleyici'deki Palet'te birçok iyileştirme yapıldı:
- Görünümler ve düzenler için kategorilerin yeniden düzenlenmesi.
- Görünümler ve düzenler için yeni Ortak kategorisi. Bu kategoriye Favori komutuyla öğe ekleyebilirsiniz.
- Görünüm ve düzen arama işlevi iyileştirildi.
- Belirli bir görünüm veya düzen öğesi için 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 denetçisinde bulunan yeni Bağlantı oluştur düğmelerini kullanarak seçili görünüme yakın öğ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 getirildi. Aynı seçimi kullan seçeneği etkinse Dağıtım hedefi seçin iletişim kutusu, seçilen cihaz bağlantısı kesilene kadar Çalıştır komutunu kullandığınızda yalnızca ilk kez açılır.
Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihazı hedeflediğinizde, Instant Run, uygulama yeniden başlatılmasına neden olmadan kaynaklardaki değişiklikleri dağıtabilir. Bunun nedeni, kaynakların bölünmüş bir APK'da yer almasıdır.
Emülatör
Android Studio 3.0'dan bu yana emülatörde yapılan değişiklikler ve yeniliklerle ilgili ayrıntılar için 27.0.2 sürümünden 27.1.12 sürümüne kadar olan Android Emulator sürüm notlarına bakın.
Başlıca iyileştirmeler şunlardır:
- Özel bir başlangıç durumu kaydetmek için Şimdi kaydet komutunu kullanma olanağıyla birlikte, emülatör durumunu kaydetmek ve daha hızlı başlatmak 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 Developer Preview için sistem görüntüleri.
Kullanıcı arayüzü ve kullanıcı deneyimiyle ilgili iyileştirmeler
Daha fazla ipucu, klavye kısayolu ve faydalı mesaj
Android Studio'nun birçok yerinde ipuçları ve faydalı mesaj katmanları ekledik.
Birçok komutun klavye kısayollarını görmek için fare işaretçisini bir düğmenin üzerinde, ipucu görünene kadar bekletmeniz yeterlidir.
Araçlar > Android menüsü kaldırıldı
Araçlar > Android menüsü kaldırıldı. Daha önce bu menüde bulunan komutlar taşındı.
- Birçok komut doğrudan Araçlar menüsünün altına taşındı.
- Projeyi Gradle dosyalarıyla senkronize et komutu Dosya menüsüne taşındı.
- Cihaz İzleyici komutu, aşağıda açıklandığı gibi kaldırıldı.
Cihaz İzleyici, komut satırından kullanılabilir.
Android Studio 3.1'de Cihaz İzleyici, önceki sürümlere kıyasla daha az rol oynar. Çoğu durumda, Cihaz İzleyici'de sunulan işlevler artık yeni ve geliştirilmiş araçlarla sağlanmaktadır.
Komut satırından Cihaz İzleyici'yi çağırma talimatları ve Cihaz İzleyici'de bulunan araçların ayrıntıları için Cihaz İzleyici dokümanlarına bakın.
3.0 (Ekim 2017)
Android Studio 3.0.0, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.
macOS kullanıcıları: Android Studio'nun eski bir sürümünü güncelliyorsanız "Yükleme alanında bazı çakışmalar bulundu" yazan bir güncelleme hatası iletişim kutusuyla karşılaşabilirsiniz. Bu hatayı yok sayıp İptal'i tıklayarak yüklemeye devam edebilirsiniz.
3.0.1 (Kasım 2017)
Bu, Android Studio 3.0'daki genel hata düzeltmelerini ve performans iyileştirmelerini içeren küçük bir güncellemedir.
Android Plugin for Gradle 3.0.0
Yeni Gradle için Android eklentisi çeşitli iyileştirmeler ve yeni özellikler içerir ancak öncelikle çok sayıda modül içeren projelerde derleme performansını artırır. Yeni eklentiyi bu büyük projelerle kullanırken aşağıdakilerle karşılaşabilirsiniz:
- Yeni gecikmeli bağımlılık çözümü sayesinde daha hızlı derleme yapılandırma süreleri.
- Yalnızca oluşturduğunuz projeler ve varyantlar için varyantlara duyarlı bağımlılık çözümü.
- Koda veya kaynaklara basit değişiklikler uygularken daha hızlı artımlı derleme süreleri.
Not: Bu iyileştirmeler, eklentinin davranışlarında, DSL'sinde ve API'lerinde bazı değişiklikler yapılmasını gerektirdi. 3.0.0 sürümüne yükseltmek için derleme dosyalarınızda ve Gradle eklentilerinizde değişiklik yapmanız gerekebilir.
Bu sürümde ayrıca şunlar da yer alıyor:
- Android 8.0 desteği.
- Dil kaynaklarına dayalı olarak ayrı APK'lar oluşturma desteği.
- Java 8 kitaplıkları ve Java 8 dil özelliklerinin (Jack derleyici olmadan) desteği.
- Android Test Destek Kitaplığı 1.0 (Android Test Utility ve Android Test Orchestrator) desteği.
- ndk-build ve cmake derleme hızları iyileştirildi.
- Gradle senkronizasyon hızı iyileştirildi.
- AAPT2 artık varsayılan olarak etkindir.
ndkCompile
kullanımı artık daha kısıtlı. Bunun yerine, paketlemek istediğiniz yerel kodu APK'nızda derlemek için CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi için ndkcompile'dan taşıma başlıklı makaleyi inceleyin.
Değişiklikler hakkında daha fazla bilgi için Android Plugin for Gradle sürüm notlarını inceleyin.
Yeni eklentiye yükseltmeye hazırsanız Android Plugin for Gradle 3.0.0'a taşıma başlıklı makaleyi inceleyin.
Kotlin desteği
Google I/O 2017'de duyurulduğu gibi, Kotlin programlama dili artık Android'de resmi olarak destekleniyor. Bu sürümle birlikte Android Studio, Android geliştirme için Kotlin dil desteğini içeriyor.
Java dosyasını Kotlin'e dönüştürerek (Code > Convert Java File to Kotlin File'ı tıklayın) veya Yeni Proje sihirbazını kullanarak Kotlin'in etkinleştirildiği yeni bir proje oluşturarak Kotlin'i projenize dahil edebilirsiniz.
Başlamak için projenize Kotlin'i nasıl ekleyeceğinizi öğrenin.

Java 8 dili özelliklerini destekleme
Artık belirli Java 8 dili özelliklerini kullanabilir ve Java 8 ile oluşturulmuş kitaplıkları tüketebilirsiniz. Jack artık gerekli değil. Varsayılan araç zincirinde yerleşik olarak bulunan geliştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir.
Projenizi yeni Java 8 dil araç zincirini destekleyecek şekilde güncellemek için Proje Yapısı iletişim kutusunda (Dosya > Proje Yapısı'nı tıklayın) Kaynak Uyumluluğu ve Hedef Uyumluluğu'nu 1.8 olarak güncelleyin. Daha fazla bilgi için Java 8 dili özelliklerini kullanma başlıklı makaleyi inceleyin.

Android Profiler
Yeni Android Profiler, Android Monitor aracının yerini alıyor ve 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 süresini ölçmek, yığın dökümlerini yakalamak, bellek ayırmalarını görüntülemek ve ağ üzerinden iletilen dosyaların ayrıntılarını incelemek için örnek tabanlı yöntem izleme gerçekleştirebilirsiniz.
Açmak için View > Tool Windows > Android Profiler'ı tıklayın (veya araç çubuğunda Android Profiler'ı tıklayın).
Pencerenin üst kısmındaki etkinlik zaman çizelgesi, dokunma etkinliklerini, tuş basma işlemlerini ve etkinlik değişikliklerini gösterir. Böylece zaman çizelgesindeki diğer performans etkinliklerini daha iyi anlayabilirsiniz.
Not: Logcat görünümü de ayrı bir pencereye taşındı (önceden kaldırılan Android Monitor'un içindeydi).

Android Profiler'ın genel bakış zaman çizelgesinde CPU, MEMORY veya NETWORK zaman çizelgelerini tıklayarak ilgili profiler araçlarına erişin.
CPU Profiler
CPU Profiler, örnek veya enstrümanlı bir CPU izi tetikleyerek uygulamanızın CPU ileti dizisi kullanımını analiz etmenize yardımcı olur. Ardından, çeşitli veri görünümleri ve filtreler kullanarak CPU performansıyla ilgili sorunları giderebilirsiniz.
Daha fazla bilgi için CPU Profiler kılavuzuna bakın.

Memory Profiler
Bellek Profiler, kekemeliğe, donmalara ve hatta uygulama kilitlenmelerine yol açabilecek bellek sızıntılarını ve bellek değişimini belirlemenize yardımcı olur. Uygulamanızın bellek kullanımının gerçek zamanlı grafiğini gösterir, yığın dökümü almanıza, çöp toplama işlemlerini zorlamanıza ve bellek ayırmalarını izlemenize olanak tanır.
Daha fazla bilgi için Bellek Profil Oluşturucu kılavuzuna bakın.

Network Profiler
Ağ Profil Oluşturucu, uygulamanızın ağ etkinliğini izlemenize, ağ isteklerinizin her birinin yükünü incelemenize ve ağ isteğini oluşturan koda geri bağlanmanıza olanak tanır.
Daha fazla bilgi için Ağ Profil Oluşturucu Kılavuzu'nu inceleyin.

APK profili oluşturma ve hata ayıklama
Android Studio artık herhangi bir APK'yı Android Studio projesinden oluşturmanıza gerek kalmadan profillemenize ve hata ayıklamanıza olanak tanıyor. Bunun için APK'nın hata ayıklamayı etkinleştirecek şekilde oluşturulması ve hata ayıklama simgeleri ile kaynak dosyalarına erişiminizin olması gerekiyor.
Başlamak için Android Studio Karşılama ekranında Profile or debug APK'yı (APK'da profil oluşturma veya hata ayıklama) tıklayın. Alternatif olarak, açık bir projeniz varsa menü çubuğundan Dosya > APK'da profil oluşturma veya hata ayıklama'yı tıklayın. Bu işlem, açılmış APK dosyalarını gösterir ancak kodu derlemez. Bu nedenle, kesme noktalarını düzgün bir şekilde eklemek ve yığın izlemeleri 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 için profil oluşturma ve hata ayıklama başlıklı makaleyi inceleyin.

Cihaz Dosyası Gezgini
Yeni Cihaz Dosya Gezgini, bağlı cihazınızın dosya sistemini incelemenize ve cihaz ile 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 Dosya Gezgini Rehberi'ne bakın.

Hazır Uygulamalar desteği
Android Anında Uygulamaları için yeni destek sayesinde, projenizde iki yeni modül türü kullanarak Anında Uygulamalar oluşturabilirsiniz: Anında Uygulama modülleri ve Özellik modülleri (bunlar için Anında Uygulama Geliştirme SDK'sını yüklemeniz gerekir).

Android Studio, yeni bir modülerleştirme yeniden düzenleme işlemi de içerir. Bu işlem, mevcut bir projede Anında Uygulamalar desteği eklemenize yardımcı olur. Örneğin, projenizi yeniden düzenleyerek bazı sınıfları anlık uygulama özellik modülüne yerleştirmek istiyorsanız Project (Proje) penceresinde sınıfları seçip Refactor > Modularize'ı (Yeniden düzenle > Modülerleştir) tıklayın. Açılan iletişim kutusunda, sınıfların yerleştirileceği modülü seçin ve Tamam'ı tıklayın.
Hazır uygulamanızı test etmeye hazır olduğunuzda, çalıştırma yapılandırması başlatma seçeneklerinde hazır uygulamanın URL'sini belirterek bağlı bir cihazda hazır uygulama modülünüzü oluşturup çalıştırabilirsiniz: Çalıştır > Yapılandırmaları Düzenle'yi seçin, hazır uygulama modülünüzü seçin ve ardından Başlatma Seçenekleri'nin altında URL'yi ayarlayın.
Daha fazla bilgi için Android hazır uygulamaları başlıklı makaleyi inceleyin.
Android Things modülleri
Android destekli IoT cihazları için geliştirmeye başlamanıza yardımcı olmak üzere Yeni Proje ve Yeni Modül sihirbazlarında yeni Android Things şablonları.
Daha fazla bilgi için Android Things projesi oluşturma başlıklı makaleyi inceleyin.
Uyarlanabilir simgeler sihirbazı
Image Asset Studio artık vektör çizilebilirleri destekliyor ve aynı anda eski cihazlar için geleneksel simgeler ("Eski" simgeler) oluştururken Android 8.0 için uyarlanabilir başlatıcı simgeleri oluşturmanıza olanak tanıyor.
Başlamak için projenizdeki res klasörünü sağ tıklayın ve Yeni > Resim Öğesi'ni tıklayın. Öğe Stüdyosu penceresinde, simgeler için Başlatıcı Simgeleri (Uyarlanabilir ve Eski)'ni seçin.
Not: Uyarlanabilir başlatıcı simgelerini kullanmak için compileSdkVersion
değerini 26 veya daha yüksek bir değere ayarlamanız gerekir.
Daha fazla bilgi için Uyarlanabilir simgeler hakkında bilgi edinin.

Yazı tipi kaynakları için destek
Android 8.0'daki yeni yazı tipi kaynaklarını desteklemek için Android Studio'da yazı tiplerini uygulamanıza paketlemenize veya projenizi yazı tiplerini cihazda indirmek üzere (kullanılabilir olduğunda) yapılandırmanıza yardımcı olacak bir yazı tipi kaynakları seçici bulunur. Düzen düzenleyicisi, düzeninizdeki yazı tiplerini de önizleyebilir.
İndirilebilir yazı tiplerini denemek için cihazınızda veya emülatörünüzde Google Play Hizmetleri v11.2.63 ya da sonraki bir sürümün yüklü olduğundan emin olun. Daha fazla bilgi için İndirilebilir Yazı Tipleri hakkında bilgi edinin.

Firebase App Indexing Assistant
Firebase Asistanı, Uygulama Endeksleme'yi test etme konusunda yeni bir eğitimle güncellendi. Asistan'ı açmak için Araçlar > Firebase'i seçin. Ardından Uygulama Dizine Ekleme > Uygulama Dizine Ekleme Testi'ni seçin.
Eğitimde, herkese açık ve kişisel içeriklerinizi dizine ekleme işlemini test etmenize olanak tanıyan yeni düğmeler yer alıyor:
- URL'lerinizin Google Arama sonuçlarında gösterildiğini doğrulamak için 2. adımda 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 Hata olup olmadığını kontrol et'i tıklayın.
Android App Links Assistant
Uygulama Bağlantıları Asistanı aşağıdaki yeni özelliklerle güncellendi:
-
Niyet filtrelerinizin gerçek dünyadaki URL'leri işlediğinden emin olmak için her URL eşlemesi için URL testleri ekleyin.
Ayrıca, aşağıdaki
<tools:validation>
etiketini kullanarak bu URL testlerini manuel olarak da tanımlayabilirsiniz. -
Google Smart Lock'u desteklemek için uygun nesne girişiyle bir Digital Asset Links dosyası oluşturun ve manifest dosyanıza ilgili
asset_statements
<meta-data>
etiketini ekleyin.

URL amaç filtresi doğrulayıcısı
Android Studio artık manifest dosyasında, amaç filtresi URL'lerinizi test etmenize olanak tanıyan özel bir etiketi destekliyor. Bu etiketler, Uygulama Bağlantıları Asistanı'nın sizin için oluşturabileceği etiketlerle aynıdır.
Bir amaç filtresi için test URL'si bildirmek istiyorsanız ilgili <intent-filter>
öğesinin yanına bir <tools:validation>
öğesi ekleyin. Örneğin:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
xmlns:tools="http://schemas.android.com/tools"
öğesini <manifest>
etiketine de eklediğinizden emin olun.
Test URL'lerinden herhangi biri amaç filtresi tanımını geçemezse lint hatası gösterilir. Bu tür bir hata, hata ayıklama varyantları oluşturmanıza yine de olanak tanır ancak yayın derlemelerinizi bozar.

Layout Editor
Düzen Düzenleyici, aşağıdakiler de dahil olmak üzere çeşitli geliştirmelerle güncellendi:
- Yeni araç çubuğu düzeni ve simgeleri.
- Bileşen ağacında güncellenen düzen.
- Sürükle ve bırak görünümü ekleme özelliği iyileştirildi.
- Düzenleyicinin altında, düzeltme önerileriyle birlikte (varsa) tüm sorunları gösteren yeni hata paneli.
ConstraintLayout
ile geliştirme için çeşitli kullanıcı arayüzü iyileştirmeleri yapıldı. Bu iyileştirmelerden bazıları:- Engeller oluşturmak için yeni destek.
- Grup oluşturma için yeni destek: Araç çubuğunda Kurallar > Grup Ekle'yi seçin (ConstraintLayout 1.1.0 beta 2 veya daha yeni bir sürüm gerektirir)
- Zincir oluşturmak için yeni kullanıcı arayüzü: Birden fazla görünüm seçin, ardından sağ tıklayıp Zincir'i seçin.

Layout Inspector
Düzen Denetçisi, özellikleri ortak kategorilerde gruplandırma ve hem Görünüm Ağacı hem de Özellikler bölmelerinde yeni arama işlevi gibi geliştirmeler içerir. Bu geliştirmeler, uygulama düzenlerinizdeki sorunları ayıklamayı kolaylaştırır.

APK Analyzer
Artık apkanalyzer
aracıyla APK Analiz Aracı'nı komut satırından kullanabilirsiniz.
APK Analizcisi de aşağıdaki iyileştirmelerle güncellendi:
- ProGuard ile oluşturulan APK'lar için DEX görüntüleyiciye aşağıdaki gibi özellikler ekleyen ProGuard eşleme dosyalarını yükleyebilirsiniz:
- Kodu küçültürken düğümlerin kaldırılmaması gerektiğini belirtmek için düğümler kalınlaştırılır.
- Küçültme işlemi sırasında kaldırılan düğümleri gösterme düğmesi.
- Ağaç görünümünde ProGuard tarafından karartılan düğümlerin orijinal adlarını geri yükleyen bir düğme.
- DEX Viewer artık her paketin, sınıfın ve yöntemin tahmini boyut etkisini gösteriyor.
- Alanları ve yöntemleri göstermek ya da gizlemek için üst kısımdaki yeni filtreleme seçenekleri.
- Ağaç görünümünde, DEX dosyasında tanımlanmamış referanslar olan düğümler italik olarak görünür.
Daha fazla bilgi için Derlemenizi APK Analizcisi ile Analiz Etme başlıklı makaleyi inceleyin.
D8 DEX derleyicisi için önizleme
Android Studio 3.0, D8 adlı isteğe bağlı yeni bir DEX derleyici içerir. Bu derleyici, DX derleyicisinin yerini alacak ancak yeni D8 derleyicisini 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 daha hızlı derleme yapar ve aynı veya daha iyi uygulama çalışma zamanı performansına sahipken daha küçük .dex
dosyalar oluşturur.
Bu özelliği denemek için projenizin gradle.properties
dosyasında aşağıdakileri ayarlayın:
android.enableD8=true
Daha fazla bilgi için D8 derleyicisiyle ilgili blog yayınına göz atın.
Google'ın Maven deposu
Android Studio artık Android Destek Kitaplığı, Google Play Hizmetleri, Firebase ve diğer bağımlılıklarla ilgili güncellemeleri almak için Android SDK Yöneticisi'ne bağlı kalmak yerine varsayılan olarak Google'ın Maven deposunu kullanıyor. Bu sayede, özellikle sürekli entegrasyon (CI) sistemi kullanırken kitaplıklarınızı güncel tutmak kolaylaşır.
Tüm yeni projelerde artık varsayılan olarak Google Maven deposu bulunur. 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 bilgiyi burada bulabilirsiniz.
Diğer değişiklikler
- Android Studio ile yerel hata ayıklama artık 32 bit Windows'u desteklemiyor. Bu platformu çok az geliştirici kullandığı için diğer platformlara odaklanmayı tercih ettik. 32 bit Windows kullanıyorsanız ve yerel kodu ayıklamayı planlıyorsanız Android Studio 2.3'ü kullanmaya devam etmeniz gerekir.
- Temel IDE, IntelliJ 2017.1.2 sürümüne yükseltildi. Bu sürümde 2016.3 ve 2017.1 sürümlerinden Java 8 dilini yeniden düzenleme, parametre ipuçları, anlamsal vurgulama, sürükleyerek taşınabilen kesme noktaları ve aramadaki anlık sonuçlar gibi birçok yeni özellik eklendi.
- Birçok yeni lint denetimi eklendi.
- Ayrıca en son Android Emulator güncellemelerine de göz atın.
2.3 (Mart 2017)
Android Studio 2.3.0 öncelikle hata düzeltme ve kararlılık sürümüdür ancak bir dizi yeni özellik de içerir.
2.3.3 (Haziran 2017)
Bu, Android O (API düzeyi 26) desteği eklemek için yapılan küçük bir güncellemedir.
2.3.2 (Nisan 2017)
Bu, Android Studio 2.3'teki aşağıdaki değişiklikler için yapılan küçük bir güncellemedir:
- AVD Manager, sistem görüntülerinde Google Play'i destekleyecek şekilde güncellendi.
- NDK'nın R14 ve sonraki sürümleri kullanılırken NDK derlemeleriyle ilgili hata düzeltmeleri.
Ayrıca Android Emulator 26.0.3 ile ilgili güncellemeleri de inceleyin.
2.3.1 (Nisan 2017)
Bu, Android Studio 2.3'teki küçük bir güncellemedir. Bazı fiziksel Android cihazların Instant Run ile düzgün çalışmamasına neden olan bir sorunu düzeltir (235879 numaralı soruna bakın).
<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 >
New > 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<T>)">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&q=target%3D2.3+status%3DReleased&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&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&q=target%3D2.2.3+status%3AReleased+&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&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 geliştirilmiş araçlarla birlikte gelen tamamen yeni 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> > <strong>Signal Strength</strong> controls.
</li>
<li>Added an <strong>LTE</strong> option to the <strong>Cellular</strong>
> <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 > Project
Structure > SDK Location</strong>. You can switch to use the new bundled
JDK by clicking <strong>File > Project Structure > 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
- IDE kod tabanı, IntelliJ 15'ten IntelliJ 2016.1'e 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ı 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.
- Değişikliklerin dağıtılmadığı veya uygulamanın kilitlendiği Instant Run ile ilgili birçok güvenilirlik sorunu düzeltildi:
- Bazı uygulama öğeleri, çalışan uygulamanıza dağıtılmadı. ( Hata: #213454)
- Kullanıcı, Serializable sınıfının serialVersionUID tanımlanmadığı Instant Run ve Instant Run olmayan oturumlar arasında geçiş yaptığında uygulama çöküyor. (Hata: #209006)
- Stil değişiklikleri Anında Çalıştırma ile yansıtılmaz. (Hata: #210851)
- Anında Çalıştırma oturumu güvenilir değil ve FileNotFoundException'a neden oluyor. (Hata: #213083)
- KitKat'ta tam yeniden derleme yapılana kadar çizilebilir öğelerde yapılan değişiklikler yansıtılmaz. (Hata: #21530)
- Özel kaynak kümeleri iç içe 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, enum değerine sahip bir ek açıklama içeriyorsa sıcak ve ılık değiştirme çalışmaz. (Hata: #209047)
- Ek açıklama verilerinde yapılan değişiklikler Anında Çalıştırma ile yansıtılmaz. (Hata: #210089)
- Instant Run, IDE dışında değişiklik yaparsanız kod değişikliklerini algılamaz. (Hata: #213205)
- Güvenlik jetonu eşleşmediğinden Instant Run oturumu güvenilir değil. (Hata: #211989
- Soğuk değişim, run-as'i düzgün şekilde desteklemeyen cihazlarda başarısız olur. (Hata: #210875)
- Anında çalıştırma yeniden başlatıldıktan sonra uygulama çöküyor. (Hata: #219744)
- Anında Çalıştırma'dan Anında Hata Ayıklama'ya geçerken ClassNotFoundException hatası 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 temel değişiklikler, Android N Preview ile geliştirme desteği sunar.
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 ekler. Daha fazla bilgi için Gradle sürüm notlarına göz atın.
Android Studio 2.1.3'teki yeni projeler varsayılan olarak Gradle 2.14.1'i kullanır. Mevcut projelerde IDE, Gradle 2.14.1'e ve Gradle 2.14.1 ile sonraki sürümler kullanılırken gerekli olan Gradle için Android eklentisi 2.1.3'e yükseltmenizi ister.
2.1.2 (Haziran 2016)
Bu güncelleme, bir dizi küçük değişiklik ve hata düzeltmesi içerir:
- Instant Run güncellemeleri ve hata düzeltmeleri.
- LLDB performansı ve kilitlenme bildirimleriyle ilgili iyileştirmeler.
- Android Studio 2.1.1 güvenlik güncellemesinde
git rebase
'nın başarısız olmasına neden olan bir gerileme düzeltildi.
2.1.1 (Mayıs 2016)
Güvenlik sürümü güncellemesi.
Android N platformu, Java 8 dil özelliklerini destekler. Bu özellikler için Jack adlı yeni bir deneysel derleyici gerekir. Jack'in en yeni 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: Anında Çalıştırma, Jack derleyicisini etkinleştirdiğinizde devre dışı bırakılır. Bunun nedeni, bu iki özelliğin şu anda uyumlu olmamasıdır.
Android Studio 2.1 artık kararlı olsa da Jack derleyicisi hâlâ deneyseldir ve jackOptions
özelliğiyle build.gradle
dosyanızda etkinleştirmeniz gerekir.
Android Studio 2.1, N Preview'u desteklemeye yönelik değişikliklerin yanı sıra küçük hata düzeltmeleri ve aşağıdaki geliştirmeleri içerir:
- Java'yı destekleyen C++ hata ayıklayıcı, artık bir N cihazı veya emülatörü kullanıp Native hata ayıklayıcı modunu (çalıştırma/hata ayıklama yapılandırmanızın Debugger sekmesinde) seçtiğinizde varsayılan olarak etkindir.
Artımlı Java derleme ve işlem içi dexleme gibi 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 Preview'u 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 hiç olmadığı kadar hızlı dağıtıyor. Ayrıca, artımlı kod değişikliklerini emülatöre veya fiziksel bir cihaza gönderme işlemi artık neredeyse anında gerçekleşiyor. Yeni bir hata ayıklama derlemesi 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 gönderilmesini 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
- Yapısal kodda yapılan değişiklikler (ör. yöntem imzası veya statik alan) (API düzeyi 21 veya üstünü çalıştıran bir hedef cihaz gerekir).
- Anında Çalıştırma hakkında daha fazla bilgi edinmek için dokümanları inceleyin.
Not: Anında Çalıştırma yalnızca hata ayıklama derleme varyantını dağıttığınızda, Gradle için Android eklentisinin 2.0.0 sürümünü veya sonraki sürümlerini kullandığınızda ve uygulamanızın modül düzeyindeki
build.gradle
dosyasınıminSdkVersion 15
veya sonraki sürümler için yapılandırdığınızda desteklenir. En iyi performans için uygulamanızıminSdkVersion 21
veya üzeri sürümlerde çalışacak şekilde yapılandırın.
Lint'e eklenen yenilikler:
- Tüm sabitlerin işlendiğinden emin olmak için
switch
ifadelerinin@IntDef
açıklama eklenmiş tam sayılar kullanılarak incelenmesi. Eksik ifadeleri hızlıca eklemek için amaç işlemi açılır menüsünü kullanın ve Eksik @IntDef Sabitlerini Ekle'yi seçin. build.gradle
dosyasına sürüm numaraları eklemek için dize enterpolasyonu kullanma girişimleriyle ilgili hataları işaretler.Fragment
sınıfını genişleten anonim sınıflar için işaretler.res/
veasset/
klasörleri gibi güvenli olmayan konumlardaki yerel kodlarla ilgili işaretler. Bu işaret, yerel kodunlibs/
klasöründe saklanmasını teşvik eder. Bu kod, yükleme sırasında uygulamanındata/app-lib/
klasörüne güvenli bir şekilde paketlenir. AOSP: #169950Runtime.load()
veSystem.load()
aramaları için güvenli olmayan aramaları işaretleme AOSP: #179980- Menü çubuğundan Yeniden düzenle > Kullanılmayan Kaynakları Kaldır'ı seçerek kullanılmayan kaynakları bulup kaldırın. Kullanılmayan kaynak algılama özelliği artık yalnızca kullanılmayan kaynaklar tarafından referans verilen kaynakları, ham dosyalardaki referansları (ör.
.html
resim referansları) ve Gradle kaynak küçültücü tarafından kullanılantools:keep
vetools:discard
özelliklerini destekliyor. Ayrıca, etkin olmayan kaynak kümelerini (ör. diğer derleme türlerinde kullanılan kaynaklar) dikkate alıyor ve statik alan içe aktarmalarını düzgün şekilde işliyor. - Örtülü API referanslarının,
minSdkVersion
tarafından hedeflenen tüm platformlarda desteklenip desteklenmediğini kontrol eder. RecyclerView
veParcelable
öğelerinin uygunsuz kullanımını işaretler.@IntDef
,@IntRange
ve@Size
incelemelerinde artıkint
dizileri ve varargs da kontrol ediliyor.
Ek İyileştirmeler:
- Android Emulator 2.0 için optimize edilmiştir. Bu sürüm, önceki sürümlere göre daha hızlıdır, daha geniş bir sanal cihaz aralığını destekler ve kullanıcı arayüzü önemli ölçüde iyileştirilmiştir. 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 görüntüleri artık şu sekmeler altında kategorize ediliyor: Önerilen, x86 ve Diğer.
- Gelişmiş ayarlar bölümünde çok çekirdekli desteğini etkinleştirebilir ve emülatörün kullanabileceği çekirdek sayısını belirtebilirsiniz.
- Gelişmiş ayarlar bölümünde, 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ıma dayalı oluşturma kullanın.
- Otomatik: En iyi seçeneğe emülatörün karar vermesine izin verin. Bu, varsayılan ayardır.
- Uygulama oluşturulmadan önce dağıtım hedefi belirtilerek AAPT paketleme süreleri iyileştirildi. Bu, Android Studio'nun yalnızca belirtilen cihazın ihtiyaç duyduğu kaynakları verimli bir şekilde paketlemesini sağlar.
- Bulut hizmetinin rahatlığı ve ölçeklenebilirliğiyle isteğe bağlı uygulama testi sağlamak için Cloud Test Lab entegrasyonu eklendi. Cloud Test Lab'i Android Studio ile kullanma hakkında daha fazla bilgi edinin.
- Yeni GPU Debugger'ın önizlemesi eklendi. Grafik yoğun uygulamalarda, uygulamanızı 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 kullanılan uygulama içeriğini keşfetmek ve yeni kullanıcılar kazanmak 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 Endekslemeyi Destekleme başlıklı makaleye bakın.
- Geliştirilmiş kod analizi ve performans da dahil olmak üzere en son IntelliJ 15 sürümündeki yükseltmeler. Yeni özelliklerin ve geliştirmelerin tam açıklaması için IntelliJ'deki Yenilikler başlıklı makaleyi inceleyin.
- XML düzenleyicide otomatik tamamlama özelliği, artık özellikleri tamamlarken tırnak işaretleri ekliyor. Bu seçeneğin etkin olup olmadığını kontrol etmek için Ayarlar veya Tercihler iletişim kutusunu açın, Düzenleyici > Genel > Akıllı Tuşlar'a gidin ve Özellik tamamlama sırası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 tamamlama özelliğini destekliyor.
Android Studio v1.5.1 (Aralık 2015)
Düzeltmeler ve geliştirmeler:
- Düzen Düzenleyici'de oluşturma hatası sorunu düzeltildi. 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üne destek eklendi. Sorun: 194045 - Hata ayıklama için bir uygulama başlatıldığında hata ayıklayıcının yanlış cihaza bağlanmasına neden olan sorun düzeltildi. Sorun: 195167
- Belirli senaryolarda bir uygulamayı çalıştırmaya çalışırken oluşabilecek boş işaretçi istisnası düzeltildi.
Android Studio v1.5.0 (Kasım 2015)
Düzeltmeler ve geliştirmeler:
- Android Monitor'a yeni bellek izleme analizi özellikleri eklendi. Bu monitörden alınan bir HPROF dosyasını görüntülediğinizde, artık daha faydalı bir ekranla karşılaşırsınız. Böylece bellek sızıntıları gibi sorunları daha hızlı bulabilirsiniz. Bu monitörü kullanmak için ana pencerenin alt kısmındaki Android Monitör'ü tıklayın. Android Monitor'da Memory (Bellek) sekmesini tıklayın. Monitör çalışırken Dump Java Heap simgesini tıklayın, ardından ana pencerede Captures'ı tıklayın ve dosyayı görüntülemek için çift tıklayın. Sağ tarafta Capture Analysis'i (Analizi Yakala) tıklayın. (Android Device Monitor, 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ı için otomatik olarak bir amaç filtresi oluşturabilir. Ayrıca, Java dosyasındaki bir etkinlikte App Indexing API ile entegrasyon yapmanıza yardımcı olacak kod da oluşturabilir. Derin bağlantı testi özelliği, belirtilen bir derin bağlantının uygulamayı başlatabildiğ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. Android Monitor logcat ekranını kullanarak bir etkinlikteki uygulama dizine ekleme API çağrılarını da test edebilirsiniz. Androidlint
aracı artık derin bağlantılar ve uygulama dizine ekleme API'si ile ilgili belirli sorunlar için uyarılar gösteriyor. - Kod düzenleyicide özel görünümleri kodla tamamlarken kısa adları kullanma özelliği eklendi.
- Geriye dönük uyumluluk için Vector Asset Studio'ya daha fazla
VectorDrawable
öğesi için destek eklendi. Vektör Öğesi Stüdyosu, Android 4.4 (API düzeyi 20) ve önceki sürümlerde kullanılmak üzere vektör çizilebilir öğeleri PNG raster resimlere dönüştürmek için bu öğeleri kullanabilir. - Android Studio'da anında ve uygulanabilir geri bildirimler sunmak için Android TV ve Android Auto'ya yönelik yeni
lint
kontrolleri ve birkaç hızlı düzeltme eklendi. Örneğin, Android TV için izinler, desteklenmeyen donanım,uses-feature
öğesi ve eksik banner sorunlarını bildirip hızlı bir şekilde düzeltebilir. Android Auto içinAndroidManifest.xml
dosyanızdan referans verilen tanımlayıcı dosyasında doğru kullanımı doğrulayabilir,MediaBrowserService
sınıfı için amaç filtresi yoksa bunu bildirebilir ve belirli sesli işlem sorunlarını tespit edebilir. - Güvenli olmayan yayın alıcılar (
lint
),SSLCertificateSocketFactory
veHostnameVerifier
sınıf kullanımları ileFile.setReadable()
veFile.setWritable()
çağrıları için yenilint
kontrolleri eklendi. Ayrıca, özellikle yapılandırmaya göre değişen kaynaklar için geçersiz manifest kaynağı aramalarını da algılar. - Kararlılıkla ilgili çeşitli sorunlar düzeltildi.
Android Studio v1.4.1 (Ekim 2015)
Düzeltmeler ve geliştirmeler:
- IDE yeniden başlatıldığında aşırı Gradle senkronizasyonuna yol açabilen Gradle modeli önbelleğe alma sorunu düzeltildi.
- Yerel hata ayıklama kilitlenmesi sorunu düzeltildi.
- Subversion 1.9 sürüm kontrol sisteminin kullanıcılarını engelleyen sorun düzeltildi.
- Yetkisiz bir cihaz bağlandıktan sonra emülatörün artık seçilememesine neden olan Cihaz Seçici iletişim kutusu sorunu düzeltildi. Sorun: 189658
- Bölge niteleyicisi olan ve bölgede çevirisi bulunan (ancak temel yerel ayarda çevirisi bulunmayan) yerel ayarlar için yanlış çeviri hatası bildirme sorunu düzeltildi. Sorun: 188577
- Tema Düzenleyici'nin Düzen Düzenleyici ile etkileşimiyle ilgili bir kilitlenme sorunu düzeltildi. Sorun: 188070
- Özelliklerin düzgün şekilde güncellenmemesine neden olan Tema Düzenleyici'nin yeniden yüklenmesi ve düzenleme çakışması sorunu düzeltildi. Sorun: 187726
- Tema Düzenleyici'nin performansı iyileştirildi.
- Manifest dosyasında
android:required
özelliğinin yoksayılmasına neden olan sorun düzeltildi. Sorun: 187665
Android Studio v1.4.0 (Eylül 2015)
Düzeltmeler ve geliştirmeler:
- Materyal simgeleri ve SVG dosyaları gibi vektör grafiklerini içe aktarmak için Vektör Varlık Stüdyosu 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.
- GPU ve Ağ olmak üzere yeni Android Monitor işlevleri eklendi. Bu monitörleri kullanmak için ana pencerenin alt kısmındaki Android Monitor'u tıklayın. Android Device Monitor ve Android Monitor aynı anda çalıştırılamaz.
- Yeni tema düzenleyicinin erken önizlemesi eklendi. Bu özelliği kullanmak için Araçlar > Android > Tema Düzenleyici'yi seçin.
- Tasarım Destek Kitaplığı'nın Android şablonları güncellendi. Şablonlar artık Material Design spesifikasyonu ve geriye dönük uyumluluk için
appcompat
Destek Kitaplığı'nı destekliyor.
Android Studio v1.3.2 (Ağustos 2015)
Düzeltmeler ve geliştirmeler:
- Yeni ekran yoğunluklarına sahip cihazlar oluşturmak için yeni simgeler ve AVD Manager desteği de dahil olmak üzere Android 6.0 (API düzeyi 23) desteği eklendi.
- Güncelleme kontrolleri sırasında oluşan istisna düzeltildi. Sorun: 183068
- Çözülmemiş görünüm koordinatlarının düzen düzenleyicisinin kilitlenmesine neden olabilmesi sorunu düzeltildi. Sorun: 178690
- Geçersiz kaynak türü uyarılarıyla ilgili sorun düzeltildi. Sorun: 182433
- Kaynakları yanlışlıkla özel olarak işaretleyen lint denetimi düzeltildi. Sorun: 183120
Android Studio v1.3.1 (Ağustos 2015)
Düzeltmeler ve geliştirmeler:
- Windows'da Android Wear Android Sanal Cihazı (AVD) oluşturma desteği düzeltildi.
- Girilen proje adının kullanılması için Proje Sihirbazı güncellendi.
- Android SDK'nın salt okunur bir dizinde depolanmasına olanak tanıyan destek eklendi.
- Gradle için Android eklentisi sürümü 1.3.0 olarak güncellendi.
- Android Debug Bridge (adb) Unix kabuğundan hata ayıklama oturumu başlatmayla ilgili sorunlar düzeltildi.
- Java paketini yeniden adlandırma mesajının doğru paket adını gösterecek şekilde düzeltildi.
Android Studio v1.3.0 (Temmuz 2015)
Düzeltmeler ve geliştirmeler:
- Android Studio'dan uygulamanızda Google AdMob ve Analytics gibi geliştirici hizmetlerini etkinleştirme seçenekleri eklendi.
@RequiresPermission
,@CheckResults
ve@MainThread
gibi ek açıklamalar eklendi.- Bellek İzleyici'den Java yığın dökümleri oluşturma ve iş parçacığı ayırmalarını analiz etme özelliği eklendi. Android'e özel HPROF ikili biçimindeki dosyaları Android Studio'dan standart HPROF biçimine de dönüştürebilirsiniz.
- Paket ve araç erişimini basitleştirmek ve güncelleme bildirimleri sağlamak için SDK Yöneticisi'ni
Android Studio'ya entegre ettik.
Not: Bağımsız SDK Yöneticisi, komut satırından kullanılmaya devam edebilir ancak yalnızca bağımsız SDK yüklemeleriyle kullanılması önerilir.
- Emülatör konsoluna
finger
komutu eklenerek parmak izi kimlik doğrulaması simüle edildi. - Kitaplık kaynaklarını herkese açık ve özel kaynaklar olarak belirlemek için
<public>
kaynak bildirimi eklendi.Not: 1.3 veya sonraki sürümlerdeki Gradle için Android eklentisi gereklidir.
- 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 ekleyerek Lint uyarılarının çözülmesini basitleştirdik.
- Kod snippet'lerinin hızlı bir şekilde eklenmesi için canlı şablon desteği eklendi.
Android Studio v1.2.2(Haziran 2015)
Düzeltmeler ve geliştirmeler:
- Derlemelerin tamamlanmasını engelleyen derleme sorunları düzeltildi.
Android Studio v1.2.1 (Mayıs 2015)
Düzeltmeler ve geliştirmeler:
- Küçük performans ve özellik sorunları düzeltildi.
Android Studio v1.2.0 (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 verisi dosyalarını görüntülemek için sol kenar boşluğuna Yakalamalar sekmesi eklendi.
- Ek meta veri ek açıklamaları ve çıkarılan boş değer atanabilirlik ile genişletilmiş ek açıklama desteği.
- Çeviri Düzenleyici'ye, 3 harfli dil ve bölge kodlarının kullanıldığı Best Current Practice (BCP) 47 için ek destek eklendi.
- Gelişmiş kod analizi ve performans için IntelliJ 14 ve 14.1 özellikleri entegre edildi:
-
- Değişkenler ve yönlendiren nesneler için satır içi değerleri göstermenin yanı sıra lambda ve operatör ifadelerinin satır içi değerlendirmesini yapmaya yönelik gelişmiş hata ayıklama.
- Sekme ve girinti boyutları için kod stili algılama özelliği eklendi.
- Proje dosyaları olmadan kod denemeleri ve prototip oluşturma için karalama dosyaları eklendi.
- HTML ve XML dosyalarına açılış ve kapanış etiketlerinin aynı anda eklenmesi özelliği eklendi.
- Kaynak kodu bulunmayan kitaplıkların içeriğini inceleyebilmeniz için yerleşik bir Java sınıfı derleme kaldırma aracı eklendi.
Yeni özelliklerin ve geliştirmelerin tam açıklaması için IntelliJ'deki Yenilikler başlıklı makaleyi inceleyin.
- Proje yönetimini ve erişimi iyileştirmek için Denemeler, Proje Dosyaları, Sorunlar, Üretim ve Testler için ek Proje Görünümleri eklendi.
- Dosya > Ayarlar menüsü ve iletişim kutuları, ayar erişimi ve yönetimini iyileştirmek için geliştirildi.
- Windows ve Linux için yüksek yoğunluklu ekran desteği eklendi.
res/drawable-280dpi/
klasöründe 280 dpi kaynaklar için destek eklendi.
Android Studio v1.1.0 (Şubat 2015)
Çeşitli düzeltmeler ve geliştirmeler:
- Android Wear kol saati şablonu için destek eklendi.
- Yeni proje ve modül oluşturma işlemi, yoğunluğa özel başlatıcı simgeleri için
res/mipmap
klasörleri içerecek şekilde değiştirildi. Bures/mipmap
klasörler, başlatıcı simgeleri içinres/drawable
klasörlerin yerini alır. - Başlatıcı simgeleri Materyal Tasarım görünümüne sahip olacak şekilde güncellendi ve
xxxhdpi
başlatıcı simgesi eklendi. - Bölge ve dil kombinasyonları, başlatıcı simgeleri, kaynak adları ve diğer yaygın kod sorunları için Lint kontrolleri eklendi ve geliştirildi.
- Best Current Practice (BCP) 47 dil etiketi için destek eklendi.
Android Studio 1.0.1 sürümü (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.
- Windows sistemlerinde farklı sürücülere Android Studio ve Android SDK yüklenmişken AVD oluşturmayla ilgili sorun düzeltildi.
- Yeni indirmeler için varsayılan güncelleme kanalını Mevcut ürün olarak ayarlar. Android Studio'nun 1.0.0 sürümünü yüklediyseniz ve kararlı, üretime hazır sürüm güncellemelerini almak istiyorsanız Dosya > Ayarlar > Güncellemeler'i kullanarak güncelleme kanalını Kararlı olarak değiştirin.
Android Studio 1.0 sürümü (Aralık 2014)
Android Studio'nun ilk sürümü.
Android Studio 0.8.14 sürümü (Ekim 2014)
Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio 0.8.6 sürümü (Ağustos 2014)
Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio v0.8.0 (Haziran 2014)
Android Wear projeleri için destek eklendi.
Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio v0.5.2 (Mayıs 2014)
- Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio v0.4.6 (Mart 2014)
- Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio 0.4.2 sürümü (Ocak 2014)
- Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio 0.3.2 sürümü (Ekim 2013)
- Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio v0.2.x (Temmuz 2013)
- En son IntelliJ kod tabanı değişiklikleri birleştirildi. Studio kullanıcıları tarafından bildirilen sorunlara yönelik düzeltmeler (ör. Linux yazı tipi boyutlarında ve yazı tipi oluşturmada yapılan ince ayarlar) içerir.
- Android Gradle eklentisi 0.5.0 sürümüne güncellendi.
Dikkat: Bu yeni sürüm, önceki sürümlerle uyumlu değildir. Eklentinin eski bir sürümünü kullanan bir proje açıldığında Studio, Gradle <project_name> proje yenileme işlemi başarısız oldu. şeklinde bir hata gösterir.
Güncellenen Gradle eklentisi aşağıdaki değişiklikleri içerir:
- IDE modelinin, DSL üzerinden özelleştirilmiş olsa bile çıkış dosyasını içermesi için düzeltme yapıldı. Ayrıca, varyant nesnesinde çıkış dosyasını almak/ayarlamak için DSL düzeltildi. Böylece
variant.packageApplication or variant.zipAlign
kullanılmasına gerek kalmadı. - Bağımlılık çözümlemesi düzeltildi. Böylece (varsayılan yapılandırma, derleme türleri, lezzetler) kombinasyonu ayrı ayrı değil, birlikte çözümleniyor.
- Kitaplık projesi testlerinin, kitaplığın tüm bağımlılıklarını düzgün şekilde içermesi 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 varyantlara uygulanamaması sorunu düzeltildi.
Tüm Gradle eklentisi sürüm notlarını http://tools.android.com/tech-docs/new-build-system adresinde bulabilirsiniz.
- IDE modelinin, DSL üzerinden özelleştirilmiş olsa bile çıkış dosyasını içermesi için düzeltme yapıldı. Ayrıca, varyant nesnesinde çıkış dosyasını almak/ayarlamak için DSL düzeltildi. Böylece
- aapt'den gelen Gradle hataları artık build/ klasöründeki birleştirilmiş çıkış dosyalarını değil, gerçek kaynak konumlarını gösteriyor.
- Paralel derlemeler. Gradle'ın paralel derlemelerini kullanmak artık mümkün. Paralel derlemelerin "kuluçka" aşamasında olduğunu lütfen unutmayın (Gradle'ın belgelerine bakın). Bu özellik, varsayılan olarak devre dışıdır. Bu özelliği 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 daraltma ve daha fazlası için kullanılan yeni kaynak deposu üzerinde daha fazla çalışma yapıldı:
- .aar kitaplık bağımlılıkları için temel destek (ör. kaynakların yerel kopyası olmadan 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.
- Şapka işareti altındaki dizenin tüm çevirilerini gösterebilen Hızlı Doküman (F1) artık çeşitli Gradle türleri ve derleme türlerinin yanı sıra kitaplıklardan gelen tüm kaynak yer paylaşımlarını da gösterecek. Bunlar, kaynak yer paylaşımı sırasına göre ters sırada listelenir. Maskelenen dize sürümlerinde üstü çizili gösterilir.
- Modül bağımlılıkları kümesi değiştiğinde birleştirilmiş kaynakların güncellenmesini sağlayan düzeltmeler.
- Karakter varlığı bildirimlerini ve XML ile Unicode kaçışlarını düzgün şekilde işlemek için XML oluşturma düzeltmeleri.
- Düzen önizlemesi ve düzen düzenleyici pencereleri için ekran görüntüsü kaydetme desteği.
- Şablon hata düzeltmeleri.
- Lint ile ilgili hata düzeltmeleri.
- Kilitlenme raporlarıyla ilgili çeşitli düzeltmeler. Teşekkür ederiz. Kilitlenme raporu göndermeye devam edin.
Android Studio 0.1.x sürümü (Mayıs 2013)
- Sık karşılaşılan Windows yükleme sorunu da dahil olmak üzere çeşitli hata düzeltmeleri.
Android Gradle eklentisinin eski sürümleri
3.6.0 (Şubat 2020)
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
-
Gradle 5.6.4. Daha fazla bilgi edinmek için Gradle'ı güncelleme bölümünü okuyun.
-
SDK Build Tools 28.0.3 veya daha yeni bir sürüm.
Bu küçük güncelleme, Android 11'deki paket görünürlüğü için 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ünde aşağıdaki yeni özellikler yer almaktadır.
Görünüm bağlama
Görünüm bağlama, kodunuzdaki görünümlere referans verirken derleme zamanında güvenlik sağlar. Artık findViewById()
yerine otomatik olarak oluşturulan bağlama sınıfı referansını kullanabilirsiniz. Görünüm bağlamayı kullanmaya başlamak için
her modülün build.gradle
dosyasına aşağıdakileri ekleyin:
android { viewBinding.enabled = true }
android { viewBinding.enabled = true }
Daha fazla bilgi edinmek için View Binding belgelerini okuyun.
Maven Publish eklentisi desteği
Android Gradle eklentisi, derleme yapılarını bir Apache Maven deposuna yayınlamanıza olanak tanıyan Maven Publish Gradle eklentisi desteği içerir. Android Gradle eklentisi, uygulamanızdaki veya kitaplık modülünüzdeki her derleme varyantı yapısı için bir bileşen oluşturur. Bu bileşeni, Maven deposunda yayın özelleştirmek için kullanabilirsiniz.
Daha fazla bilgi edinmek için Maven Publish eklentisini kullanma hakkındaki sayfaya gidin.
Yeni varsayılan paketleme aracı
Uygulamanızın hata ayıklama sürümünü oluştururken eklenti, APK'nızı oluşturmak için zipflinger adlı yeni bir paketleme aracı kullanır. Bu yeni araç, derleme hızında iyileşme sağlayacaktır. Yeni paketleme aracı
beklediğiniz gibi çalışmıyorsa lütfen hata bildirin. Aşağıdakileri gradle.properties
dosyanıza ekleyerek eski paketleme aracını kullanmaya geri dönebilirsiniz:
android.useNewApkCreator=false
Yerel derleme ilişkilendirmesi
Artık Clang'in projenizdeki her C/C++ dosyasını oluşturup bağlamasının ne kadar sürdüğünü belirleyebilirsiniz. Gradle, projenizi oluşturmak için gereken süreyi daha iyi anlayabilmeniz amacıyla bu derleyici etkinliklerinin zaman damgalarını içeren bir Chrome izi oluşturabilir. Bu derleme atıf dosyasını oluşturmak için aşağıdakileri yapın:
-
Gradle derlemesi çalıştırırken
-Pandroid.enableProfileJson=true
işaretini ekleyin. Örneğin:gradlew assembleDebug -Pandroid.enableProfileJson=true
-
Chrome tarayıcıyı açın ve arama çubuğuna
chrome://tracing
yazın. -
Yükle düğmesini tıklayın ve dosyayı bulmak için
<var>project-root</var>/build/android-profile
bölümüne gidin. Dosyanın adıprofile-<var>timestamp</var>.json.gz
.
Yerel derleme ilişkilendirme verilerini görüntüleyicinin üst kısmında görebilirsiniz:
Davranış değişiklikleri
Bu eklenti sürümünü kullanırken aşağıdaki davranış değişiklikleriyle karşılaşabilirsiniz.
Yerel kitaplıklar varsayılan olarak sıkıştırılmamış şekilde paketlenir.
Uygulamanızı oluşturduğunuzda eklenti artık varsayılan olarak extractNativeLibs
değerini "false"
olarak ayarlar. Yani yerel kitaplıklarınız sayfa hizalı ve sıkıştırılmamış olarak paketlenmiş. Bu durum, yükleme boyutunun büyümesine neden olsa da kullanıcılarınız aşağıdaki avantajlardan yararlanır:
- Platform, yerel kitaplıklara doğrudan yüklenen APK'dan erişebildiği ve kitaplıkların kopyasını oluşturmadığı için uygulama yükleme boyutu daha küçüktür.
- 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 olduğundan indirme boyutu küçülür.
Android Gradle eklentisinin bunun yerine sıkıştırılmış yerel kitaplıkları paketlemesini istiyorsanız uygulamanızın manifest dosyasına aşağıdakileri ekleyin:
<application
android:extractNativeLibs="true"
... >
</application>
Not: extractNativeLibs
manifest
özelliğinin yerini useLegacyPackaging
DSL
seçeneği aldı. Daha fazla bilgi için Use the DSL to package compressed
native libraries (Sıkıştırılmış yerel kitaplıkları paketlemek için DSL'yi kullanma) başlıklı 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 bir sürüm seçer.
Daha önce eklenti, NDK'nın en son indirilen sürümünü seçiyordu.
Eklenti tarafından seçilen varsayılan değeri geçersiz kılmak için modülün android.ndkVersion
dosyasında android.ndkVersion
özelliğini kullanın.build.gradle
Basitleştirilmiş R sınıfı oluşturma
Android Gradle eklentisi, derleme sınıf yolunu basitleştirmek için projenizdeki her kitaplık modülü için yalnızca bir R sınıfı oluşturur ve bu R sınıflarını diğer modül bağımlılıklarıyla paylaşır. Bu optimizasyon daha hızlı derlemelerle sonuçlanmalıdır ancak aşağıdaki noktaları göz önünde bulundurmanız gerekir:
- Derleyici, R sınıflarını yukarı akış modülü bağımlılıklarıyla paylaştığı için 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ı için görünürlüğü, kitaplığı bağımlılık olarak dahil etmek için kullanılan yapılandırmaya göre belirlenir. Örneğin, A kitaplığı B kitaplığını "api" bağımlılığı olarak içeriyorsa A kitaplığı ve A kitaplığına bağımlı diğer kitaplıklar, B kitaplığının 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ında bilgi edinin.
Varsayılan yapılandırmada eksik olan kaynakları kaldırma
Kitaplık modüllerinde, varsayılan kaynak kümesine dahil etmediğiniz bir dil için kaynak eklerseniz (ör. /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ğı dahil etmez. Bu davranış değişikliği, daha az Resource Not Found
çalışma zamanı istisnası
ve daha hızlı derleme ile sonuçlanmalıdır.
D8 artık CLASS saklama politikasına uyuyor açıklamalar için
D8, uygulamanızı derlerken artık ek açıklamaların CLASS saklama politikasını uygulamasını dikkate alıyor ve bu ek açıklamalar artık çalışma zamanında kullanılamıyor. Bu davranış, uygulamanın hedef SDK'sı API düzeyi 23 olarak ayarlandığında da görülür. Bu API düzeyi, Android Gradle eklentisinin ve D8'in eski sürümleri kullanılarak uygulamanız derlenirken çalışma zamanında bu ek açıklamalara erişime daha önce izin veriyordu.
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 harf karakterlerin kullanıldığı yollara saygı gösterir. -
Veri bağlama artık varsayılan olarak artımlı. Daha fazla bilgi edinmek için 110061530 numaralı soruna bakın.
-
Roboelectric 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ı soruna bakın.
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 destekleniyor. Daha fazla bilgi edinmek için 126775542 numaralı soruna bakın.
- Artık Gradle'ın paralel
yürütme modu etkinken birden fazla modülde
connectedAndroidTest
görev çalıştırabilirsiniz.
Bilinen sorunlar
Bu bölümde, Android Gradle eklentisi 3.6.0'da bilinen sorunlar açıklanmaktadır.
Android Lint görevinin yavaş performansı
Android Lint, ayrıştırma altyapısındaki gerileme nedeniyle bazı projelerde çok daha uzun sürebilir. Bu durum, belirli kod yapılandırmalarındaki lambda'lar için çıkarılan türlerin daha yavaş hesaplanmasına neden olur.
Bu sorun, IDEA'daki bir hata olarak bildirilir ve Android Gradle eklentisi 4.0'da düzeltilir.
Manifest sınıfı eksik {:#agp-missing-manifest}
Uygulamanız manifestinde ö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, bu izinlere çalışma zamanında daha kolay şekilde başvurabilirsiniz.
Manifest sınıfı oluşturma işlemi, Android Gradle eklentisi 3.6.0'da bozuldu.
Uygulamanızı bu eklenti sürümüyle oluşturursanız ve uygulama, manifest sınıfına referans verirse 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ğıdaki 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 Gradle eklentisi 3.5.0 ve Android Studio 3.5, Android geliştirici araçlarının üç temel alanını iyileştirmeye odaklanan Project Marble'ın bir sonucu olan önemli bir sürümüdür: sistem sağlığı, özelliklerin daha iyi hale getirilmesi ve hataların düzeltilmesi. Bu güncellemede özellikle proje derleme hızını artırmaya odaklandık.
Bu ve diğer Project Marble güncellemeleri hakkında bilgi edinmek için Android Developers blog yayınını veya aşağıdaki bölümleri okuyun.
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
-
Gradle 5.4.1. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
SDK Build Tools 28.0.3 veya daha yeni bir sürüm.
Bu küçük güncelleme, Android 11'deki paket görünürlüğü için 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)
Bu küçük güncelleme, Android Studio 3.5.3'ü destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir.
3.5.2 (Kasım 2019)
Bu küçük güncelleme, Android Studio 3.5.2'yi destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Release Updates blogundaki ilgili yayını okuyun.
3.5.1 (Ekim 2019)
Bu küçük güncelleme, Android Studio 3.5.1'i destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir. Önemli 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
Veri Bağlama
ek açıklama işlemcisi, android.databinding.incremental=true
değerini
gradle.properties
dosyanızda ayarlarsanız
artımlı ek açıklama işlemeyi
destekler. Bu optimizasyon, artımlı derleme performansının iyileşmesini 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ümler, artımlı ek açıklama işlemcilerini de destekler. Bu işlemcileri kapt.incremental.apt=true
dosyanıza gradle.properties
ekleyerek etkinleştirebilirsiniz.
Önbelleğe alınabilir birim testleri
includeAndroidResources
'ı true
olarak ayarlayarak birim testlerinin Android kaynaklarını, öğelerini ve manifestlerini kullanmasını etkinleştirdiğinizde Android Gradle eklentisi, mutlak yollar içeren bir test yapılandırma dosyası oluşturur. Bu durum, önbelleğin taşınabilirliğini bozar. Eklentiye, test yapılandırmasını göreli yolları kullanarak oluşturması talimatını verebilirsiniz. Bu, AndroidUnitTest
görevini tamamen önbelleğe alınabilir hale getirir. 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 sürümlerini kullanırken projenizi oluştururken ya da 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 aşağıdakiler gereklidir:
-
Gradle 5.1.1 veya sonraki sürümler. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
Not: Gradle 5.0 ve sonraki sürümler kullanılırken varsayılan Gradle daemon bellek yığını boyutu 1 GB'tan 512 MB'a düşer. Bu durum, derleme performansında düşüşe neden olabilir. Bu varsayılan ayarı geçersiz kılmak için projenizin
gradle.properties
dosyasında Gradle daemon yığın boyutunu belirtin. -
SDK Build Tools 28.0.3 veya daha yeni bir sürüm.
Bu küçük güncelleme, Android 11'deki paket görünürlüğü için 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)
Bu küçük güncelleme, Android Studio 3.4.2'yi destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.4.1 (Mayıs 2019)
Bu küçük güncelleme, Android Studio 3.4.1'i destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
Yeni özellikler
-
Yeni lint kontrolü bağımlılığı yapılandırmaları:
lintChecks
davranışında değişiklik yapıldı ve Android kitaplıklarınızda hangi lint kontrollerinin paketleneceği konusunda daha fazla kontrol sahibi olmanızı sağlamak içinlintPublish
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 kontrolleri için kullanmanız gereken mevcut bir yapılandırmadır. Yayınlanan AAR'ye lint kontrollerini dahil etmek için daha öncelintChecks
bağımlılık yapılandırmasını kullanıyorsanız bu bağımlılıkları taşıyarak bunun yerine aşağıda açıklanan yenilintPublish
yapılandırmasını kullanmanız gerekir. -
lintPublish
: Yayınlanan AAR'ye dahil etmek istediğiniz lint kontrolleri için kitaplık projelerinde bu yeni yapılandırmayı aşağıdaki şekilde kullanın. Bu nedenle, kütüphanenizi kullanan projeler de bu lint kontrollerini uygular.
Aşağıdaki kod örneğinde, yerel bir Android kitaplığı 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ı iyileşmesi görülmelidir. Bu görevlerle ilgili performans düşüşü fark ederseniz lütfen hatayı bildirin.
-
Davranış değişiklikleri
-
Android Instant Apps Feature eklentisinin desteği sonlandırıldı uyarısı: Hazır uygulamanızı oluşturmak için hâlâ
com.android.feature
eklentisini kullanıyorsanız Android Gradle eklentisi 3.4.0 size kullanımdan kaldırma uyarısı verecektir. Eklentinin gelecekteki sürümlerinde hazır uygulamanızı oluşturmaya devam edebilmek için hazır uygulamanızı dinamik özellik eklentisini kullanacak şekilde taşıyın. Bu eklenti, hem yüklü uygulama hem de hazır uygulama deneyimlerinizi tek bir Android App Bundle'dan yayınlamanıza da olanak tanır. -
R8 varsayılan olarak etkindir: R8, tüm işlemleri tek adımda gerçekleştirerek (desugaring, küçültme, karartma, optimizasyon ve dexing) gözle görülür derleme performansı iyileştirmeleri sağlar. R8, Android Gradle eklentisi 3.3.0'da kullanıma sunuldu ve artık 3.4.0 ve sonraki sürümleri kullanan hem uygulama hem de Android kitaplık projelerinde varsayılan olarak etkin.
Aşağıdaki resimde, R8'in kullanıma sunulmasından önceki derleme sürecine genel bir bakış sunulmaktadır.

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

R8'in mevcut ProGuard kurallarınızla çalışacak şekilde tasarlandığını unutmayın. Bu nedenle, R8'den yararlanmak için herhangi bir işlem yapmanız gerekmeyebilir. Ancak, ProGuard'dan farklı bir teknoloji olduğu ve özellikle Android projeleri için tasarlandığı için küçültme ve optimizasyon, ProGuard'ın kaldırmadığı kodların kaldırılmasına neden olabilir. Bu nedenle, bu olası olmayan durumda, söz konusu kodu derleme çıktınızda tutmak için ek kurallar eklemeniz gerekebilir.
R8'i kullanırken sorun yaşıyorsanız sorununuzun çözümü olup olmadığını kontrol etmek için R8 uyumluluğuyla ilgili SSS sayfasını inceleyin. Çözüm belgelenmemişse lütfen hata bildirin.
Aşağıdaki satırlardan birini projenizin gradle.properties
dosyasına ekleyerek R8'i devre dışı bırakabilirsiniz:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Not: Belirli bir derleme türü için uygulama modülünüzün build.gradle
dosyasında useProguard
değerini false
olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties
dosyasında R8'i devre dışı bırakıp bırakmadığınıza bakılmaksızın bu derleme türü için uygulamanızın kodunu küçültmek üzere R8'i kullanır.
-
ndkCompile
desteği sonlandırıldı: Artık yerel kitaplıklarınızı derlemek içinndkBuild
kullanmaya çalıştığınızda derleme hatası alıyorsunuz. Bunun yerine, projenize C ve C++ kodu eklemek için CMake veya ndk-build'i kullanmanız gerekir.
Bilinen sorunlar
-
Benzersiz paket adlarının doğru kullanımı şu anda zorunlu tutulmamaktadır ancak eklentinin sonraki sürümlerinde daha katı olacaktır. Android'de Gradle eklentisi 3.4.0 sürümünde, aşağıdaki satırı
gradle.properties
dosyanıza ekleyerek projenizin kabul edilebilir paket adları bildirip bildirmediğini kontrol etmeyi etkinleştirebilirsiniz.android.uniquePackageNames = true
Android Gradle eklentisi aracılığıyla paket adı ayarlama hakkında daha fazla bilgi edinmek için Uygulama kimliğini ayarlama başlıklı makaleyi inceleyin.
3.3.0 (Ocak 2019)
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
-
Gradle 4.10.1 veya sonraki sürümleri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
Not: Gradle 5.0 ve sonraki sürümler kullanılırken varsayılan Gradle daemon bellek yığını boyutu 1 GB'tan 512 MB'a düşer. Bu durum, derleme performansında düşüşe neden olabilir. Bu varsayılan ayarı geçersiz kılmak için projenizin
gradle.properties
dosyasında Gradle daemon yığın boyutunu belirtin. -
SDK Build Tools 28.0.3 veya daha yeni bir sürüm.
Bu küçük güncelleme, Android 11'deki paket görünürlüğü için 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)
Bu küçük güncelleme, Android Studio 3.3.2'yi destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.3.1 (Şubat 2019)
Bu küçük güncelleme, Android Studio 3.3.1'i destekler ve çeşitli hata düzeltmeleri ile performans iyileştirmeleri içerir.
Yeni özellikler
-
Geliştirilmiş sınıf yolu senkronizasyonu: Çalışma zamanı ve derleme zamanı sınıf yollarınızdaki bağımlılıkları çözerken Android Gradle eklentisi, birden fazla 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ık A 2.0 sürümünü, derleme sınıf yolu ise Kitaplık A 1.0 sürümünü içeriyorsa eklenti, hataları önlemek için derleme sınıf yolundaki bağımlılığı otomatik olarak Kitaplık A 2.0 sürümüne günceller.
Ancak çalışma zamanı sınıf yolu, A kitaplığı 1.0 sürümünü içeriyorsa ve derleme, A kitaplığı 2.0 sürümünü içeriyorsa eklenti, derleme sınıf yolundaki bağımlılığı A kitaplığı 1.0 sürümüne düşürmez ve hata alırsınız. Daha fazla bilgi edinmek için Sınıf yolları arasındaki çakışmaları düzeltme başlıklı makaleyi inceleyin.
-
Açıklama işlemcileri kullanılırken artımlı Java derlemesi iyileştirildi: Bu güncelleme, açıklama işlemcileri kullanılırken artımlı Java derlemesi desteğini iyileştirerek derleme süresini kısaltır.
Not: Bu özellik, Gradle issue 8194 nedeniyle Gradle 5.1 hariç Gradle 4.10.1 ve sonraki sürümleriyle uyumludur.
-
Kapt'ı kullanan projelerde (çoğu yalnızca Kotlin projesi ve Kotlin-Java karma projeleri): Veri bağlama veya retro-lambda eklentisini kullandığınızda bile artımlı Java derlemesi etkinleştirilir. Kapt görevi tarafından yapılan ek açıklama işleme henüz artımlı değil.
-
Kapt'ın kullanılmadığı projeler (yalnızca Java projeleri) için: 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 etkindir. Artımlı ek açıklama işlemcisinin benimsenmesini izlemek için Gradle sorunu 5277'yi takip edin.
Ancak bir veya daha fazla ek açıklama işlemcisi artımlı derlemeleri desteklemiyorsa artımlı Java derlemesi etkinleştirilmez. Bunun yerine,
gradle.properties
dosyanıza aşağıdaki işareti 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 artımlı olarak çalışmasına izin verir.
-
-
Eski API kullanılırken daha iyi hata ayıklama bilgileri: Eklenti, artık desteklenmeyen bir API kullandığınızı algıladığında bu 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
Ayrıca komut satırından
-Pandroid.debug.obsoleteApi=true
ileterek de işareti etkinleştirebilirsiniz. -
Komut satırından özellik modüllerinde enstrümantasyon testleri çalıştırabilirsiniz.
Davranış değişiklikleri
-
Gecikmeli görev yapılandırması: Eklenti artık Gradle'ın yeni görev oluşturma API'sini kullanarak mevcut derlemenin tamamlanması için gerekli olmayan (veya yürütme görev grafiğinde bulunmayan) görevlerin başlatılmasını ve yapılandırılmasını önler. Örneğin, "release" ve "debug" derleme varyantları gibi birden fazla derleme varyantınız varsa ve uygulamanızın "debug" sürümünü oluşturuyorsanız eklenti, uygulamanızın "release" sürümü için görevleri başlatmaktan ve yapılandırmaktan kaçınır.
Varyantlar API'sinde
variant.getJavaCompile()
gibi belirli eski yöntemlerin çağrılması, 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 üzere,variant.getJavaCompileProvider()
gibi TaskProvider nesnesi döndüren yeni yöntemleri çağırın.Özel derleme görevleri yürütüyorsanız Gradle'ın yeni görev oluşturma API'sine nasıl uyum sağlayacağı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 karartmak için ProGuard yerine R8'i kullanıyor. R8 hakkında daha fazla bilgi edinmek için Android Geliştiricileri Blogu'ndaki bu blog yayınını okuyun. -
Kitaplık projeleri için daha hızlı R sınıfı oluşturma: Android Gradle eklentisi daha önce projenizin her bağımlılığı için bir
R.java
dosyası oluşturur ve bu R sınıflarını uygulamanızın diğer sınıflarıyla birlikte derlerdi. Eklenti artık önce araR.java
sınıflarını oluşturmadan doğrudan uygulamanızın derlenmiş R sınıfını içeren bir JAR oluşturuyor. Bu optimizasyon, çok sayıda kitaplık alt projesi ve bağımlılık içeren projelerde derleme performansını önemli ölçüde artırabilir ve Android Studio'da indeksleme hızını iyileştirebilir. -
Android App Bundle oluştururken bu uygulama paketinden oluşturulan ve Android 6.0'ı (API düzeyi 23) veya sonraki sürümleri hedefleyen APK'lar artık yerel kitaplıklarınızın sıkıştırılmamış sürümlerini varsayılan olarak içeriyor. Bu optimizasyon, cihazın kitaplığın bir kopyasını oluşturmasını önler ve böylece uygulamanızın diskteki boyutunu küçültür. Bu optimizasyonu devre dışı bırakmayı tercih ederseniz
gradle.properties
dosyanıza aşağıdakileri ekleyin:android.bundle.enableUncompressedNativeLibs = false
-
Eklenti, bazı üçüncü taraf eklentilerinin minimum sürümlerini zorunlu kılar.
-
Tek varyantlı proje senkronizasyonu: Projenizi derleme yapılandırmanızla senkronize etmek, Android Studio'nun projenizin nasıl yapılandırıldığını anlaması için önemli bir adımdır. Ancak bu süreç büyük projelerde zaman alabilir. Projenizde birden fazla derleme varyantı kullanılıyorsa proje senkronizasyonlarını yalnızca şu anda seçtiğiniz varyantla sınırlayarak optimize edebilirsiniz.
Bu optimizasyonu etkinleştirmek için Android Gradle Eklentisi 3.3.0 veya sonraki bir sürümüyle Android Studio 3.3 ya da sonraki bir sürümünü kullanmanız gerekir. Bu koşulları 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 (Mac'te Android Studio > Tercihler > Deneysel > Gradle) seçeneğini tıklayın ve Yalnızca etkin varyantı senkronize et onay kutusunu işaretleyin.
Not: Bu optimizasyon, Java ve C++ dillerini içeren projeleri tam olarak destekler ve Kotlin için kısmi destek sunar. Kotlin içeriği olan projelerde optimizasyon etkinleştirildiğinde Gradle senkronizasyonu, dahili olarak tam varyantları kullanmaya geri döner.
-
Eksik SDK paketlerinin otomatik olarak indirilmesi: Bu işlev, NDK'yı destekleyecek şekilde genişletildi. Daha fazla bilgi edinmek için Gradle ile eksik paketleri otomatik olarak indirme başlıklı makaleyi inceleyin.
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 paketlenmiş
androidx-rs.jar
dahil olmak üzereandroidx-rs.jar
nedeniyle oluşan çakışmalarannotation.AnyRes
- RenderScript kullanırken artık
build.gradle
dosyalarınızda Build Tools sürümünü manuel olarak ayarlamanız gerekmez.
- Jetifier etkin olmasına rağmen AndroidX sürümü yerine
3.2.0 (Eylül 2018)
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
- Gradle 4.6 veya daha yeni bir sürüm. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
- SDK Build Tools 28.0.3 veya daha yeni bir sürüm.
3.2.1 (Ekim 2018)
Bu güncelleme ile birlikte, SDK oluşturma araçları için artık 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, APK oluşturma ve imzalama işlemlerini Google Play Store'a bırakırken uygulamanızın derlenmiş kod ve kaynaklarının tamamını içeren yeni bir yükleme biçimidir. Artık birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Kullanıcılar, cihazları için optimize edilmiş daha küçük indirmeler elde eder. Daha fazla bilgi edinmek için Android App Bundle'lar hakkında başlıklı makaleyi okuyun.
-
Açıklama işlemcileri kullanılırken geliştirilmiş artımlı derleme hızları için destek:
AnnotationProcessorOptions
DSL artıkCommandLineArgumentProvider
'yi genişletiyor. Bu sayede, artımlı derleme özelliği türü açıklamalarını kullanarak işlemci için bağımsız değişkenlere açıklama ekleyebilirsiniz. Bu ek açıklamaları kullanmak, artımlı ve önbelleğe alınmış temiz derlemelerin doğruluğunu ve performansını artırır. Daha fazla bilgi edinmek için Pass arguments to annotation processors başlıklı makaleyi inceleyin. -
AndroidX için taşıma aracı: Android 3.2 ve sonraki sürümlerle Android Gradle eklentisi 3.2.0'ı kullanırken menü çubuğundan Refactor > Migrate to AndroidX'i 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 detrue
olarak ayarlanır:-
android.useAndroidX
:true
olarak ayarlandığında Android eklentisi, Destek Kitaplığı yerine uygun AndroidX kitaplığını kullanır. Bu işaret belirtilmediğinde eklenti varsayılan olarakfalse
değerini ayarlar. -
android.enableJetifier
:true
olarak ayarlandığında Android eklentisi, mevcut üçüncü taraf kitaplıklarını ikili dosyalarını yeniden yazarak AndroidX'i kullanacak şekilde otomatik olarak taşır. Bu işaret belirtilmediğinde eklenti, varsayılan olarakfalse
değerini ayarlar. Bu işareti yalnızcatrue
olarak ayarlayabilirsiniz.android.useAndroidX
datrue
olarak ayarlanmalıdır. Aksi takdirde derleme hatası alırsınız.Daha fazla bilgi 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 karartma aracıdır. R8'in önizleme sürümünü kullanmaya başlamak için projenizin
gradle.properties
dosyasına aşağıdakileri ekleyin:android.enableR8 = true
android.enableR8 = true
Davranış değişiklikleri
-
D8 ile desugaring artık varsayılan olarak etkinleştirildi.
-
AAPT2 artık Google'ın Maven deposunda. AAPT2'yi kullanmak için
google()
dosyanızda aşağıdaki gibibuild.gradle
bağımlılığının 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 etkindir. Android Studio'nun önceki sürümlerinde, bir uygulamanın hata ayıklama sürümü Android API düzeyi 21 veya sonraki sürümlerin yüklü olduğu bir cihaza dağıtılırken yerel multidex etkinleştiriliyordu. Artık bir cihaza dağıtım yaparken veya yayın için APK oluştururken Android Gradle eklentisi,
minSdkVersion=21
veya sonraki sürümleri ayarlayan tüm modüller için yerel çoklu dex'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 bir modül adı belirtirken yalnızca harf, rakam ve alt çizgi kullanımını zorunlu kılıyor. Örneğin, özellik modülü adınızda tire varsa derleme hatası alırsınız. Bu davranış, dinamik özellik eklentisinin davranışıyla aynıdır.
Hata düzeltmeleri
- JavaCompile artık veri bağlama içeren projelerde önbelleğe alınabilir. (69243050 numaralı sorun)
- Veri bağlama içeren kitaplık modüllerinde derleme önleme özelliği geliştirildi. (77539932 numaralı sorun)
- Önceki sürümlerde bazı öngörülemeyen derleme hataları nedeniyle devre dışı bıraktıysanız artık configure-on-demand'ı yeniden etkinleştirebilirsiniz. (77910727 numaralı sorun)
3.1.0 (Mart 2018)
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
-
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 sonraki sürümler.
android.buildToolsVersion
özelliğini kullanarak derleme araçları için artık bir sürüm belirtmeniz gerekmediğini unutmayın. Eklenti, varsayılan olarak gerekli minimum sürümü kullanır.
Yeni DEX derleyicisi D8
Android Studio artık varsayılan olarak D8 adlı yeni bir DEX derleyici kullanıyor. DEX derlemesi, .class
bayt kodunu Android çalışma zamanı (veya Android'in eski sürümleri için Dalvik) için .dex
bayt koduna dönüştürme işlemidir. DX adlı önceki derleyiciyle karşılaştırıldığında D8, daha hızlı derleme yapar ve daha küçük DEX dosyaları oluşturur. Ayrıca, aynı veya daha iyi uygulama çalışma zamanı performansına sahiptir.
D8, günlük uygulama geliştirme iş akışınızı değiştirmemelidir. Ancak yeni derleyiciyle ilgili herhangi bir sorun yaşarsanız lütfen hata bildirin. D8'i geçici olarak devre dışı bırakabilir ve projenizin gradle.properties
dosyasına aşağıdakileri ekleyerek DX'i kullanabilirsiniz:
android.enableD8=false
Java 8 dili özelliklerini kullanan projelerde
artımlı desugaring varsayılan olarak etkindir. Projenizin gradle.properties
dosyasında aşağıdakileri belirterek devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false.
Önizleme kullanıcıları: D8'in önizleme sürümünü kullanıyorsanız artık SDK derleme araçlarında bulunan kitaplıklara (JDK'ya değil) 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 derleme hatası alırsınız.
Davranış değişiklikleri
-
Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluştururken artık varsayılan olarak şu ABI'ler için APK oluşturmaz:
mips
,mips64
vearmeabi
.Bu ABI'leri hedefleyen APK'lar oluşturmak istiyorsanız NDK r16b veya daha eski bir sürümü kullanmanız ve ABI'leri
build.gradle
dosyanızda aşağıdaki gibi belirtmeniz gerekir:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Android eklentisinin build cache özelliği artık 30 günden eski önbellek girişlerini kaldırıyor.
-
"auto"
öğesiniresConfig
öğesine iletmek artık APK'nıza paketlenecek dize kaynaklarını otomatik olarak seçmez."auto"
kullanmaya devam ederseniz eklenti, uygulamanızın ve bağımlılıklarının sağladığı tüm dize kaynaklarını paketler. Bu nedenle, eklentinin APK'nıza paketlemesini istediğiniz her yerel ayarı belirtmeniz gerekir. -
Yerel modüller uygulamanızın test APK'sına bağlı olamayacağından,
androidTestImplementation
yerineandroidTestApi
yapılandırmasını kullanarak enstrümanlı testlerinize 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, bileşik derlemelerdeki bağımlılıkları düzgün şekilde tanımamasına neden olan sorun düzeltildi.
- Android eklentisi tek bir derlemede birden çok kez yüklendiğinde (örneğin, birden çok alt proje, Android eklentisini buildscript sınıf yoluna dahil ettiğinde) proje senkronizasyon hatası almanıza neden olan sorun düzeltildi.
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ık içeren (ancak kod veya kaynak içermeyen) bir örnek iskelet projesinde aşağıdaki gibi performans iyileştirmeleri yaşayabilirsiniz:
Android eklentisi 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 dakika | ~9 sn. | ~2,5 sn. |
1 satırlık Java değişikliği (uygulama değişikliği) | ~2 dakika 15 saniye | ~29 sn | ~6,4 sn |
Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma çabasını göz önünde bulundurmalısınız.
Yukarıda açıklanan performans iyileştirmelerini deneyimlemezseniz lütfen bir hata kaydı oluşturun ve Gradle Profiler'ı kullanarak derlemenizin izini ekleyin.
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
- Gradle 4.1 veya sonraki sürümleri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
Build Tools 26.0.2
veya sonraki sürümler. Bu güncellemeyle birlikte, artık derleme araçları için sürüm belirtmeniz gerekmiyor. Eklenti, varsayılan olarak gereken minimum sürümü kullanıyor.
Bu nedenle, artık
android.buildToolsVersion
mülkünü kaldırabilirsiniz.
3.0.1 (Kasım 2017)
Bu, Android Studio 3.0.1'i desteklemek için yapılan küçük bir güncellemedir ve genel hata düzeltmelerinin yanı sıra performans iyileştirmelerini içerir.
Optimizasyonlar
- Ayrıntılı görev grafiği sayesinde çok modüllü projelerde daha iyi paralellik.
- Bağımlılıkta değişiklik yaparken Gradle, bu bağımlılığın API'sine erişimi olmayan modülleri yeniden derlemeyerek daha hızlı derlemeler gerçekleştirir.
Aşağıdaki yöntemlerle hangi bağımlılıkların API'lerini diğer modüllere sızdırdığını kısıtlamanız gerekir:
Gradle'ın yeni bağımlılık yapılandırmalarını kullanma:
implementation
,api
,compileOnly
veruntimeOnly
. - Sınıf başına dexing sayesinde daha hızlı 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 DEX'e dönüştürülüyor. Ayrıca,
minSdkVersion
değerini 20 veya daha düşük olarak ayarlayan ve eski çoklu dex kullanan uygulamalarda derleme hızının iyileşmesini de bekleyebilirsiniz. - Belirli görevleri, önbelleğe alınmış çıkışları kullanacak şekilde optimize ederek derleme hızlarını iyileştirdik. Bu optimizasyondan yararlanmak için öncelikle Gradle derleme önbelleğini etkinleştirmeniz gerekir.
- Artık varsayılan olarak etkinleştirilen AAPT2 ile artımlı kaynak işlemede iyileştirme yapıldı. AAPT2'yi kullanırken sorun yaşıyorsanız lütfen hata bildirin. Ayrıca,
android.enableAapt2=false
dosyanızdaandroid.enableAapt2=false
değerini ayarlayarak ve komut satırından./gradlew --stop
komutunu çalıştırarak Gradle daemon'ı yeniden başlatarak AAPT2'yi devre dışı bırakabilirsiniz.gradle.properties
Yeni özellikler
- Varyant duyarlı bağımlılık yönetimi. Bir modülün belirli bir varyantını oluştururken eklenti 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ştiriyor.
- Android Instant Apps ve Android Instant Apps SDK'sını (SDK Yöneticisi'ni kullanarak indirebilirsiniz) desteklemek için yeni bir özellik modülü eklentisi içerir. Yeni eklentiyle özellik modülleri oluşturma hakkında daha fazla bilgi edinmek için Birden fazla özellik içeren anlık uygulamanın yapısı başlıklı makaleyi inceleyin.
- Belirli Java 8 dili özelliklerini ve Java 8 kitaplıklarını kullanmak için yerleşik destek. Jack artık kullanımdan kaldırıldı ve gerekli değil. Geliştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir. Bu destek, varsayılan araç zincirine yerleştirilmiştir. Daha fazla bilgi için Java 8 dili özelliklerini kullanma başlıklı makaleyi inceleyin.
-
Android Test Orchestrator ile test çalıştırma desteği eklendi. Bu sayede, uygulamanızın her testini kendi Instrumentation çağrısı içinde çalıştırabilirsiniz. Her test kendi Instrumentation örneğinde çalıştığından, testler arasındaki paylaşılan durumlar cihazınızın CPU'sunda veya belleğinde birikmez. Ayrıca, bir test kilitlense bile yalnızca kendi Instrumentation örneğini kapatır. Bu nedenle diğer testleriniz çalışmaya devam eder.
- Cihaz üzerinde test düzenlemesi kullanılıp kullanılmayacağını belirlemek için
testOptions.execution
eklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibiANDROID_TEST_ORCHESTRATOR
belirtmeniz gerekir. Bu mülk varsayılan olarakHOST
olarak ayarlanır. Bu değer, cihaz üzerinde düzenlemeyi devre dışı bırakır ve testleri çalıştırmanın standart yöntemidir.
Groovy
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- Cihaz üzerinde test düzenlemesi kullanılıp kullanılmayacağını belirlemek için
-
Yeni
androidTestUtil
bağımlılık yapılandırması, enstrümantasyon testlerinizi çalıştırmadan önce başka bir test yardımcısı APK'sı (ör. Android Test Orchestrator) yüklemenize olanak tanır:Groovy
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
testOptions.unitTests.includeAndroidResources
, Roboelectric gibi Android kaynakları gerektiren birim testlerini desteklemek için eklendi. Bu özelliğitrue
olarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemi gerçekleştirir. Testleriniz daha sonra aşağıdaki anahtarlar için sınıf yolundakicom/android/tools/test_config.properties
öğesini inceleyebilir:-
android_merged_assets
: Birleştirilmiş öğeler dizininin mutlak yolu.Not: Kitaplık modüllerinde, birleştirilmiş öğeler bağımlılıkların öğelerini içermez (65550419 numaralı soruna bakın).
-
android_merged_manifest
: Birleştirilmiş manifest dosyasının mutlak yolu. -
android_merged_resources
: Modüldeki ve tüm bağımlılıklarındaki tüm kaynakları içeren birleştirilmiş kaynaklar dizininin mutlak yolu. -
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 manifestindekipackage
özelliğiyle eşleşmeyebilir.
-
- Kaynak olarak yazı tipleri desteği (Android 8.0 (API düzeyi 26)'da kullanıma sunulan yeni bir özelliktir).
- Android Instant Apps SDK 1.1 ve sonraki sürümlerde dile özgü APK'lar desteklenir.
-
Artık harici yerel derleme projenizin çıkış dizinini aşağıdaki şekilde değiştirebilirsiniz:
Groovy
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 sürümlerini kullanabilirsiniz.
-
Yeni
lintChecks
bağımlılık yapılandırması, özel lint kurallarını tanımlayan bir JAR oluşturmanıza ve bunu AAR ile APK projelerinize paketlemenize olanak tanır.Özel lint kurallarınız, tek bir JAR çıkışı veren ve yalnızca
compileOnly
bağımlılıklarını içeren ayrı bir projeye ait olmalıdır. Diğer uygulama ve kitaplık modülleri,lintChecks
yapılandırmasını kullanarak lint projenize bağlı olabilir:Groovy
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 bunları kullanırsanız derlemeniz bozulur. Örneğin, artık
outputFile()
nesnelerine erişmek için Variants API'yi kullanamaz veya her varyantın manifest dosyasını almak içinprocessManifest.manifestOutputFile()
kullanamazsınız. Daha fazla bilgi edinmek için API değişiklikleri başlıklı makaleyi okuyun. - Artık derleme araçları için bir sürüm belirtmeniz gerekmiyor (bu nedenle,
android.buildToolsVersion
özelliğini kaldırabilirsiniz). Varsayılan olarak eklenti, kullandığınız Android eklentisi sürümü için gerekli olan en düşük derleme araçları sürümünü otomatik olarak kullanır. - Artık PNG sıkıştırmayı aşağıdaki
buildTypes
bloğunda etkinleştirebilir/devre dışı bırakabilirsiniz. PNG sıkıştırma, çok sayıda PNG dosyası içeren projelerin derleme sürelerini artırdığı için hata ayıklama derlemeleri hariç tüm derlemelerde varsayılan olarak etkindir. Bu nedenle, diğer derleme türlerinin derleme sürelerini iyileştirmek için PNG sıkıştırmayı devre dışı bırakmanız veya resimlerinizi WebP'ye dönüştürmeniz gerekir.Groovy
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 harici CMake projelerinizde yapılandırdığınız yürütülebilir hedefleri otomatik olarak 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
'nın 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'e geçiş yapmanız gerekir. Daha fazla bilgi için ndkcompile'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ık içeren (ancak kod veya kaynak içermeyen) bir örnek iskelet projesinde aşağıdaki gibi performans iyileştirmeleri yaşayabilirsiniz:
Android eklentisi 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 dakika | ~9 sn. | ~2,5 sn. |
1 satırlık Java değişikliği (uygulama değişikliği) | ~2 dakika 15 saniye | ~29 sn | ~6,4 sn |
Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma çabasını göz önünde bulundurmalısınız.
Yukarıda açıklanan performans iyileştirmelerini deneyimlemezseniz lütfen bir hata kaydı oluşturun ve Gradle Profiler'ı kullanarak derlemenizin izini ekleyin.
Android eklentisinin bu sürümü için aşağıdakiler gereklidir:
- Gradle 4.1 veya sonraki sürümleri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
Build Tools 26.0.2
veya sonraki sürümler. Bu güncellemeyle birlikte, artık derleme araçları için sürüm belirtmeniz gerekmiyor. Eklenti, varsayılan olarak gereken minimum sürümü kullanıyor.
Bu nedenle, artık
android.buildToolsVersion
mülkünü kaldırabilirsiniz.
3.0.1 (Kasım 2017)
Bu, Android Studio 3.0.1'i desteklemek için yapılan küçük bir güncellemedir ve genel hata düzeltmelerinin yanı sıra performans iyileştirmelerini içerir.
Optimizasyonlar
- Ayrıntılı görev grafiği sayesinde çok modüllü projelerde daha iyi paralellik.
- Bağımlılıkta değişiklik yaparken Gradle, bu bağımlılığın API'sine erişimi olmayan modülleri yeniden derlemeyerek daha hızlı derlemeler gerçekleştirir.
Aşağıdaki yöntemlerle hangi bağımlılıkların API'lerini diğer modüllere sızdırdığını kısıtlamanız gerekir:
Gradle'ın yeni bağımlılık yapılandırmalarını kullanma:
implementation
,api
,compileOnly
veruntimeOnly
. - Sınıf başına dexing sayesinde daha hızlı 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 DEX'e dönüştürülüyor. Ayrıca,
minSdkVersion
değerini 20 veya daha düşük olarak ayarlayan ve eski çoklu dex kullanan uygulamalarda derleme hızının iyileşmesini de bekleyebilirsiniz. - Belirli görevleri, önbelleğe alınmış çıkışları kullanacak şekilde optimize ederek derleme hızlarını iyileştirdik. Bu optimizasyondan yararlanmak için öncelikle Gradle derleme önbelleğini etkinleştirmeniz gerekir.
- Artık varsayılan olarak etkinleştirilen AAPT2 ile artımlı kaynak işlemede iyileştirme yapıldı. AAPT2'yi kullanırken sorun yaşıyorsanız lütfen hata bildirin. Ayrıca,
android.enableAapt2=false
dosyanızdaandroid.enableAapt2=false
değerini ayarlayarak ve komut satırından./gradlew --stop
komutunu çalıştırarak Gradle daemon'ı yeniden başlatarak AAPT2'yi devre dışı bırakabilirsiniz.gradle.properties
Yeni özellikler
- Varyant duyarlı bağımlılık yönetimi. Bir modülün belirli bir varyantını oluştururken eklenti 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ştiriyor.
- Android Instant Apps ve Android Instant Apps SDK'sını (SDK Yöneticisi'ni kullanarak indirebilirsiniz) desteklemek için yeni bir özellik modülü eklentisi içerir. Yeni eklentiyle özellik modülleri oluşturma hakkında daha fazla bilgi edinmek için Birden fazla özellik içeren anlık uygulamanın yapısı başlıklı makaleyi inceleyin.
- Belirli Java 8 dili özelliklerini ve Java 8 kitaplıklarını kullanmak için yerleşik destek. Jack artık kullanımdan kaldırıldı ve gerekli değil. Geliştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir. Bu destek, varsayılan araç zincirine yerleştirilmiştir. Daha fazla bilgi için Java 8 dili özelliklerini kullanma başlıklı makaleyi inceleyin.
-
Android Test Orchestrator ile test çalıştırma desteği eklendi. Bu sayede, uygulamanızın her testini kendi Instrumentation çağrısı içinde çalıştırabilirsiniz. Her test kendi Instrumentation örneğinde çalıştığından, testler arasındaki paylaşılan durumlar cihazınızın CPU'sunda veya belleğinde birikmez. Ayrıca, bir test kilitlense bile yalnızca kendi Instrumentation örneğini kapatır. Bu nedenle diğer testleriniz çalışmaya devam eder.
- Cihaz üzerinde test düzenlemesi kullanılıp kullanılmayacağını belirlemek için
testOptions.execution
eklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibiANDROID_TEST_ORCHESTRATOR
belirtmeniz gerekir. Bu mülk varsayılan olarakHOST
olarak ayarlanır. Bu değer, cihaz üzerinde düzenlemeyi devre dışı bırakır ve testleri çalıştırmanın standart yöntemidir.
Groovy
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- Cihaz üzerinde test düzenlemesi kullanılıp kullanılmayacağını belirlemek için
-
Yeni
androidTestUtil
bağımlılık yapılandırması, enstrümantasyon testlerinizi çalıştırmadan önce başka bir test yardımcısı APK'sı (ör. Android Test Orchestrator) yüklemenize olanak tanır:Groovy
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
testOptions.unitTests.includeAndroidResources
, Roboelectric gibi Android kaynakları gerektiren birim testlerini desteklemek için eklendi. Bu özelliğitrue
olarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemi gerçekleştirir. Testleriniz daha sonra aşağıdaki anahtarlar için sınıf yolundakicom/android/tools/test_config.properties
öğesini inceleyebilir:-
android_merged_assets
: Birleştirilmiş öğeler dizininin mutlak yolu.Not: Kitaplık modüllerinde, birleştirilmiş öğeler bağımlılıkların öğelerini içermez (65550419 numaralı soruna bakın).
-
android_merged_manifest
: Birleştirilmiş manifest dosyasının mutlak yolu. -
android_merged_resources
: Modüldeki ve tüm bağımlılıklarındaki tüm kaynakları içeren birleştirilmiş kaynaklar dizininin mutlak yolu. -
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 manifestindekipackage
özelliğiyle eşleşmeyebilir.
-
- Kaynak olarak yazı tipleri desteği (Android 8.0 (API düzeyi 26)'da kullanıma sunulan yeni bir özelliktir).
- Android Instant Apps SDK 1.1 ve sonraki sürümlerde dile özgü APK'lar desteklenir.
-
Artık harici yerel derleme projenizin çıkış dizinini aşağıdaki şekilde değiştirebilirsiniz:
Groovy
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 sürümlerini kullanabilirsiniz.
-
Yeni
lintChecks
bağımlılık yapılandırması, özel lint kurallarını tanımlayan bir JAR oluşturmanıza ve bunu AAR ile APK projelerinize paketlemenize olanak tanır.Özel lint kurallarınız, tek bir JAR çıkışı veren ve yalnızca
compileOnly
bağımlılıklarını içeren ayrı bir projeye ait olmalıdır. Diğer uygulama ve kitaplık modülleri,lintChecks
yapılandırmasını kullanarak lint projenize bağlı olabilir:Groovy
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 bunları kullanırsanız derlemeniz bozulur. Örneğin, artık
outputFile()
nesnelerine erişmek için Variants API'yi kullanamaz veya her varyantın manifest dosyasını almak içinprocessManifest.manifestOutputFile()
kullanamazsınız. Daha fazla bilgi edinmek için API değişiklikleri başlıklı makaleyi okuyun. - Artık derleme araçları için bir sürüm belirtmeniz gerekmiyor (bu nedenle,
android.buildToolsVersion
özelliğini kaldırabilirsiniz). Varsayılan olarak eklenti, kullandığınız Android eklentisi sürümü için gerekli olan en düşük derleme araçları sürümünü otomatik olarak kullanır. - Artık PNG sıkıştırmayı aşağıdaki
buildTypes
bloğunda etkinleştirebilir/devre dışı bırakabilirsiniz. PNG sıkıştırma, çok sayıda PNG dosyası içeren projelerin derleme sürelerini artırdığı için hata ayıklama derlemeleri hariç tüm derlemelerde varsayılan olarak etkindir. Bu nedenle, diğer derleme türlerinin derleme sürelerini iyileştirmek için PNG sıkıştırmayı devre dışı bırakmanız veya resimlerinizi WebP'ye dönüştürmeniz gerekir.Groovy
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 harici CMake projelerinizde yapılandırdığınız yürütülebilir hedefleri otomatik olarak 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
'nın 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'e geçiş yapmanız gerekir. Daha fazla bilgi için ndkcompile'dan taşıma başlıklı makaleyi inceleyin.
2.3.0 (Şubat 2017)
2.3.3 (Haziran 2017)
Bu küçük güncelleme, Android Studio 2.3.3 ile uyumluluk ekler.
2.3.2 (Mayıs 2017)
Bu küçük güncelleme, Android Studio 2.3.2 ile uyumluluk ekler.
2.3.1 (Nisan 2017)
Bu, Android eklentisi 2.3.0'da küçük bir güncellemedir ve bazı fiziksel Android cihazların Instant Run ile düzgün çalışmamasına neden olan bir sorunu düzeltir (bkz. 235879 numaralı sorun).
- Bağımlılıklar:
-
- Gradle 3.3 veya sonraki sürümler.
- Build Tools 25.0.0 veya daha yeni bir sürüm.
- Yeni:
-
- Gradle 3.3'ü kullanır. Bu sürümde performans iyileştirmeleri ve yeni özellikler bulunur. Daha fazla bilgi için Gradle sürüm notları başlıklı makaleyi inceleyin.
- Derleme önbelleği: Android eklentisinin projenizi derlerken oluşturduğu belirli çıktıları (ör. paketlenmemiş AAR'ler ve önceden dexlenmiş uzak bağımlılıklar) depolar. Derleme sistemi, sonraki derlemelerde bu önbelleğe alınmış dosyaları yeniden oluşturmak yerine basitçe yeniden kullanabildiğinden, önbellek kullanılırken temiz derlemeleriniz çok daha hızlı olur. Android eklentisinin 2.3.0 ve sonraki sürümlerini kullanan projelerde derleme önbelleği varsayılan olarak kullanılır. Daha fazla bilgi için Derleme önbelleği ile derleme hızını artırma başlıklı makaleyi inceleyin.
- Derleme önbelleğini
temizleyen bir
cleanBuildCache
görevi içerir. - Derleme önbelleğinin deneysel sürümünü kullanıyorsanız (eklentinin önceki sürümlerinde bulunur) eklentinizin en son sürümünü güncellemeniz gerekir.
- Derleme önbelleğini
temizleyen bir
- Değişiklikler:
-
- Android Studio 2.3'te yer alan Instant Run'daki değişiklikleri destekler.
- Çok büyük projelerin yapılandırma süreleri önemli ölçüde daha hızlı olmalıdır.
- Constraint Layout kitaplığında otomatik indirmeyle ilgili sorunlar düzeltildi.
- Eklenti artık ProGuard 5.3.2 sürümünü kullanıyor.
- Bildirilen hatalarla ilgili birçok düzeltme içerir. Sorunlarla karşılaştığınızda lütfen hata raporu göndermeye devam edin.
2.2.0 (Eylül 2016)
- Bağımlılıklar:
-
- Gradle 2.14.1 veya sonraki sürümler.
- Build Tools 23.0.2 veya sonraki sürümler.
- Yeni:
-
- Gradle 2.14.1 kullanılır. Bu sürümde performans iyileştirmeleri ve yeni özellikler yer alır. Ayrıca Gradle daemon'ı kullanılırken yerel ayrıcalık yükseltmesine izin veren bir güvenlik açığı düzeltilir. Daha fazla bilgi için Gradle sürüm notlarına bakın.
- Gradle,
externalNativeBuild {}
DSL'yi kullanarak artık yerel kaynaklarınıza bağlantı oluşturmanıza ve CMake veya ndk-build kullanarak yerel kitaplıkları derlemenize olanak tanıyor. Yerel kitaplıklarınızı oluşturduktan sonra Gradle bunları APK'nıza paketler. CMake ve ndk-build'i Gradle ile kullanma hakkında daha fazla bilgi edinmek için Projenize C ve C++ Kodu Ekleme başlıklı makaleyi inceleyin. - Komut satırından derleme çalıştırdığınızda Gradle artık projenizin bağlı olduğu eksik SDK bileşenlerini veya güncellemeleri otomatik olarak indirmeye çalışır. Daha fazla bilgi edinmek için Gradle ile eksik paketleri otomatik olarak indirme başlıklı makaleyi inceleyin.
- Yeni deneysel önbelleğe alma özelliği, Gradle'ın kitaplıklarınızın önceden dexlenmiş sürümlerini önceden dexleyerek, depolayarak ve yeniden kullanarak derleme sürelerini hızlandırmasına olanak tanır. Bu deneysel özelliği kullanma hakkında daha fazla bilgi edinmek için Önbellek Oluşturma kılavuzunu okuyun.
- Sıkıştırma, imzalama ve zipaligning işlemlerini tek bir görevde gerçekleştiren yeni bir varsayılan paketleme işlem hattı kullanılarak derleme performansı iyileştirilir.
android.useOldPackaging=true
dosyanızagradle.properties
ekleyerek eski paketleme araçlarını kullanmaya geri dönebilirsiniz. Yeni paketleme aracı kullanılırkenzipalignDebug
görevi kullanılamaz. Ancak,createZipAlignTask(String taskName, File inputFile, File outputFile)
yöntemini çağırarak kendiniz oluşturabilirsiniz. - APK imzalama artık geleneksel JAR imzalamaya ek olarak APK İmza Şeması v2'yi kullanıyor. Tüm Android platformları, sonuçta elde edilen APK'ları kabul eder. İmzalama işleminden sonra bu APK'larda yapılan değişiklikler, v2 imzalarını geçersiz kılar ve cihazlara yüklenmelerini engeller. Bu özelliği devre dışı bırakmak için
modül düzeyindeki
build.gradle
dosyanıza aşağıdakileri ekleyin:Groovy
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- Çoklu DEX derlemelerinde artık Gradle'ın hangi sınıfları uygulamanızın main DEX dosyasına derleyeceğini belirlemek için ProGuard kurallarını kullanabilirsiniz. Android sistemi, uygulamanızı başlatırken önce ana DEX dosyasını yüklediğinden, belirli sınıfları ana DEX dosyasına derleyerek başlangıçta öncelik verebilirsiniz. Ana DEX dosyanız için özel olarak bir ProGuard yapılandırma dosyası oluşturduktan sonra, yapılandırma dosyasının yolunu
buildTypes.multiDexKeepProguard
kullanarak Gradle'a iletin. Bu DSL'nin kullanımı, uygulamanız için genel ProGuard kuralları sağlayan ve ana DEX dosyası için sınıfları belirtmeyenbuildTypes.proguardFiles
kullanımından farklıdır. - Uygulamanızı bir cihaza yüklediğinizde boyutunu küçültebilen
android:extractNativeLibs
işaretinin desteği eklendi. Uygulama manifestinizin<application>
öğesinde bu işaretifalse
olarak ayarladığınızda Gradle, yerel kitaplıklarınızın sıkıştırılmamış ve hizalanmış sürümlerini APK'nızla birlikte paketler. Bu,PackageManager
'ın kurulum sırasında yerel kitaplıklarınızı APK'dan cihazın dosya sistemine kopyalamasını önler ve uygulamanızın delta güncellemelerini daha küçük hale getirmenin ek avantajını sunar. - Artık ürün aromaları için
versionNameSuffix
veapplicationIdSuffix
özelliklerini belirtebilirsiniz. (59614 numaralı sorun)
- Değişiklikler:
-
-
getDefaultProguardFile
artık Gradle için Android eklentisinin sağladığı varsayılan ProGuard dosyalarını döndürüyor ve Android SDK'daki dosyaları kullanmıyor. - Jack derleyici performansında ve özelliklerinde iyileştirmeler:
- Jack artık
testCoverageEnabled
,true
olarak ayarlandığında Jacoco test kapsamını destekliyor. - Açıklama işlemcileri için destek iyileştirildi. Sınıf yolunuzdaki ek açıklama işlemcileri (ör.
compile
bağımlılıkları) derlemenize otomatik olarak uygulanır. Ayrıca, derlemenizde bir ek açıklama işlemcisi belirtebilir ve modül düzeyindekibuild.gradle
dosyanızdajavaCompileOptions.annotationProcessorOptions {}
DSL'sini kullanarak bağımsız değişkenler iletebilirsiniz:Groovy
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şleme birimi uygulamak ancak bunu APK'nıza dahil etmek istemiyorsanız
annotationProcessor
bağımlılık kapsamını kullanın:Groovy
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 }
- Varsayılan olarak, Gradle daemon'ın yığın boyutu en az 1, 5 GB ise Jack artık Gradle ile aynı süreçte çalışır. Daemon 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
Ayarlayabileceğiniz parametrelerin listesi için komut satırından aşağıdakileri çalıştırın:
java -jar /build-tools/jack.jar --help-properties
- Jack artık
-
2.1.0 (Nisan 2016)
2.1.3 (Ağustos 2016)
Bu güncelleme için Gradle 2.14.1 ve sonraki sürümler gereklidir. Gradle 2.14.1; performans iyileştirmeleri, yeni özellikler ve önemli bir güvenlik düzeltmesi içerir. Daha fazla bilgi için Gradle sürüm notlarını inceleyin.
- Bağımlılıklar:
-
- Gradle 2.10 veya sonraki sürümler.
- Build Tools 23.0.2 veya sonraki sürümler.
- Yeni:
-
- Jack araç zinciri kullanılarak N Developer Preview, JDK 8 ve Java 8 dil özellikleri için destek eklendi. Daha fazla bilgi için N Preview 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ılacaktır. Yalnızca N Preview için geliştirme yapıyorsanız ve desteklenen Java 8 dili özelliklerini kullanmak istiyorsanız Jack'i kullanmanız gerekir.
- Geliştirme sırasında derleme süresini azaltmak için artımlı Java derlemesi için varsayılan destek eklendi. Bu işlem, yalnızca değişen veya yeniden derlenmesi gereken kaynak bölümlerini yeniden derleyerek gerçekleştirilir. Bu özelliği devre dışı bırakmak için modül düzeyindeki
build.gradle
dosyanıza aşağıdaki kodu ekleyin:Groovy
android { ... compileOptions { incremental false } }
Kotlin
android { ... compileOptions { incremental = false } }
-
Dexing işlemini ayrı bir harici VM işleminde değil, derleme işlemi içinde gerçekleştiren dexing-in-process desteği eklendi. Bu sayede yalnızca artımlı derlemeler hızlanmaz, tam derlemeler de hızlanır. Bu özellik, Gradle daemon'ın maksimum yığın boyutunu en az 2048 MB olarak ayarlayan projelerde varsayılan olarak etkindir. Bunu, projenizin
```none org.gradle.jvmargs = -Xmx2048m ```gradle.properties
dosyasına aşağıdakileri ekleyerek yapabilirsiniz:Modül düzeyindeki
```none org.gradle.jvmargs = -Xmx3072m ```build.gradle
dosyanızdajavaMaxHeapSize
için bir değer tanımladıysanızorg.gradle.jvmargs
değerinijavaMaxHeapSize
+ 1024 MB olarak ayarlamanız gerekir. Örneğin,javaMaxHeapSize
değerini "2048m" olarak ayarladıysanız projenizingradle.properties
dosyasına aşağıdakileri eklemeniz gerekir:İşlem içi dexleme özelliğini devre dışı bırakmak için modül düzeyindeki
build.gradle
dosyanıza aşağıdaki kodu ekleyin:Groovy
android { ... dexOptions { dexInProcess false } }
Kotlin
android { ... dexOptions { dexInProcess = false } }
- Jack araç zinciri kullanılarak N Developer Preview, JDK 8 ve Java 8 dil özellikleri için destek eklendi. Daha fazla bilgi için N Preview kılavuzunu okuyun.
2.0.0 (Nisan 2016)
- Bağımlılıklar:
-
- Gradle 2.10 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki bir sürüm.
- Yeni:
-
- Bayt kodu yerleştirmeyi destekleyerek ve kod ile kaynak güncellemelerini emülatördeki veya fiziksel cihazdaki çalışan bir uygulamaya göndererek Anında Çalıştırma'yı etkinleştirir.
- Uygulama çalışmıyorken bile artımlı derlemeler için destek eklendi. Bağlı cihaza Android Debug Bridge üzerinden artımlı değişiklikler gönderilerek tam derleme süreleri iyileştirilir.
- Aynı anda kaç çalışan dex işleminin oluşturulabileceğini kontrol etmek için
maxProcessCount
eklendi. Modül düzeyindekibuild.gradle
dosyasında bulunan aşağıdaki kod, eşzamanlı işlemlerin maksimum sayısını 4 olarak ayarlar:Groovy
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:
Groovy
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ştirilen davranış:
-
minSdkVersion
18 veya daha yüksek bir değere ayarlandığında APK imzalama için SHA256 kullanılı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 sorun düzeltildi.
Gradle için Android eklentisi, revizyon 1.5.0 (Kasım 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Genel Notlar:
-
- Veri bağlama eklentisi, Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje bazındaki
build.gradle
dosyasına aşağıdaki kodu ekleyin: - Üçüncü taraf eklentilerinin, derlenmiş
.class
dosyalarını.dex
dosyalarına dönüştürülmeden önce değiştirmesine olanak tanıyan yeni bir Transform API eklendi. Transform API, özel sınıf manipülasyonlarını eklemeyi basitleştirirken manipüle edebilecekleriniz konusunda daha fazla esneklik sunar. Bir dönüşümü derlemeye eklemek içinTransform
arayüzlerinden birini uygulayan yeni bir sınıf oluşturun ve bunuandroid.registerTransform(theTransform)
veyaandroid.registerTransform(theTransform, dependencies)
ile kaydedin. Görevleri birbirine bağlamanıza gerek yoktur. Transform API hakkında aşağıdakileri unutmayın: - Dönüşüm, aşağıdakilerden birine veya daha fazlasına uygulanabilir: mevcut proje, alt projeler ve harici kitaplıklar.
- Dönüşümlerin, tüm varyantlara uygulanması için global olarak kaydedilmesi gerekir.
- Java Code Coverage Library (JaCoCo), ProGuard ve MultiDex aracılığıyla yapılan dahili kod işleme artık Transform API'yi kullanıyor. Ancak Java Android Compiler Kit (Jack) bu API'yi kullanmaz. Yalnızca
javac/dx
kod yolu kullanır. - Gradle, dönüştürmeleri şu sırayla yürütür: JaCoCo, üçüncü taraf eklentileri, ProGuard. Üçüncü taraf eklentilerinin yürütme sırası, dönüşümlerin üçüncü taraf eklentileri tarafından eklendiği sırayla eşleşir. Üçüncü taraf eklenti geliştiriciler, API aracılığıyla dönüşümlerin yürütme sırasını kontrol edemez.
ApplicationVariant
sınıfındakidex
getter'ı kullanımdan kaldırdı. Artık bir dönüştürme işlemiyle gerçekleştirildiği içinDex
görevine varyant API'si üzerinden erişemezsiniz. Dex sürecini kontrol etmek için şu anda bir alternatif yoktur.- Öğeler için artımlı destek düzeltildi.
- Test projelerinde kullanılabilir hale getirilerek MultiDex desteği iyileştirildi. Ayrıca testler artık otomatik olarak
com.android.support:multidex-instrumentation
bağımlılığına sahip. - Gradle derlemesi eşzamansız görevleri çağırdığında ve çalışan işleminde bir hata oluştuğunda Gradle derlemesinin düzgün şekilde başarısız olmasına ve temel hata nedeninin bildirilmesine olanak tanındı.
- Birden fazla ABI içeren varyantlarda belirli bir Uygulama İkili Arabirimi'ni (ABI) yapılandırma desteği eklendi.
- Testler yüklenirken veya çalıştırılırken
ANDROID_SERIAL
ortam değişkeni için virgülle ayrılmış cihaz seri numaraları listesi desteği eklendi. - APK adında boşluk olduğunda Android 5.0 (API düzeyi 20) ve sonraki sürümleri çalıştıran cihazlarda yükleme hatası düzeltildi.
- Android Öğe Paketleme Aracı (AAPT) hata çıkışı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 instrumenter'ı doğrudan çağırıyor. JaCoCo instrumenter'ın daha yeni bir sürümünü zorlamak için bunu derleme komut dosyası bağımlılığı olarak eklemeniz gerekir.
- JaCoCo desteği, sınıf olmayan dosyaları yoksayacak şekilde düzeltildi.
- Geriye dönük uyumluluk için derleme sırasında PNG oluşturmaya yönelik vektör çizilebilir desteği eklendi.
Gradle için Android eklentisi, bir kaynak dizininde bulunan ve API sürümü belirtmeyen veya uygulama manifestindeki
<uses-sdk>
öğesinde 20 ya da daha düşük birandroid:minSdkVersion
özelliği belirten her vektör çizimi için PNG'ler oluşturur. PNG yoğunluklarını,generatedDensities
özelliğinidefaultConfig
veyaproductFlavor
bölümlerinde kullanarak ayarlayabilirsiniz.build.gradle
- Eklenti tarafından yalnızca bir kez oluşturulan ve birim testi için kullanılan, taklit edilebilir
android.jar
paylaşımı eklendi.app
velib
gibi birden fazla modül artık bu özelliği kullanıyor. Yeniden oluşturmak için$rootDir/build
dosyasını silin. - Java kaynaklarının işlenmesi, APK'nın paketlenmesi sırasında değil, karartma görevlerinden önce yapılacak şekilde değiştirildi. Bu değişiklik, karartma görevlerinin paket karartma işleminden sonra Java kaynaklarını uyarlama şansı elde etmesini sağlar.
- Deneysel kitaplık eklentisinde Java Native Interface (JNI) kodu kullanmayla ilgili bir sorun düzeltildi.
- Deneysel kitaplık eklentisinde platform sürümünü
android:compileSdkVersion
özelliğinden ayrı olarak ayarlama özelliği eklendi.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- Veri bağlama eklentisi, Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje bazındaki
Gradle için Android eklentisi, revizyon 1.3.1 (Ağustos 2015)
Bağımlılıklar:- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Özelleştirilmiş bir dosya adı kullanılırken önceki görevin çıktısını düzgün şekilde kullanmak için ZipAlign görevi düzeltildi.
- Renderscript'in NDK ile paketlenmesi sorunu düzeltildi.
createDebugCoverageReport
derleme görevi için destek devam ettirildi.build.gradle
derleme dosyasındaarchiveBaseName
özelliğinin özelleştirilmiş kullanımı için destek düzeltildi.- Android Studio dışında lint çalıştırılırken parametre yöntemi ek açıklaması araması nedeniyle oluşan
Invalid ResourceType
lint uyarısı düzeltildi. lint
Gradle için Android eklentisi, revizyon 1.3.0 (Temmuz 2015)
Bağımlılıklar:- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
-
com.android.build.threadPoolSize
özelliğininAndroid
görev iş parçacığı havuzu boyutunugradle.properties
dosyasından veya komut satırından kontrol etme 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
veLICENSE.txt
dosyalarını APK'lardan hariç tutacak şekilde ayarlayın. Bu dosyaları bir APK'ya dahil etmek içinbuild.gradle
dosyasındakipackagingOptions.excludes
özelliğinden kaldırın. Örneğin:android { packagingOptions.excludes = [] }
android { packagingOptions.excludes.clear() }
- Mevcut tüm kaynak kümelerini incelemek için
sourceSets
görevi eklendi. - Çoklu lezzet ve
derleme varyantı kaynak klasörlerini tanımak için geliştirilmiş birim testi desteği. Örneğin,
flavor1
veflavorA
gibi çoklu lezzetlere sahip bir uygulamayıDebug
derleme türüyle test etmek için test kaynak kümeleri şunlardır:- test
- testFlavor1
- testFlavorA
- testFlavor1FlavorA
- testFlavor1FlavorADebug
Android testleri, çoklu lezzet kaynak klasörlerini zaten tanıyordu.
- Aşağıdakiler için birim testi desteği iyileştirildi:
javac
özelliğiniz, derleme dosyanızdauseJack
olarak ayarlanmış olsa bile ana ve test kaynaklarındatrue
çalıştırın.- Her derleme türü için bağımlılıkları doğru şekilde tanıyın.
- Komut satırından enstrümantasyon test çalıştırıcı bağımsız değişkenlerini belirtme desteği eklendi.
Örneğin:
./gradlew connectedCheck \ -Pandroid.testInstrumentationRunnerArguments.size=medium \ -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB
build.gradle
dosyasında rastgele ek Android Asset Packaging Tool (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
vetargetVariant
özellikleri kullanılarak ayrı bir test modülü olarak test APK modülü desteği eklendi.Not: Test APK modülü ürün çeşitlerini desteklemez ve yalnızca tek bir varyantı hedefleyebilir. Ayrıca Jacoco henüz desteklenmemektedir.
- Kaynakları birleştirmeden önce kaynak adı doğrulama özelliği 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 kimliklerini eklemek istiyorsanız bu yer tutucu için bir değer sağlayın.
Gradle için Android eklentisi, revizyon 1.2.0 (Nisan 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Genel Notlar:
-
- Gradle ile birim testleri çalıştırma için gelişmiş destek.
- Birim testleri doğrudan Gradle'dan çalıştırılırken Java tarzı kaynakların sınıf yoluna dahil edilmesi için destek eklendi.
- Android Arşivi (AAR) yapıtları için birim testi bağımlılığı desteği eklendi.
unitTestVariants
özelliği için destek eklendi. Böylece birim testi varyantlarıbuild.gradle
dosyası kullanılarak değiştirilebilir.- Birim testi için özelleştirilmiş görevleri yapılandırmak üzere
unitTest.all
kod bloğutestOptions
altına 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österir: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 paketlenmesinde numaralandırılmış değerlerin ve herkese açık örnek alanların işlenmesi düzeltildi.- Kitaplık projesi görev bağımlılıkları düzeltildi. Böylece, değişikliklerden sonra test sınıfları yeniden derleniyor.
- Test APK'sı küçültülürken
testProguardFile
özelliğini ekleyerek ProGuard dosyalarının uygulanması sağlandı. - Android Debug Bridge ekran kaydı için maksimum kayıt süresini ayarlamak üzere
timeOut
kod bloğunaadbOptions
özelliği eklendi. - 280 dpi kaynaklar için destek eklendi.
- Proje değerlendirmesi sırasında performans iyileştirildi.
- Gradle ile birim testleri çalıştırma için gelişmiş destek.
Gradle için Android eklentisi, revizyon 1.1.3 (Mart 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Genel Notlar:
-
- ProGuard hatasına neden olan bir test uygulamasındaki yinelenen bağımlılıklarla ilgili sorun düzeltildi.
- JDK Comparator sözleşmesine uymayan ve JDK 7 hatası oluşturan Comparator uygulaması düzeltildi.
Gradle için Android eklentisi, revizyon 1.1.2 (Şubat 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Genel Notlar:
-
- Birim testi için taklit edilebilir bir JAR oluştururken normalleştirilmiş yol.
build.gradle
dosyasındakiarchivesBaseName
ayarı düzeltildi.- Kitaplık testi uygulaması oluşturulurken manifest birleştirme işleminde çözümlenmemiş yer tutucu hatası düzeltildi.
Gradle için Android eklentisi, revizyon 1.1.1 (Şubat 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Genel Notlar:
-
- Yalnızca Wear uygulaması paketleyen varyantların Wear'a özel derleme görevlerini tetikleyeceği şekilde derleme varyantları değiştirildi.
- Bağımlılıkla ilgili sorunların hata ayıklama zamanında değil, derleme zamanında başarısız olmasına neden olan sorunlar düzeltildi. Bu davranış, çakışmayı çözmenize yardımcı olmak için teşhis görevleri (ör. "bağımlılıklar") çalıştırmanıza olanak tanır.
android.getBootClasspath()
yönteminin değer döndürmesi düzeltildi.
Gradle için Android eklentisi, revizyon 1.1.0 (Şubat 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya sonraki sürümler.
- Build Tools 21.1.1 veya sonraki sürümler.
- Genel Notlar:
-
- Yeni birim testi desteği eklendi
- Popüler sahte çerçevelerle (ör. Mockito) uyumlu olan
android.jar
dosyasının özel bir sürümüne karşı yerel JVM'de çalışacak birim testleri etkinleştirildi. - Ürün çeşitleri kullanılırken yeni test görevleri
testDebug
,testRelease
vetestMyFlavorDebug
eklendi. - Birim testi olarak tanınan yeni kaynak klasörler eklendi:
src/test/java/
,src/testDebug/java/
,src/testMyFlavor/java/
. - Yalnızca test amaçlı bağımlılıkları bildirmek için
build.gradle
dosyasına 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 Compiler Kit) ile uyumlu değildir.
- Mockable android.jar'ın davranışını kontrol etmek için
android.testOptions.unitTests.returnDefaultValues
seçeneği eklendi. - Test görevi adlarındaki
Test
öğesiAndroidTest
ile değiştirildi. Örneğin,assembleDebugTest
görevi artıkassembleDebugAndroidTest
görevi olarak gösteriliyor. Birim testi görevlerinin görev adında hâlâUnitTest
var. Örneğin,assembleDebugUnitTest
. - Test APK'sinde artık geçerli olmayan değiştirilmiş ProGuard yapılandırma dosyaları. Küçültme etkinleştirilmişse ProGuard, test APK'sını işler ve yalnızca ana APK küçültülürken oluşturulan eşleme dosyasını uygular.
- Güncellenen bağımlılık yönetimi
provided
vepackage
kapsamlarının kullanımındaki sorunlar düzeltildi.Not: Bu kapsamlar AAR (Android ARchive) paketleriyle uyumlu değildir ve AAR paketleriyle oluşturulan derlemelerin 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 değiştirilmiş bağımlılık çözümü. Her iki uygulama için de aynı sürüme sahip bir yapı bulunursa bu yapı, test uygulamasına dahil edilmez ve yalnızca test edilen uygulamayla paketlenir. Her iki uygulama için de farklı sürüme sahip bir yapıt bulunursa derleme başarısız olur.
- Kaynak birleştirme işleminde
anyDpi
kaynak niteleyicisi için destek eklendi. - Çok sayıda Android modülü içeren projelerde daha hızlı değerlendirme ve IDE senkronizasyon hızları.
Gradle için Android eklentisi, revizyon 1.0.1 (Ocak 2015)
- Bağımlılıklar:
-
-
Gradle 2.2.1 - 2.3.x
Not: Gradle için Android eklentisinin bu sürümü, Gradle 2.4 ve sonraki sürümleriyle uyumlu değildir.
- Build Tools 21.1.1 veya sonraki sürümler.
-
- Genel Notlar:
-
extractReleaseAnnotations
modülüne erişilirken Gradle derleme hatasıyla ilgili sorun düzeltildi. (81638 numaralı sorun).Disable
'nın--no-optimize
ayarını Dalvik Executable (dex) bayt koduna aktarmasıyla ilgili sorun düzeltildi. (Sorun 82662).- Kitaplıkları 16'dan küçük bir
targetSdkVersion
ile içe aktarırken yaşanan manifest birleştirme sorunları düzeltildi. - Android Studio'yu JDK 8 ile kullanırken yoğunluk sıralamasıyla ilgili sorun düzeltildi.
Gradle için Android eklentisi, revizyon 1.0.0 (Aralık 2014)
- Bağımlılıklar:
-
-
Gradle 2.2.1 - 2.3.x
Not: Gradle için Android eklentisinin bu sürümü, Gradle 2.4 ve sonraki sürümleriyle uyumlu değildir.
- Build Tools 21.1.1 veya sonraki sürümler.
-
- Genel Notlar:
-
- Eklentinin ilk sürümü.