Aşağıda, Android Studio 3.6 ve önceki sürümlerinin, 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 Sürüm Güncellemeleri 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 Sürüm Güncellemeleri 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 Sürüm Güncellemeleri 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 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, aramalarda yalnızca seçili modüldeki sonuçlar gösteriliyordu.
- 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 Yeniden düzenle > Hazır Uygulama Desteğini Etkinleştir'i 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 gibi 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. Bu eşlemeyi, yönetilen kaynak kodu dosyasındaki satır numarasının yakınında bulunan C veya C++ öğe işaretçisinin üzerine gelerek 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 uygulamalara sahip 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'e ait 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 aracında 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 edilmiş 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'e ait 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 aracında 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 edilmiş 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
Fragmentoluşturuldu ancak henüz kullanılmadı. Fragment,FragmentTransaction'nin parçası olarak değil, ö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, Android Emulator 29.2.7 ve sonraki sürümlerde yer alan çeşitli güncellemelerden yararlanmanıza yardımcı olur. Bu güncellemeler aşağıda açıklanmıştır.
İ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.
Tekil 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:
-
Hazır 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 File > New > New Module'u (Dosya > Yeni > Yeni Modül) ve Automotive Module'u (Otomotiv Modülü) 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 1.024 x 768 piksel 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 senkronizasyon performansını artırmak için File > Settings > Experimental'a (Dosya > Ayarlar > Deneysel) gidin ve Gradle senkronizasyonu sırasında Gradle görev listesi oluşturma'yı seçin.
Bu seçeneği etkinleştirdiğinizde Android Studio, senkronizasyon sırasında görev listesini oluş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, IntelliJ IDEA'daki iyileştirmelerle 2019.2 sürümü aracılığıyla 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 üç temel 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 Sürüm Güncellemeleri 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 Sürüm Güncellemeleri 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 oluşturmak 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. Bu işlemi 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. Derleme performansını artırmak için ayarlamalar yapılabildiğinde Android Studio sizi bilgilendirir ve antivirüs yapılandırmanızı nasıl optimize edeceğinizle ilgili talimatlar sağlar. Daha fazla bilgi 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ği zamanları 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.
Android Gradle eklentisi gibi diğer bileşenlerden bağımsız olarak IDE'yi 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, mavi bir kaplama artık kısıtlamanın hedefini vurguluyor. 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 iyileştirilmiş 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 için Derleme varyantını değiştirme başlıklı makaleyi inceleyin.
ABI tarafından tek varyant seçimi yapılan Build Variants 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'nın 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 ve Acer Chromebook 13/Spin 13 gibi ChromeOS cihazları resmi olarak destekliyor. Diğer cihazlar hakkında sistem gereksinimleri bölümünde 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 inceleyin.
Ö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 isteyebilir. Daha fazla bilgi edinmek için Koşullu teslimatı yapılandırma başlıklı makaleyi inceleyin.
IntelliJ IDEA 2019.1
Android Studio IDE'nin temelinde, IntelliJ IDEA'daki 2019.1 sürümünden itibaren tema özelleştirme gibi iyileştirmeler yapıldı.
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 Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.4.1 (Mayıs 2019)
Bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.4.0 sürümüyle ilgili bilinen sorunlar
Uygulamanızı Android Q Beta çalıştıran bir cihaza dağıtırken profilleme 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 dahil edilecek 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ş bazı bölümlerinin 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ümlenen 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 birçok işlem 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'ı (Çizilebilir öğeleri içe aktar) seçin.
-
SVG'leri
VectorDrawablenesnelerine dönüştürme: SVG resimleriniziVectorDrawablenesnelerine 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 Düzen Düzenleyici'nin hem tasarım hem de XML görünümlerine sürükleyip bırakabilirsiniz.
- Alternatif sürümleri görüntüleme: Artık Araç 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
.soAPK'nızdaki paylaşılan kitaplıklar için hata ayıklama simgesi dosyaları sağladığınızda Android Studio, sağlanan simge dosyalarının derleme kimliğinin, .soAPK'daki 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 eşleşme olmaması durumunda 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 sürümleri kullanan hem uygulama hem de Android kitaplık projelerinde varsayılan olarak etkinleştirildi.
Aşağıdaki resimde, R8 kullanıma sunulmadan önceki derleme sürecine genel bir bakış verilmektedir.

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ı öğrenmek için R8 uyumluluğuyla ilgili SSS bölümü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 uygulamanızın kodunu bu derleme türü için 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 yeni bir niyet işlemi, gerekli Gradle kitaplığı bağımlılığını henüz yapmadıysanız 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 Sürüm Güncellemeleri 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 yüklemesi bulunamayan Android Studio sürümlerinin önbelleklerini, ayarlarını, dizinlerini ve günlüklerini içeren dizinleri arar. Ardından 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ümlerin yüklü olduğu 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ı görebileceğinizi unutmayın.
-
Ö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ırma 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ürsünüz.

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 kullanılarak 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 kontrolleri listeye ekleyip Uygula'yı tıklayın.
Clang-Tidy'yi ek seçeneklerle yapılandırmak için Clang-Tidy Kontrol 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 birlikte "+" 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 sunarak Android App Bundle 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 ekler:
<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 General > Deploy as instant app (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 süreç büyük projeler için 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 eklentisinin 3.3.0 veya sonraki bir sürümüyle birlikte 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 > 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ına olanak tanıyan kullanım istatistikleri 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ı
typeolarak 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.
SliceProvidereklenmesi,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'ya 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'ı
renderscriptSupportModeEnabledtrueolarak ayarlanmış şekilde kullanırken her modülünbuild.gradledosyası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ı makaleyi inceleyin.
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:trueolarak ayarlandığında bu işaret, bundan sonra AndroidX'i kullanmaya başlamak istediğinizi gösterir. İşaret yoksa Android Studio, işaretfalseolarak ayarlanmış gibi davranır.android.enableJetifier:trueolarak 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şaretfalseolarak 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şlevselliği ve içeriği 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ı kullandığınızdan emin olmanızı 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 oturum olarak kaydedip daha sonra tekrar ziyaret edebilir ve inceleyebilirsiniz. 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 profil oluşturucu zaman çizelgesinde önemli kod rutinlerini görsel olarak işaretleyebilirsiniz.
Bellek Profil Oluşturucu'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 profiler'ın Oturumlar bölmesinde Yeni profiler 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 bellek profiler'ında 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 Profiler 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 tanımlamanıza 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ışabilirliği 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 Slice'a 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 seviyesi 28) ile çalışması için hizmet 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. Lint, 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 etkin ve V1 ile uyumlu. 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'in kullanıldığı projelerde V2 ile derlenen bağımlılıkların kullanılamayacağı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ğıdaki kodu 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 IntelliJ'in kodu yeniden biçimlendirme seçeneğini kullanarak CMake derleme komut dosyalarınıza kod stilleri uygulayabilirsiniz.
- 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ık 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 build.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() } }
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
argümanını iletmiyor.
ADB Connection Assistant
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 istediğiniz zaman bir AVD'nin (Android sanal cihaz) anlık görüntülerini kaydedip yükleyebilir, böylece test için emüle edilmiş bir cihazı bilinen bir duruma döndürmek hızlı ve kolay hale gelir. 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* artifactsile 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ğindenVerifyErrorile kilitlenmeye neden oluyordu:invoke-super/virtual can't be used on private method -
Veri bağlama derleyicisi,
com.android.tools:annotationsöğesinin 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 hatalara yönelik düzeltmeleri 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_DEXOPThatası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
ProcessCanceledExceptionsınıf başlatma sırasındacom.intellij.psi.jsp.JspElementTypehatası veriyordu.
3.1.2 (Nisan 2018)
Android Studio 3.1'deki bu güncelleme, aşağıdaki hatalara yönelik düzeltmeleri 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.gradledosyası 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 çok daha hızlı çalışmasını sağlayan değişiklikleri de içerir.
3.1.1 (Nisan 2018)
Android Studio 3.1'deki bu güncelleme, aşağıdaki hatalara yönelik düzeltmeleri 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ı.
-
compilebağımlılık yapılandırmasının desteğinin sonlandırılmasıyla ilgili uyarı,implementationveapiyapılandırmalarıyla ilgili daha iyi yönergelerle güncellendi.compileyapılandırmasını kullanmayı bırakma hakkında ayrıntılı bilgi için yeni bağımlılık yapılandırmalarıyla ilgili dokümanlara 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:
Queryiç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 bildirgesine 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
LiveDatanesnesini kullanabilirsiniz.ViewDataBindingsınıfı artıksetLifecycle()yöntemini içeriyor. Bu yöntemiLiveDatanesnelerini gözlemlemek için kullanabilirsiniz. -
ObservableFieldsınıfı artık oluşturucusunda diğerObservablenesnelerini 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:
-
ViewBindingsı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ı büyük ö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ı desugaring
Java 8 dili özelliklerini kullanan projelerde, derleme sürelerini iyileştirebilecek artımlı desugaring 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 (Derleme) 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 çalışıyor. 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 performans açısından 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 oluşturma ve senkronize etme 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ışıyor.
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ü bulunur.
Kotlin kodu artık komut satırı lint kontrolüyle analiz ediliyor
Komut satırından lint ç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 izlemelerini, bellek ayırma sonuçlarını ve yığın dökümlerini filtreleme
CPU Profiler ve Memory Profiler, bir yöntem izlemesi, bellek ayırmaları veya yığın dökümü kaydından elde edilen sonuçları 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 sağlıyordu.
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ı arası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ümün yakınındaki öğeler için kolayca kısıtlamalar oluşturabilirsiniz.
Çalıştır ve Anında Çalıştır
Dağıtım hedefi seçin iletişim kutusundaki Gelecekteki lansmanlar için 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 ilk kez kullandığınızda açılır.
Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihazı hedeflediğinizde, Instant Run, kaynaklardaki değişiklikleri uygulamayı yeniden başlatmaya gerek kalmadan dağıtabilir. Bunun nedeni, kaynakların bölünmüş bir APK'da yer almasıdır.
Emülatör
Android Studio 3.0'dan beri 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çlarla ilgili 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" şeklinde 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 derleyicisi 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.
ndkCompilekullanımı artık daha kısıtlı. Bunun yerine, paketlemek istediğiniz yerel kodu APK'nızda derlemek için CMake veya ndk-build'i 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 Gradle eklentisi 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çerir.
Java dosyasını Kotlin'e dönüştürerek (Code > Convert Java File to Kotlin File (Kod > Java Dosyasını Kotlin Dosyasına Dönüştür) seçeneğini 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ır ve uygulamanızın CPU, bellek ve ağ kullanımını gerçek zamanlı olarak ölçmek için yeni bir araç paketi sunar. 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 anlamak için daha fazla bağlam bilgisine sahip olursunuz.
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 dalgalanmalarını 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 Hoş Geldiniz ekranında Profile or debug APK'yı (APK'ya profil oluşturma veya APK'da hata ayıklama) tıklayın. 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 Kılavuzu'na bakın.
Hazır Uygulamalar desteği
Android Anında Uygulamaları için yeni destek sayesinde, projenizde iki yeni modül türü (Anında Uygulama modülleri ve Özellik modülleri) kullanarak Anında Uygulamalar oluşturabilirsiniz. Bu modüller 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 ekleneceğ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
App Links Assistant aşağıdaki yeni özelliklerle güncellendi:
-
Niyet filtrelerinizin gerçek dünya URL'lerini 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, intent 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 intent 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 simgeler.
- 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 (varsa) birlikte tüm sorunları gösteren yeni hata paneli.
ConstraintLayoutile 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 üzeri sürümler 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 Görüntüleyici 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'da D8 adlı isteğe bağlı yeni bir DEX derleyicisi bulunur. Bu derleyici, DX derleyicisinin yerini alacak ancak yeni D8 derleyicisini hemen kullanmayı tercih edebilirsiniz.
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ümlerindeki Java 8 dilini yeniden düzenleme, parametre ipuçları, semantik vurgulama, sürükleyerek taşınabilen kesme noktaları ve aramadaki anlık sonuçlar gibi birçok yeni özellik bulunuyor.
- 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ü olsa da 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, aşağıdaki değişiklikler için Android Studio 2.3'teki 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 dışı 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 için tam yeniden derleme yapılana kadar çizilebilir öğelerdeki değişiklikler yansıtılmaz. (Hata: #21530)
- Özel sourceSet'ler 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ıfta enum değeri içeren bir açıklama varsa 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ını inceleyin.
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 dil özelliklerini kullanmak istiyorsanız uygulamanızı oluşturmak için Android Studio 2.1'i kullanmanız gerekir.
Not: Instant Run, 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 derlemesi ve dexing-in-process dahil olmak üzere 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ü çalıştıran bir hedef cihaz gerekir).
- Anında Çalıştırma hakkında daha fazla bilgi edinmek için dokümanları okuyun.
Not: Anında Çalıştırma yalnızca hata ayıklama derleme varyantını dağıttığınızda, Gradle için Android eklentisinin 2.0.0 veya sonraki bir sürümünü kullandığınızda ve uygulamanızın modül düzeyindeki
build.gradledosyasınıminSdkVersion 15veya sonraki bir sürüm için yapılandırdığınızda desteklenir. En iyi performans için uygulamanızıminSdkVersion 21veya ü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
@IntDefaçıklama eklenmiş tam sayıları kullanarakswitchifadelerinin 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.gradledosyasına sürüm numaralarını eklemek için dize enterpolasyonu kullanma girişimleriyle ilgili hataları işaretler.Fragmentsınıfını genişleten anonim sınıflar için işaretler.- Güvenli olmayan konumlardaki yerel kodlarla ilgili işaretler (ör.
res/veasset/klasörleri). 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: #169950 Runtime.load()veSystem.load()aramalarıyla ilgili güvenli olmayan aramalar için işaretler. 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ı,
.htmlresim referansları gibi ham dosyalardaki referansları ve Gradle kaynak küçültücü tarafından kullanılantools:keepvetools: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,
minSdkVersiontarafından hedeflenen tüm platformlarda desteklendiğini kontrol eder. RecyclerViewveParcelableöğelerinin uygunsuz kullanımını işaretler.@IntDef,@IntRangeve@Sizeincelemelerinde artıkintdizileri ve varargs da kontrol ediliyor.
Ek İyileştirmeler:
- Android Emulator 2.0 için optimize edilmiştir. Bu sürüm, her zamankinden daha hızlıdır, daha geniş bir sanal cihaz yelpazesini 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 Uygulamaları 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 App Indexing'i destekleme başlıklı makaleyi inceleyin.
- 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 seçeneğinin 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 1.5.1 sürümü (Aralık 2015)
Düzeltmeler ve geliştirmeler:
- Düzen Düzenleyici'de oluşturma hatası sorunu düzeltildi. Sorun: 194612
descriptionManifest ö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 1.5.0 sürümü (Kasım 2015)
Düzeltmeler ve geliştirmeler:
- Android Monitor'a yeni bellek izleme analiz yetenekleri 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.xmldosyası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. Androidlintaracında artık derin bağlantılar ve uygulama dizine ekleme API'si ile ilgili belirli sorunlar için uyarılar gösteriliyor. - Kod düzenleyicide özel görünümlerin kodunu 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
lintkontrolleri 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.xmldosyanızdan referans verilen tanımlayıcı dosyasında doğru kullanımı doğrulayabilir,MediaBrowserServicesı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,
lintveSSLCertificateSocketFactorysınıfı kullanımları ileFile.setReadable()veFile.setWritable()çağrıları için yeniHostnameVerifierkontrolleri 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 1.4.1 sürümü (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üzenleyicinin performansı iyileştirildi.
- Manifest dosyasında
android:requiredözelliğinin yoksayılmasına neden olan sorun düzeltildi. Sorun: 187665
Android Studio 1.4.0 sürümü (Eylül 2015)
Düzeltmeler ve geliştirmeler:
- Materyal simgeleri ve SVG dosyaları gibi vektör grafiklerini içe aktarmak için Vektör Öğesi 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, Android Monitor ile aynı anda çalışamaz.
- 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ığı'ndaki Android şablonları güncellendi. Şablonlar artık Material Design spesifikasyonu ve geriye dönük uyumluluk için
appcompatDestek Kitaplığı'nı destekliyor.
Android Studio 1.3.2 sürümü (Ağustos 2015)
Düzeltmeler ve geliştirmeler:
- Yeni simgeler ve yeni ekran yoğunluklarına sahip cihazlar oluşturmak için AVD Manager desteği de dahil olmak üzere Android 6.0 (API düzeyi 23) desteği eklendi.
- Güncelleme kontrolleri sırasında oluşan istisna düzeltildi. Sorun: 183068
- Çözümlenmemiş görünüm koordinatlarının düzen düzenleyicinin 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 1.3.1 sürümü (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 izin vermek için 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 1.3.0 sürümü (Temmuz 2015)
Düzeltmeler ve geliştirmeler:
- Android Studio'dan çıkmadan uygulamanızda Google AdMob ve Analytics gibi geliştirici hizmetlerini etkinleştirme seçenekleri eklendi.
@RequiresPermission,@CheckResultsve@MainThreadgibi 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
fingerkomutu eklendi. Bu komut, parmak izi kimlik doğrulamasını simüle etmek için kullanılır. - 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 1.2.2 sürümü(Haziran 2015)
Düzeltmeler ve geliştirmeler:
- Derlemelerin tamamlanmasını engelleyen derleme sorunları düzeltildi.
Android Studio 1.2.1 sürümü (Mayıs 2015)
Düzeltmeler ve geliştirmeler:
- Küçük performans ve özellik sorunları düzeltildi.
Android Studio 1.2.0 sürümü (Nisan 2015)
Düzeltmeler ve geliştirmeler:
- Android çalışma zamanı penceresi, Bellek İzleyici aracını içerecek şekilde güncellendi ve CPU performansı izleme için bir sekme eklendi.
- CPU yöntemi izleme ve bellek yığını anlık görüntüleri gibi yakalanan bellek ve CPU performans 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 geçici 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 çözücüsü 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 1.1.0 sürümü (Ş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/mipmapklasörleri içerecek şekilde değiştirildi. Bures/mipmapklasörler, başlatıcı simgeleri içinres/drawableklasörlerinin yerini alır. - Başlatıcı simgeleri Materyal Tasarım görünümüne sahip olacak şekilde güncellendi ve
xxxhdpibaş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 iyileş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.
- Android Studio ve Android SDK'nın Windows sistemlerinde farklı sürücülere yüklenmesi durumunda 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 0.8.0 sürümü (Haziran 2014)
Android Wear projeleri için destek eklendi.
Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio 0.5.2 sürümü (Mayıs 2014)
- Değişikliklerin tam listesi için tools.android.com adresini ziyaret edin.
Android Studio 0.4.6 sürümü (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 0.2.x sürümü (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> projesi 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.zipAlignkullanı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ümlendi.
- Kitaplık projesi testlerinin, kitaplığın tüm bağımlılıklarını düzgün şekilde içerecek şekilde bağımlılığı 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ı göstermiyor. Bunun yerine gerçek kaynak konumlarına yönlendiriyor.
- Paralel derlemeler. Artık Gradle'ın paralel derlemelerini kullanabilirsiniz. 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ı olmayan bir kitaplığı kullanma). Kaynak XML doğrulama 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, ters kaynak yer paylaşımı sırasına göre listelenir. Maskelenen dize sürümlerinin üzeri çizilir.
- 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, XML ve Unicode kaçışlarını düzgün şekilde işlemek için XML oluşturma düzeltmeleri.
- Düzen önizleme 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 Derleme Araçları 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.
Bağlama görüntüleme
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 inceleyin.
Maven Publish eklentisi için destek
Android Gradle eklentisi, derleme yapılarını bir Apache Maven deposunda yayınlamanıza olanak tanıyan Maven Publish Gradle eklentisi için destek içerir. Android Gradle eklentisi, uygulamanızdaki veya kitaplık modülünüzdeki her derleme varyantı yapıtı için bir bileşen oluşturur. Bu bileşeni, bir yayını Maven deposunda özelleştirmek için kullanabilirsiniz.
Daha fazla bilgi için Maven Publish eklentisini kullanma başlıklı sayfayı inceleyin.
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ı beklendiğiniz gibi çalışmıyorsa lütfen hata bildirin. gradle.properties dosyanıza aşağıdakileri ekleyerek eski paketleme aracını kullanmaya geri dönebilirsiniz:
android.useNewApkCreator=false
Yerel derleme ilişkilendirmesi
Artık Clang'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=trueişaretini ekleyin. Örneğin:gradlew assembleDebug -Pandroid.enableProfileJson=true -
Chrome tarayıcıyı açın ve arama çubuğuna
chrome://tracingyazın. -
Yükle düğmesini tıklayın ve dosyayı bulmak için
<var>project-root</var>/build/android-profilebö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 paketlenir. Bu durum, yükleme boyutunun daha büyük olmasına neden olsa da kullanıcılarınız aşağıdaki avantajlardan yararlanır:
- Platform, yerel kitaplıklara doğrudan yüklü APK'dan erişebildiği için kitaplıkların kopyasını oluşturmadan daha küçük bir uygulama yükleme boyutu elde edilir.
- 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, projenizdeki her kitaplık modülü için yalnızca bir R sınıfı oluşturarak ve bu R sınıflarını diğer modül bağımlılıklarıyla paylaşarak derleme sınıf yolunu basitleştirir. Bu optimizasyon 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ığı
implementationbağı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 bu kaynağı artık 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 ek açıklamalar için CLASS saklama politikasına uyuyor
D8, uygulamanızı derlerken artık ek açıklamaların CLASS saklama politikasını uyguladığı durumları 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 izin veriyordu.
Diğer davranış değişiklikleri
-
aaptOptions.noCompressartık tüm platformlarda (hem APK hem de paketler için) büyük/küçük harfe duyarlı değildir ve büyük harfli karakterlerin kullanıldığı yollara saygı gösterir. -
Veri bağlama artık varsayılan olarak artımlı. Daha fazla bilgi 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
connectedAndroidTestgörevlerini birden fazla modülde ç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ş çalışması
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 bildirildi ve Android Gradle eklentisi 4.0'da düzeltilecek.
Manifest sınıfı eksik {:#agp-missing-manifest}
Uygulamanız manifest dosyasında özel izinler tanımlıyorsa Android Gradle eklentisi genellikle özel izinlerinizi dize sabitleri olarak içeren bir Manifest.java sınıfı oluşturur. Eklenti, bu sınıfı uygulamanızla birlikte paketler. Böylece, 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ı görebilirsiniz. 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 Marble Projesi'nin önemli bir sürümü ve sonucudur: 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 Derleme Araçları 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 Release Updates blogundaki ilgili yayını okuyun.
Artımlı ek açıklama işleme
Data Binding
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, kapt.incremental.apt=true'ı gradle.properties dosyanıza ekleyerek etkinleştirebileceğiniz artımlı ek açıklama işleyicilerini de destekler.
Ö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 yeniden konumlandırılabilirliğ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 arka plan programı 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.propertiesdosyasında Gradle arka plan programı yığın boyutunu belirtin. -
SDK Derleme Araçları 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 Release Updates 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 Release Updates blogundaki ilgili yayını okuyun.
Yeni özellikler
-
Yeni lint kontrolü bağımlılığı yapılandırmaları:
lintChecksdavranışında değişiklik yapıldı ve Android kitaplıklarınıza hangi lint kontrollerinin dahil edileceği konusunda daha fazla kontrol sahibi olmanızı sağlamak içinlintPublishadlı 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 öncelintChecksbağımlılık yapılandırmasını kullanıyorsanız bu bağımlılıkları taşıyarak bunun yerine aşağıda açıklanan yenilintPublishyapı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, kitaplığınızı kullanan projelerin de bu lint kontrollerini uyguladığı anlamına gelir.
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.featureeklentisini kullanıyorsanız Android Gradle eklentisi 3.4.0 size desteğin sonlandırılmasıyla ilgili bir uyarı gösterir. 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, desugaring, küçültme, karartma, optimizasyon ve dexing işlemlerini tek bir adımda entegre ederek 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 etkinleştirildi.
Aşağıdaki resimde, R8 kullanıma sunulmadan önceki derleme sürecine genel bir bakış verilmektedir.
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 bölümü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.
-
ndkCompiledesteği sonlandırıldı: Artık yerel kitaplıklarınızı derlemek içinndkBuildkullanmaya ç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.propertiesdosyanıza ekleyerek projenizin kabul edilebilir paket adları bildirip bildirmediğini kontrol etmeyi etkinleştirebilirsiniz.android.uniquePackageNames = trueAndroid 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 arka plan programı 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.propertiesdosyasında Gradle arka plan programı yığın boyutunu belirtin. -
SDK Derleme Araçları 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 Release Updates 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.
-
Ek açıklama işleyicileri kullanılırken artımlı Java derlemesi iyileştirildi: Bu güncelleme, ek açıklama işleyicileri kullanılırken artımlı Java derlemesi desteğini iyileştirerek derleme süresini kısaltır.
Not: Bu özellik, Gradle sorunu 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 hibrit 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.propertiesdosyanıza aşağıdaki işareti ekleyebilirsiniz:android.enableSeparateAnnotationProcessing=trueBu 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 artık daha ayrıntılı bilgiler sağlayabilir. Ek bilgileri görmek için projenizin
gradle.propertiesdosyasına aşağıdakileri eklemeniz gerekir:android.debug.obsoleteApi=trueAyrıca komut satırından
-Pandroid.debug.obsoleteApi=trueileterek 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" 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'sindeki
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 üzerevariant.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 falseayarlanırken eklenti artık uygulamanızın kodunu ve kaynaklarını küçültüp 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: Daha önce Android Gradle eklentisi, projenizin her bağımlılığı için bir
R.javadosyası oluşturur ve ardından bu R sınıflarını uygulamanızın diğer sınıflarıyla birlikte derlerdi. Eklenti artık önce araR.javasınıflarını oluşturmadan uygulamanızın derlenmiş R sınıfını içeren bir JAR'ı doğrudan 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 varsayılan olarak yerel kitaplıklarınızın sıkıştırılmamış sürümlerini içeriyor. Bu optimizasyon, cihazın kitaplığın bir kopyasını oluşturmasını önler ve böylece uygulamanızın diskteki boyutunu küçültür. Bu optimizasyonu devre dışı bırakmayı tercih ederseniz
gradle.propertiesdosyanı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 eklentisinin 3.3.0 veya sonraki bir sürümüyle birlikte Android Studio 3.3 veya 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 (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 Eksik paketleri Gradle ile 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.jardahil olmak üzereandroidx-rs.jarnedeniyle oluşan çakışmalarannotation.AnyRes - RenderScript kullanırken artık
build.gradledosyaları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 Derleme Araçları 28.0.3 veya daha yeni bir sürüm.
3.2.1 (Ekim 2018)
Bu güncelleme ile birlikte, SDK Derleme 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.
-
Ek açıklama işleyicileri kullanılırken artımlı derleme hızlarının iyileştirilmesi için destek:
AnnotationProcessorOptionsDSL artıkCommandLineArgumentProvider'yi genişletiyor. Bu sayede, artımlı derleme özelliği türü ek açıklamalarını kullanarak işleyici için bağımsız değişkenlere ek açıklama ekleyebilirsiniz. Bu ek açıklamaların kullanılması, 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.propertiesdosyanızda aşağıdaki işaretler detrueolarak ayarlanır:-
android.useAndroidX:trueolarak ayarlandığında Android eklentisi, Destek Kitaplığı yerine uygun AndroidX kitaplığını kullanır. Bu işaret belirtilmediğinde eklenti varsayılan olarakfalsedeğerini ayarlar. -
android.enableJetifier:trueolarak 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 olarakfalsedeğerini ayarlar. Bu işareti yalnızcatrueolarak ayarlayabilirsiniz.android.useAndroidXdatrueolarak 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.propertiesdosyası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()bağımlılığınınbuild.gradledosyanızda bulunduğundan emin olun (aşağıda gösterildiği gibi):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=21veya sonraki sürümleri hedefleyen tüm modüller için yerel çoklu dex'i etkinleştirir. -
Eklenti artık protobuf eklentisi (0.8.6), Kotlin eklentisi (1.2.50) ve Crashlytics eklentisi (1.25.4) için minimum sürüm koşulu uyguluyor.
-
Ö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ız tire içeriyorsa 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ülleri için derlemeyi daha iyi önleme. (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 kullanan derleme araçları için artık bir sürüm belirtmeniz gerekmediğini unutmayın. Eklenti, varsayılan olarak gereken minimum sürümü kullanır.
Yeni DEX derleyicisi D8
Android Studio artık varsayılan olarak D8 adlı yeni bir DEX derleyicisi 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. Projenizin gradle.properties dosyasına aşağıdakileri ekleyerek D8'i geçici olarak devre dışı bırakabilir ve DX'i kullanabilirsiniz:
android.enableD8=false
Java 8 dili özelliklerini kullanan projelerde
artımlı desugaring varsayılan olarak etkindir. Projenizin gradle.properties dosyasında aşağıdakileri belirterek bu özelliği devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false.
Önizleme kullanıcıları: D8'in önizleme sürümünü kullanıyorsanız 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,mips64vearmeabi.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.gradledosyanızda aşağıdaki gibi belirtmeniz gerekir:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Android eklentisinin derleme önbelleği artık 30 günden eski önbellek girişlerini çıkarıyor.
-
"auto"öğesiniresConfig'a aktarmak 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,
androidTestImplementationyerineandroidTestApiyapı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.
- Tek bir derlemede Android eklentisi birden çok kez yüklendiğinde (ör. birden fazla alt proje, Android eklentisini buildscript classpath'lerine dahil ettiğinde) proje senkronizasyonu 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 dk. | ~9 sn. | ~2,5 sn. |
| 1 satırlık Java değişikliği (uygulama değişikliği) | ~2 dk. 15 sn. | ~29 sn | ~6,4 sn |
Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma çabasını göz önünde bulundurmanız gerekir.
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ümler. 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.buildToolsVersionmü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.
- Gradle, bağımlılıkta değişiklik yaparken 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,
minSdkVersiondeğ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=falsedeğerinigradle.propertiesdosyanızda ayarlayıp Gradle daemon'ı komut satırından./gradlew --stopkomutunu çalıştırarak yeniden başlatarak da AAPT2'yi devre dışı bırakabilirsiniz.
Yeni özellikler
- Varyantlara 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.executioneklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibiANDROID_TEST_ORCHESTRATORbelirtmeniz gerekir. Bu özellik varsayılan olarakHOSTolarak 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
androidTestUtilbağı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ğitrueolarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemlerini 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 tam 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: Birleştirilmiş kaynaklar dizininin mutlak yolu. Bu dizin, modüldeki ve tüm bağımlılıklarındaki tüm kaynakları içerir. -
android_custom_package: Son R sınıfının paket adı. Uygulama kimliğini dinamik olarak değiştirirseniz bu paket adı, uygulamanın 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
lintChecksbağı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
compileOnlybağımlılıklarını içeren ayrı bir projeye ait olmalıdır. Diğer uygulama ve kitaplık modülleri,lintChecksyapı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
buildTypesbloğ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
annotationProcessorbağımlılık yapılandırmasını kullanarak işleyici sınıf yoluna ek açıklama işleyicileri 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 dk. | ~9 sn. | ~2,5 sn. |
| 1 satırlık Java değişikliği (uygulama değişikliği) | ~2 dk. 15 sn. | ~29 sn | ~6,4 sn |
Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma çabasını göz önünde bulundurmanız gerekir.
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ümler. 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.buildToolsVersionmü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.
- Gradle, bağımlılıkta değişiklik yaparken 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,
minSdkVersiondeğ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=falsedeğerinigradle.propertiesdosyanızda ayarlayıp Gradle daemon'ı komut satırından./gradlew --stopkomutunu çalıştırarak yeniden başlatarak da AAPT2'yi devre dışı bırakabilirsiniz.
Yeni özellikler
- Varyantlara 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.executioneklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibiANDROID_TEST_ORCHESTRATORbelirtmeniz gerekir. Bu özellik varsayılan olarakHOSTolarak 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
androidTestUtilbağı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ğitrueolarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemlerini 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 tam 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: Birleştirilmiş kaynaklar dizininin mutlak yolu. Bu dizin, modüldeki ve tüm bağımlılıklarındaki tüm kaynakları içerir. -
android_custom_package: Son R sınıfının paket adı. Uygulama kimliğini dinamik olarak değiştirirseniz bu paket adı, uygulamanın 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
lintChecksbağı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
compileOnlybağımlılıklarını içeren ayrı bir projeye ait olmalıdır. Diğer uygulama ve kitaplık modülleri,lintChecksyapı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
buildTypesbloğ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
annotationProcessorbağımlılık yapılandırmasını kullanarak işleyici sınıf yoluna ek açıklama işleyicileri 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 yapılan küçük bir güncellemedir. Bazı fiziksel Android cihazların Instant Run ile düzgün çalışmamasına neden olan bir sorun düzeltilmiştir (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ılır. Bu sürümde performans iyileştirmeleri ve yeni özellikler yer alır. Daha fazla bilgi için Gradle sürüm notlarını inceleyin.
- Derleme önbelleği: Android eklentisinin projenizi derlerken oluşturduğu belirli çıktıları (ör. paketlenmemiş AAR'ler ve dex'e dönüştürülmüş 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
cleanBuildCachegörevi içerir. - Yapı önbelleğinin deneysel sürümünü kullanıyorsanız (eklentinin önceki sürümlerinde bulunur) eklentinizi en son sürüme 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 arka plan programı 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ını inceleyin.
- 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 Eksik paketleri Gradle ile otomatik olarak indirme başlıklı makaleyi inceleyin.
- Yeni bir deneysel önbelleğe alma özelliği Gradle'ın kitaplıklarınızı dex'e dönüştürerek, depolayarak ve kitaplıklarınızın dex'e dönüştürülmüş sürümlerini 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 Derleme Önbelleği kılavuzunu inceleyin.
- Sıkıştırma, imzalama ve zipaligning işlemlerini tek bir görevde gerçekleştiren yeni bir varsayılan paketleme ardışık düzeni kullanılarak derleme performansı iyileştirilir.
gradle.propertiesdosyanızaandroid.useOldPackaging=trueekleyerek eski paketleme araçlarını kullanmaya geri dönebilirsiniz. Yeni paketleme aracı kullanılırkenzipalignDebuggörevi kullanılamaz. Ancak,createZipAlignTask(String taskName, File inputFile, File outputFile)yöntemini çağırarak kendiniz oluşturabilirsiniz. - APK imzalama artık geleneksel JAR imzalama yöntemine ek olarak APK İmza Şeması v2'yi kullanıyor. Tüm Android platformları, ortaya çıkan 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.gradledosyanıza aşağıdakileri ekleyin:Groovy
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- Multidex derlemelerinde artık Gradle'ın uygulamanızın main DEX dosyasına hangi sınıfları 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.multiDexKeepProguardkullanarak 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.proguardFileskullanımından farklıdır. - Uygulamanızı bir cihaza yüklediğinizde boyutunu küçültebilen
android:extractNativeLibsişaretinin desteği eklendi. Uygulama manifestinizin<application>öğesinde bu işaretifalseolarak 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 avantajını da sunar. - Artık ürün türleri için
versionNameSuffixveapplicationIdSuffixözelliklerini belirtebilirsiniz. (59614 numaralı sorun)
- Değişiklikler:
-
-
getDefaultProguardFileartı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,trueolarak ayarlandığında Jacoco test kapsamını destekliyor. - Ek açıklama işleyicileri için destek iyileştirildi. Sınıf yolunuzdaki ek açıklama işleyicileri (ör.
compilebağımlılıkları) derlemenize otomatik olarak uygulanır. Ayrıca, derlemenizde bir ek açıklama işleyicisi belirtebilir ve modül düzeyindekibuild.gradledosyanı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şleyicisi uygulamak ancak bunu APK'nıza dahil etmek istemiyorsanız
annotationProcessorbağı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 arka plan programının yığın boyutu en az 1,5 GB ise Jack artık Gradle ile aynı işlemde çalışır. Arka plan programı yığın boyutunu ayarlamak için
gradle.propertiesdosyanı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 edinmek 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.gradledosyanı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, yalnızca artımlı derlemeleri hızlandırmakla kalmaz, aynı zamanda tam derlemeleri de hızlandırır. Bu özellik, Gradle arka plan programının maksimum yığın boyutunu en az 2048 MB olarak ayarlayan projelerde varsayılan olarak etkindir. Bunu, projenizin
```none org.gradle.jvmargs = -Xmx2048m ```gradle.propertiesdosyasına aşağıdakileri ekleyerek yapabilirsiniz:Modül düzeyindeki
```none org.gradle.jvmargs = -Xmx3072m ```build.gradledosyanızdajavaMaxHeapSizeiçin bir değer tanımladıysanızorg.gradle.jvmargsdeğerinijavaMaxHeapSize+ 1024 MB olarak ayarlamanız gerekir. Örneğin,javaMaxHeapSizedeğerini "2048m" olarak ayarladıysanız projenizingradle.propertiesdosyasına aşağıdakileri eklemeniz gerekir:İşlem içi dex oluşturmayı devre dışı bırakmak için aşağıdaki kodu modül düzeyindeki
build.gradledosyanıza 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 edinmek 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 sürümler.
- 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
maxProcessCounteklendi. Modül düzeyindekibuild.gradledosyası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ış:
-
minSdkVersion18 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 bazlı
build.gradledosyasına aşağıdaki kodu ekleyin: - Üçüncü taraf eklentilerinin, derlenmiş
.classdosyalarını.dexdosyaları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çinTransformarayü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/dxkod 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.
ApplicationVariantsınıfındakidexgetter'ı kullanımdan kaldırdı. Artık bir dönüştürme işlemiyle gerçekleştirildiği için varyant API'si üzerindenDexgörevine 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-instrumentationbağı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_SERIALortam 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 seviyesi 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 API sürümü belirtmeyen veya uygulama manifestindeki
<uses-sdk>öğesinde 20 ya da daha düşük birandroid:minSdkVersionözelliği belirten bir kaynak dizininde bulunan her vektör çizimi için PNG'ler oluşturur. PNG yoğunluklarını,generatedDensitiesözelliğinidefaultConfigveyaproductFlavorbö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.jarpaylaşımı eklendi.appvelibgibi birden fazla modül artık bu özelliği kullanıyor. Yeniden oluşturmak için$rootDir/builddosyası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 bazlı
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 çıkışını düzgün şekilde kullanmak için ZipAlign görevi düzeltildi.
- NDK ile Renderscript paketleme sorunu düzeltildi.
createDebugCoverageReportBuild görevi için destek devam ettirildi.build.gradlederleme dosyasındaarchiveBaseNameözelliğinin özelleştirilmiş kullanımı için destek düzeltildi.Invalid ResourceTypeAndroid Studio dışında lint çalıştırılırken parametre yöntemi açıklamasını arama nedeniyle oluşan lint uyarısı düzeltildi.
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ğine destek eklendi. Bu özellik,Androidgörev iş parçacığı havuzu boyutunugradle.propertiesdosyasından veya komut satırından kontrol etmenizi sağlar. Aşağıdaki örnekte bu özellik 4 olarak ayarlanmıştır.-Pcom.android.build.threadPoolSize=4 - Varsayılan derleme davranışını,
LICENSEveLICENSE.txtdosyalarını APK'lardan hariç tutacak şekilde ayarlayın. Bu dosyaları bir APK'ya dahil etmek içinbuild.gradledosyasındakipackagingOptions.excludesözelliğinden bu dosyaları kaldırın. Örneğin:android { packagingOptions.excludes = [] }
android { packagingOptions.excludes.clear() }
- Mevcut tüm kaynak kümelerini incelemek için
sourceSetsgörevi eklendi. - Çoklu aroma ve
derleme varyantı kaynak klasörlerini tanımak için geliştirilmiş birim testi desteği. Örneğin,
flavor1veflavorAgibi çoklu tat içeren bir uygulamayıDebugderleme türüyle test etmek için test kaynağı 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ğini, derleme dosyanızdauseJacközelliğitrueolarak ayarlanmış olsa bile ana ve test kaynaklarında çalıştırın.- Her derleme türü için bağımlılıkları doğru şekilde tanıyın.
- Komut satırından 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.gradledosyası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
targetProjectPathvetargetVariantö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 sınıf yoluna Java tarzı kaynakların dahil edilmesi için destek eklendi.
- Android Arşivi (AAR) yapay ürünleri için birim testi bağımlılığı desteği eklendi.
unitTestVariantsözelliği için destek eklendi. Böylece birim testi varyantlarıbuild.gradledosyası kullanılarak değiştirilebilir.- Birim testi için özelleştirilmiş görevleri yapılandırmak üzere
unitTest.allkod bloğutestOptionsaltına eklendi. Aşağıdaki örnek kodda, bu yeni seçeneği kullanarak birim testi yapılandırma ayarlarının nasıl ekleneceği gösterilmektedir: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.jardosyasının paketlenmesinde numaralandırılmış değerlerin ve herkese açık örnek alanların işlenmesi düzeltildi.- Test sınıflarının değişikliklerden sonra yeniden derlenmesi için kitaplık projesi görev bağımlılıkları düzeltildi.
- Test APK'sı küçültülürken
testProguardFileözelliğini ekleyerek ProGuard dosyalarının uygulanmasını sağladık. - Android Debug Bridge ekran kaydı için maksimum kayıt süresini ayarlamak üzere
adbOptionskod bloğunatimeOutö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 JAR oluştururken normalleştirilmiş yol.
build.gradledosyasındakiarchivesBaseNameayarı 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 özgü 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
- Mockito gibi popüler sahte oluşturma çerçeveleriyle uyumlu olan
android.jardosyası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,testReleasevetestMyFlavorDebugeklendi. - Birim testi olarak tanınan yeni kaynak klasörler eklendi:
src/test/java/,src/testDebug/java/,src/testMyFlavor/java/. - Yalnızca test için kullanılan bağımlılıkları bildirmek üzere
build.gradledosyası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.returnDefaultValuesseçeneği eklendi. - Test görevi adlarındaki
TestöğesiAndroidTestile değiştirildi. Örneğin,assembleDebugTestgörevi artıkassembleDebugAndroidTestgörevi olarak gösteriliyor. Birim testi görevlerinin görev adında hâlâUnitTestvar. Örneğin,assembleDebugUnitTest. - ProGuard yapılandırma dosyaları, test APK'sında artık geçerli olmayacak şekilde değiştirildi. 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
providedvepackagekapsamlarının kullanımındaki sorunlar düzeltildi.Not: Bu kapsamlar AAR (Android ARchive) paketleriyle uyumlu değildir ve AAR paketleriyle derlemenin başarısız olmasına neden olur.
- Test edilen uygulama ile test uygulamasının bağımlılıklarını karşılaştırmak için değiştirilmiş bağımlılık çözümü. Her iki uygulama için de aynı sürüme sahip bir yapay nesne bulunursa bu yapay nesne 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ılandırma bulunursa derleme başarısız olur.
- Kaynak birleştiricide
anyDpikaynak 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ümlerle uyumlu değildir.
- Build Tools 21.1.1 veya sonraki sürümler.
-
- Genel Notlar:
-
extractReleaseAnnotationsmodülüne erişilirken Gradle derleme hatasıyla ilgili sorun düzeltildi. (81638 numaralı sorun)Disable'nın--no-optimizeayarını Dalvik Executable (dex) bayt koduna aktarmasıyla ilgili sorun düzeltildi. (82662 numaralı sorun).- Kitaplıkları 16'dan küçük bir
targetSdkVersionile içe aktarırken yaşanan manifest birleştirme sorunları düzeltildi. - Android Studio'yu JDK 8 ile kullanırken yaşanan yoğunluk sıralaması sorunu 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ümlerle uyumlu değildir.
- Build Tools 21.1.1 veya sonraki sürümler.
-
- Genel Notlar:
-
- Eklentinin ilk sürümü.