Aşağıda Android Studio 3.6 ve önceki sürümleri ile Android Graadle eklentisi 3.6.0 ve önceki sürümler için sürüm notları bulunmaktadır.
Android Studio'nun eski sürümleri
3.6 (Şubat 2020)
Android Studio 3.6, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
Ayrıca bu sürümün yayınlanmasında bize yardımcı olan toplulukta katkıda bulunan tüm kullanıcılara da teşekkür ederiz.
3.6.3 (Nisan 2020)
Bu küçük güncelleme, çeşitli hata düzeltmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.6.2 (Mart 2020)
Bu küçük güncelleme, çeşitli hata düzeltmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.6.1 (Şubat 2020)
Bu küçük güncelleme, çeşitli hata düzeltmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
Tasarım araçları
Android Studio'nun bu sürümü, Düzen Düzenleyici ve Resource Manager da dahil olmak üzere çeşitli tasarım araçlarında güncellemeler içerir.
Bölünmüş görünüm ve yakınlaştırma tasarım düzenleyicileri
Bu sürümde, görsel tasarım düzenleyicilerinde yapılan aşağıdaki güncellemeler yer almaktadır:
-
Düzen Düzenleyici ve Gezinme Düzenleyicisi gibi tasarım düzenleyiciler, artık kullanıcı arayüzünüzün hem Tasarım hem de Kod görünümlerini aynı anda görmenize olanak tanıyan bir Bölünmüş görünüm sağlamaktadır. Artık düzenleyici penceresinin sağ üst köşesinde, görüntüleme seçenekleri arasında geçiş yapmak için kullanabileceğiniz üç düğme 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.
-
Tasarım düzenleyicilerindeki yakınlaştırma ve kaydırma kontrolleri, düzenleyici penceresinin sağ alt köşesindeki kayan bir panele taşındı.
Daha fazla bilgi edinmek için Düzen Düzenleyici ile kullanıcı arayüzü oluşturma konusuna bakın.
Renk Seçici Kaynak Sekmesi
XML'nizde veya tasarım araçlarınızda renk seçiciyi kullanırken uygulamanızdaki renk kaynağı değerlerini hızlı bir şekilde güncellemenize yardımcı olmak için IDE, renk kaynağı değerlerini artık sizin için dolduruyor.
Kaynak Yöneticisi
Resource Manager aşağıdaki güncellemeleri içerir:
- Resource Manager artık çoğu kaynak türünü destekliyor.
- Bir kaynak ararken, Resource Manager artık tüm proje modüllerinden sonuçları gösteriyor. Daha önce aramalar yalnızca seçilen modülden sonuçlar döndürüyordu.
- Filtre düğmesiyle yerele bağımlı modüller, harici kitaplıklar ve Android çerçevesindeki kaynakları görüntüleyebilirsiniz. Filtreyi tema özelliklerini göstermek için de kullanabilirsiniz.
- Artık içe aktarma işlemi sırasında kaynağın üst kısmındaki metin kutusunu tıklayarak kaynakları yeniden adlandırabilirsiniz.
Daha fazla bilgi için Resource Manager ile uygulamanızın kullanıcı arayüzü kaynaklarını yönetme bölümüne göz atın.
Android Gradle eklentisiyle ilgili güncellemeler
Android Gradle eklentisinin en son sürümü; derleme hızı optimizasyonları, Maven yayınlama eklentisi ve Görünüm Bağlama için destek de dahil olmak üzere pek çok güncelleme içerir. Daha fazla bilgi edinmek için tam sürüm notlarını okuyun.
Bağlamayı görüntüle
Görünüm bağlama, her bir XML düzen dosyası için bir bağlama sınıfı oluşturarak görünümlerle etkileşim kuran kodları daha kolay yazmanıza olanak tanır. Bu sınıflar, ilgili düzende kimliği olan tüm görünümlere doğrudan referanslar içerir.
findViewById()
'in yerini aldığı için görünüm bağlama, geçersiz görünüm kimliğinden kaynaklanan boş işaretçi istisnaları riskini ortadan kaldırır.
Görünüm bağlamayı etkinleştirmek için Android Gradle eklentisinin 3.6.0 veya sonraki bir sürümünü kullanmanız ve her modülün build.gradle
dosyasına aşağıdakileri eklemeniz gerekir:
Modern
android { buildFeatures.viewBinding = true }
Kotlin
android { buildFeatures.viewBinding = true }
Değişiklikleri Uygulama
Artık bir sınıf ekleyebilir ve Kod Değişikliklerini Uygula veya Değişiklikleri Uygula ve Etkinliği Yeniden Başlat'ı tıklayarak bu kod değişikliğini çalışan uygulamanıza dağıtabilirsiniz .
Bu iki işlem arasındaki fark hakkında daha fazla bilgi edinmek için Değişiklikleri Uygulama bölümüne bakın.
Hazır Uygulamalar desteğini etkinleştirmek için menü seçeneğini yeniden düzenleyin
Artık uygulama projenizi oluşturduktan sonra temel modülü istediğiniz zaman aşağıdaki şekilde anında etkinleştirebilirsiniz:
- Menü çubuğundan Görünüm > Araç Pencereleri > Proje'yi seçerek Proje panelini açın.
- Genellikle "uygulama" olarak adlandırılan temel modülünüzü sağ tıklayın ve Yeniden Düzenleme > Hazır Uygulama Desteğini Etkinleştir'i seçin.
- Görüntülenen iletişim kutusunda, açılır menüden temel modülünüzü seçin.
- Tamam'ı tıklayın.
Not: Temel uygulama modülünüzü Yeni Proje Oluştur sihirbazından anında etkinleştirme seçeneği kaldırılmıştır.
Daha fazla bilgi edinmek için Google Play Instant'a genel bakış başlıklı makaleyi okuyun.
APK Analiz Aracı'nda sınıf ve yöntem bayt kodunun gizlemesini kaldırma
DEX dosyalarını incelemek için APK Analizcisi'ni kullanırken sınıf ve yöntemin bayt kodunun kodunu aşağıdaki şekilde kaldırabilirsiniz:
- Menü çubuğundan Oluştur > APK'yı analiz et seçeneğini belirleyin.
- Açılan iletişim kutusunda, incelemek istediğiniz APK'ya gidin ve onu seçin.
- Aç'ı tıklayın.
- APK Analiz Aracı'nda, incelemek istediğiniz DEX dosyasını seçin.
- DEX dosya görüntüleyicisinde, analiz ettiğiniz APK için ProGuard eşlemeleri 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
Daha önce Java'da desteklenen ve Android Studio'da bulunan aşağıdaki NDK özellikleri artık Kotlin'de de desteklenmektedir:
-
Bir JNI bildiriminden C/C++'taki karşılık gelen uygulama işlevine gidin. Yönetilen kaynak kodu dosyasındaki satır numarasının yakınındaki C veya C++ öğe işaretçisinin üzerine gelerek bu eşlemeyi görüntüleyin.
-
JNI bildirimi için otomatik olarak saplama uygulama işlevi oluşturun. Önce JNI bildirimini tanımlayın ve ardından etkinleştirmek için C/C++ dosyasına "jni" veya yöntem adını yazın.
-
Kullanılmayan yerel uygulama işlevleri, kaynak kodunda uyarı olarak vurgulanır. Eksik uygulamaları olan JNI beyanları da hata olarak vurgulanır.
-
Bir yerel uygulama işlevini yeniden adlandırdığınızda (yeniden düzenlediğinizde) ilgili tüm JNI bildirimleri güncellenir. Yerel uygulama işlevini güncellemek için bir JNI bildirimini yeniden adlandırın.
-
Örtülü bağlı JNI uygulamaları için imza kontrolü.
Diğer JNI iyileştirmeleri
Android Studio'daki kod düzenleyici artık iyileştirilmiş tür ipuçları, otomatik tamamlama, denetimler ve kodları yeniden düzenleme gibi daha sorunsuz bir JNI geliştirme iş akışını destekliyor.
Yerel kitaplıklar için APK yeniden yükleniyor {:#3.6-reload-apk}
Projenizdeki APK, IDE dışında güncellendiğinde yeni bir proje oluşturmanız gerekmez. Android Studio, APK'daki değişiklikleri algılar ve yeniden içe aktarma seçeneği sunar.
Yalnızca Kotlin APK kaynaklarını ekleyin
Önceden oluşturulmuş APK'ların profilini çıkarırken ve bu APK'larda hata ayıklarken artık yalnızca Kotlin harici APK kaynaklarını ekleyebilirsiniz. Daha fazla bilgi edinmek için Kotlin/Java kaynakları ekleme bölümüne bakın.
Bellek Profil Aracı'nda sızıntı algılama
Bellek Profil Aracı'nda yığın dökümünü analiz ederken artık Android Studio'nun uygulamanızdaki Activity
ve Fragment
örnekleri için bellek sızıntılarını gösterebileceğini düşündüğü profil oluşturma verilerini filtreleyebilirsiniz.
Filtrenin gösterdiği veri türleri aşağıdakileri içerir:
-
İmha edilmiş ancak hâlâ başvuruda bulunulan
Activity
örnek. -
Geçerli bir
FragmentManager
öğesine sahip olmayan, ancak yine de başvurulanFragment
örnekleri.
Yalnızca Kotlin APK kaynaklarını ekleyin
Önceden oluşturulmuş APK'ların profilini çıkarırken ve bu APK'larda hata ayıklarken artık yalnızca Kotlin harici APK kaynaklarını ekleyebilirsiniz. Daha fazla bilgi edinmek için Kotlin/Java kaynakları ekleme bölümüne bakın.
Bellek Profil Aracı'nda sızıntı algılama
Bellek Profil Aracı'nda yığın dökümünü analiz ederken artık Android Studio'nun uygulamanızdaki Activity
ve Fragment
örnekleri için bellek sızıntılarını gösterebileceğini düşündüğü profil oluşturma verilerini filtreleyebilirsiniz.
Filtrenin gösterdiği veri türleri aşağıdakileri içerir:
-
İmha edilmiş ancak hâlâ başvuruda bulunulan
Activity
örnek. -
Geçerli bir
FragmentManager
içermeyen, ancak hâlâ başvurulanFragment
örnekleri.
Filtre yanlış pozitif sonuçlar verebilir. Örneğin:
Fragment
oluşturuldu ancak henüz kullanılmadı.Fragment
önbelleğe alınıyor, ancakFragmentTransaction
kapsamında değil.
Bu özelliği kullanmak için önce Android Studio'ya bir yığın dökümü kaydedin veya bir yığın döküm dosyasını içe aktarın. Bellek sızıntısı yapıyor olabilecek parçaları ve etkinlikleri görüntülemek için Bellek Profil Aracı'nın yığın dökümü bölmesinde Etkinlik/Parça Sızıntıları onay kutusunu seçin.
Emülatörler
Android Studio 3.6, aşağıda açıklandığı gibi Android Emulator 29.2.7 ve sonraki sürümlerinde yer alan çeşitli güncellemelerden yararlanmanıza yardımcı olur.
İyileştirilmiş Konum Desteği
Android Emulator 29.2.7 ve sonraki sürümler, GPS koordinatlarını ve rota bilgilerini emüle etmek için ek destek sağlar. Emülatörler Genişletilmiş kontroller'i açtığınızda Konum sekmesindeki seçenekler artık iki sekme altında düzenlenir: Tek noktalar ve Rotalar.
Tek puan
Tek noktalar sekmesinde, Google Haritalar'ı bir telefonda veya tarayıcıda kullanırken olduğu gibi, önemli yerleri aramak için Google Haritalar web görünümünü kullanabilirsiniz. Haritada bir konumu aradığınızda veya tıkladığınızda, haritanın alt kısmına yakın bir yerde bulunan Noktayı kaydet'i seçerek konumu kaydedebilirsiniz. Kaydettiğiniz tüm konumlar, Genişletilmiş denetimler penceresinin sağ tarafında listelenir.
Emülatörlerin konumunu haritada seçtiğiniz konuma ayarlamak için Genişletilmiş denetimler penceresinin sağ alt tarafına yakın yerde bulunan Konumu ayarla düğmesini tıklayın.
.
Güzergahlar
Tek noktalar sekmesine benzer şekilde, Rotalar sekmesi de iki veya daha fazla konum arasında rota oluşturmak için kullanabileceğiniz bir Google Haritalar web görünümü sağlar. Rota oluşturmak ve kaydetmek için aşağıdakileri yapın:
- 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.
- Git düğmesini seçin.
- Rotanızın başlangıç noktasını haritadan seçin.
- (İsteğe bağlı) Rotanıza daha fazla durak eklemek için Hedef ekle'yi tıklayın.
- Harita görünümünde Rotayı kaydet'i tıklayarak rotanızı kaydedin.
- Rota için bir ad belirtin ve Kaydet'i tıklayın.
Kaydettiğiniz rotayı takip ederek Emülatörü simüle etmek için Kayıtlı rotalar listesinden rotayı seçin ve Genişletilmiş denetimler penceresinin sağ alt tarafına yakın yerde bulunan Rotayı oynat'ı tıklayın. Simülasyonu durdurmak için Rotayı durdur'u tıklayın.
.
Belirtilen rotayı izleyerek Emülatörü sürekli olarak simüle etmek için Tekrar oynatma'nın yanındaki anahtarı etkinleştirin. Emülatörün belirtilen rotayı izleme hızını değiştirmek için Oynatma hızı açılır listesinden bir seçenek belirleyin.
Çoklu ekran desteği
Android Emulator artık uygulamanızı özelleştirilebilir boyutları destekleyen birden fazla ekrana dağıtmanıza olanak tanır. Bu ekranlar, çoklu pencere ve çoklu ekranı destekleyen uygulamaları test etmenize yardımcı olabilir. Bir sanal cihaz çalışırken aşağıdaki adımları uygulayarak en fazla iki ekran daha ekleyebilirsiniz:
-
Genişletilmiş denetimler'i açıp Ekranlar sekmesine gidin.
-
İkincil ekran ekle'yi tıklayarak başka bir ekran ekleyin.
-
İkincil görüntüler altındaki açılır menüde aşağıdakilerden birini yapın:
-
Önceden ayarlanmış en boy oranlarından birini seçin
-
custom'i (özel) seçin ve özel görüntünüz için height, width ve dpi değerlerini 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ştururken artık Yeni Proje Oluştur sihirbazındaki Otomotiv sekmesinde bulunan üç şablon arasından seçim yapabilirsiniz: Etkinlik Yok, Medya hizmeti ve Mesajlaşma hizmeti. Mevcut projelerde, menü çubuğundan Dosya > Yeni > Yeni Modül'ü seçip Otomotiv Modülü'nü seçerek Android Automotive cihazları için destek ekleyebilirsiniz. Ardından Yeni Modül Oluştur sihirbazı, Android Automotive proje şablonlarından birini kullanarak yeni modül oluşturma işlemi boyunca size yol gösterir.
.
Ayrıca artık Sanal Cihaz Yapılandırması sihirbazındaki Otomotiv sekmesinde bulunan aşağıdaki seçeneklerden birini belirleyerek Android Automotive OS cihazlar için Android Sanal Cihaz (AVD) oluşturabilirsiniz.
- Polestar 2: Polestar 2 ana birimini emüle eden bir ortalama görüntüleme süresi oluşturun.
- Otomotiv (1024p yatay): 1024 x 768 piksellik genel Android Automotive ana birimleri için ortalama görüntüleme süresi oluşturun.
.
Devam ettirilebilir SDK indirmeleri
SDK Yöneticisi'ni kullanarak SDK bileşenleri ve araçları indirirken Android Studio artık indirme işlemini baştan başlatmak yerine (örneğin, bir ağ sorunu nedeniyle) kesintiye uğrayan indirme işlemlerini devam ettirmenize olanak tanıyor. Bu geliştirme, özellikle internet bağlantısının güvenilir olmadığı durumlarda Android Emülatör veya sistem görüntüleri gibi büyük boyutlu indirme işlemleri için faydalıdır.
Ayrıca, arka planda çalışan bir SDK indirme göreviniz varsa artık durum çubuğundaki kontrolleri kullanarak indirme işlemini duraklatabilir veya devam ettirebilirsiniz.
Win32 kullanımdan kaldırıldı
Android Studio'nun Windows 32 bit sürümüne Aralık 2019'dan sonra güncellemeler, Aralık 2020'den sonra ise destek sunulmayacaktır. Android Studio'yu kullanmaya devam edebilirsiniz. Ancak ek güncellemeler almak için iş istasyonunuzu Windows'un 64 bit sürümüne yükseltin.
Daha fazla bilgi edinmek için Windows 32 bit eskime blogunu okuyun.
Gradle senkronizasyon süresini optimize etmek için yeni seçenek
Önceki sürümlerde, Android Studio Gradle Sync sırasında tüm Gradle görevlerinin listesini alıyordu. Büyük projelerde, görev listesinin alınması senkronizasyon sürelerinin yavaşlamasına neden olabilir.
Gradle Sync performansını iyileştirmek için Dosya > Ayarlar > Deneysel'e gidin ve Gradle senkronizasyonu sırasında Gradle görev listesi oluşturma'yı seçin.
Bu seçeneği etkinleştirdiğinizde Android Studio, senkronizasyon sırasında görev listesini oluşturma adımını atlar. Bu da Gradle Sync'in daha hızlı tamamlanmasını sağlar ve kullanıcı arayüzü duyarlılığını iyileştirir. IDE, görev listesini oluşturma adımını atladığında Gradle panelindeki görev listelerinin boş olacağını ve derleme dosyalarındaki görev adını otomatik tamamlamanın çalışmadığını unutmayın.
Gradle'ın çevrimdışı modunu açıp kapatmak için yeni konum
Gradle'ın çevrimdışı modunu etkinleştirmek veya devre dışı bırakmak için önce menü çubuğundan Görünüm > Araç Pencereleri > Gradle'ı seçin. Ardından, Gradle penceresinin üst kısmının yakınında, Çevrimdışı Modda Geçiş Yap'ı tıklayın.
IntelliJ IDEA 2019.2
Temel Android Studio IDE, IntelliJ IDEA'nın 2019.2 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.
2019.2 sürümüyle kümülatif olarak dahil edilen diğer IntelliJ sürümlerinde yapılan iyileştirmeler hakkında daha fazla bilgi edinmek için aşağıdaki sayfalara bakın:
Topluluğa katkıda bulunanlar
Hataları ve Android Studio 3.6'yı iyileştirmenin diğer yollarını keşfetmemize yardımcı olan, topluluğumuza katkıda bulunan herkese teşekkür ederiz. Özellikle, hataları bildiren aşağıdaki kişilere teşekkür etmek isteriz:
|
|
|
3.5 (Ağustos 2019)
Android Studio 3.5, ana sürüm olan Project Marble'ın bir sonucudur. Android Studio 3.3'ün yayınlanmasından itibaren Project Marble girişimi, IDE'nin üç ana alanını iyileştirmeye odaklanan birden çok sürüme yayıldı: sistem sağlığı, özellik iyileştirme ve hataları düzeltme.
Bunlar ve diğer Project Marble güncellemeleri hakkında bilgi için Android Geliştiricileri blog yayınını veya aşağıdaki bölümleri okuyun.
Ayrıca bu sürümün yayınlanmasında bize yardımcı olan toplulukta katkıda bulunan tüm kullanıcılara da teşekkür etmek isteriz.
3.5.3 (Aralık 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir.
3.5.2 (Kasım 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.5.1 (Ekim 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
Project Marble: Sistem sağlığı
Bu bölümde, Android Studio 3.5'te sistem durumunu iyileştirmeye odaklanan değişiklikler açıklanmaktadır.
Önerilen bellek ayarları
Android Studio artık temel IDE, Gradle arka plan programı ve Kotlin arka plan programı gibi Android Studio işlemleri için işletim sisteminizin ayırması gereken maksimum RAM miktarını artırarak performansı iyileştirebileceğinizi tespit ederse artık sizi bilgilendiriyor. Bildirimdeki işlem bağlantısını tıklayarak önerilen ayarları kabul edebilir veya Dosya > Ayarlar'ı (veya macOS'te Android Studio > Tercihler'i) seçip Görünüm ve Davranış > Sistem Ayarları altında Bellek Ayarları bölümünü bularak bu ayarları manuel olarak yapabilirsiniz. Daha fazla bilgi için Maksimum yığın boyutu bölümünü inceleyin.
Bellek kullanımı raporu
Android Studio'daki bellek sorunlarının yeniden oluşturulması ve bildirilmesi bazen zor olabilir. Android Studio, bu sorunu çözmek için menü çubuğundan Yardım > Bellek Kullanımını Analiz Et'i tıklayarak bellek kullanımı raporu oluşturmanıza olanak tanır. Bunu yaptığınızda IDE, kişisel bilgiler için verileri yerel olarak temizler ve bellek sorunlarının kaynağını belirlemeye yardımcı olması için bilgileri Android Studio ekibine göndermek isteyip istemediğinizi sorar. Daha fazla bilgi edinmek için Bellek kullanımı raporu çalıştırma bölümünü inceleyin.
Windows: Antivirüs dosyası G/Ç optimizasyonu
Android Studio artık belirli proje dizinlerinin gerçek zamanlı antivirüs taramasından hariç tutulup tutulmadığını otomatik olarak kontrol ediyor. Derleme performansını iyileştirmek için düzenleme yapılabileceği durumlarda Android Studio sizi bilgilendirir ve virüsten korunma yapılandırmanızı nasıl optimize edeceğinizle ilgili talimatları sağlar. Daha fazla bilgi edinmek için Antivirüs yazılımlarının derleme hızı üzerindeki etkisini en aza indirme başlıklı makaleye göz atın.
Project Marble: Özelliği güzelleştirme
Bu bölümde, Android Studio 3.5'te, mevcut özellikleri iyileştirmeye odaklanan değişiklikler açıklanmaktadır.
Değişiklikleri Uygulama
Değişiklikleri Uygula, uygulamanızı yeniden başlatmadan ve bazı durumlarda mevcut etkinliği yeniden başlatmadan çalışan uygulamanıza kod ve kaynak değişiklikleri aktarmanıza olanak tanır. Değişiklikleri Uygula, uygulamanızın durumunu korumak için tamamen yeni bir yaklaşım uygular. APK'nızın bayt kodunu yeniden yazan Anında Çalıştır'ın aksine Uygula, Android 8.0 (API düzeyi 26) veya sonraki sürümlerde desteklenen çalışma zamanı araçlarından yararlanarak sınıfları anında yeniden tanımlar.
Daha fazla bilgi edinmek için Değişiklikleri Uygulama bölümüne bakın.
Uygulama dağıtımı akışı
IDE'de, uygulamanızı dağıtmak istediğiniz cihazı hızlıca seçmenize olanak tanıyan yeni bir açılır menü vardır. Bu menüde, uygulamanızı aynı anda birden fazla cihazda çalıştırmanızı sağlayan yeni bir seçenek de yer alıyor.
İyileştirilmiş Gradle senkronizasyonu ve önbellek algılama
IDE, Gradle'ın sabit disk tüketimini azaltırken derleme önbelleğini düzenli olarak temizlediğini artık daha iyi algılar. Önceki sürümlerde bu durum, IDE'nin eksik bağımlılıkları bildirmesine ve Gradle senkronizasyonunun başarısız olmasına neden oluyordu. Artık IDE, Gradle senkronizasyonunun başarıyla tamamlanmasını sağlamak için bağımlılıkları gerektiği şekilde indiriyor.
İyileştirilmiş yapı hatası çıktısı
Derleme penceresi artık aşağıdaki derleme işlemleri için daha iyi hata raporlama (ör. dosya bağlantısı ve bildirilen hata satırı) sağlıyor:
- AAPT derlemesi ve bağlama
- R8 ve ProGuard
- Dexing
- Kaynak birleştirme
- XML dosyası ayrıştırma
- Javac, Kotlinc ve CMake derlemesi
Proje Yükseltmeleri
IDE ve Android Gradle eklentisini güncellemenize yardımcı olacak daha fazla bilgi ve işlem sağlamak için güncelleme deneyimi iyileştirildi. Örneğin, daha fazla senkronizasyon ve derleme hatası, güncelleme sırasında hataları azaltmanıza yardımcı olacak işlemler içerir.
IDE'yi Android Gradle eklentisi gibi diğer bileşenlerden bağımsız olarak güncelleyebileceğinizi unutmayın. Bu sayede, yeni bir sürüm kullanıma sunulur sunulmaz IDE'yi güvenli bir şekilde güncelleyebilir, diğer bileşenleri de daha sonra güncelleyebilirsiniz.
Düzen Düzenleyici
Android Studio 3.5; düzen görselleştirme, yönetim ve etkileşim için çeşitli iyileştirmeler içerir.
ConstraintLayout
ile çalışırken, Özellikler panelindeki yeni Sınırlamalar bölümü, seçilen kullanıcı arayüzü bileşeninin kısıtlama ilişkilerini listeler. Her iki alandaki kısıtlamayı vurgulamak için tasarım yüzeyinden veya kısıtlamalar listesinden bir sınırlama seçebilirsiniz.
Benzer şekilde, artık bir kısıtlamayı seçip Delete
tuşuna basarak silebilirsiniz. Ayrıca, Control
tuşunu (macOS'te Command
) basılı tutup kısıtlama bağlantısını tıklayarak da kısıtlamayı silebilirsiniz. Control
veya Command
tuşunu basılı tutup fareyle bir bağlantının üzerine geldiğinizde ilişkili kısıtlamalar kırmızı renge dönerek, bunları silmek için tıklayabileceğinizi belirtir.
Bir görünüm seçildiğinde, aşağıdaki resimde gösterildiği gibi, Özellikler panelinin Kısıtlama Widget'ı bölümündeki + simgelerinden herhangi birini tıklayarak bir kısıtlama oluşturabilirsiniz. Yeni bir sınırlama oluşturduğunuzda, Düzen Düzenleyici artık sınırlamayı seçip vurgulayarak yeni eklediğiniz öğe için anında görsel geri bildirim sağlar.
Bir kısıtlama oluştururken, Düzen Düzenleyici artık yalnızca sınırlayabileceğiniz uygun sabitleme noktalarını gösterir. Daha önce, Düzen Düzenleyici, sınırlayıp kısıtlama edemediğinizden bağımsız olarak, tüm görünümlerdeki tüm sabitleme noktalarını vurguluyordu. Buna ek olarak, mavi yer paylaşımı artık sınırlamanın hedefini vurgular. Bu vurgulama, özellikle başka bir bileşenle çakışan bir bileşeni sınırlamaya çalışırken yararlı olur.
Android Studio 3.5, yukarıdaki güncellemelere ek olarak aşağıdaki Düzen Düzenleyici iyileştirmelerini de içerir:
- Sınırlama Widget'ı ve varsayılan kenar boşluğu artık marjlar için boyut kaynaklarını kullanmanıza olanak tanıyor.
- Düzen Düzenleyici araç çubuğunda, tasarım yüzeyinin boyutunu belirleyen cihazların listesi güncellendi. Ayrıca, yeniden boyutlandırma sırasında yapışma davranışı iyileştirildi ve tasarım yüzeyindeki yeniden boyutlandırma tutamaçları artık her zaman görülebilir. Yeniden boyutlandırırken, yaygın cihaz boyutlarını gösteren yeni yer paylaşımları görünür.
- Düzen Düzenleyici, tutarlılığı iyileştiren ve bileşenler, metin ve kısıtlamalar arasındaki kontrastı azaltan yeni bir renk şemasına sahiptir.
- Şema modu artık metnin gösterilmediği bazı bileşenler için metin desteği içeriyor.
Bu değişiklikler hakkında daha fazla bilgi için Android Studio Marble Projesi: Düzen Düzenleyici sayfasına bakın.
Veri Bağlama
IDE, Veri Bağlama için artımlı ek açıklama işleme desteği eklemenin yanı sıra XML'de veri bağlama ifadeleri oluştururken akıllı düzenleyici özelliklerini ve performansı iyileştirir.
C/C++ projeleri için gelişmiş destek
Android Studio 3.5, C/C++ projeleri için desteği geliştiren çeşitli değişiklikler içerir.
Tek varyant senkronizasyonu için Varyantlar paneli iyileştirmeleri oluşturun
Artık Derleme Varyantları panelinde hem etkin derleme varyantını hem de etkin ABI'yi belirtebilirsiniz. Bu özellik, modül başına derleme yapılandırmasını basitleştirir ve Gradle senkronizasyon performansını da iyileştirebilir.
Daha fazla bilgi için Derleme varyantını değiştirme konusuna bakın.
NDK'nın yan yana sürümleri
Artık NDK'nın birden çok sürümünü yan yana kullanabilirsiniz. Bu özellik, projelerinizi yapılandırırken size daha fazla esneklik sağlar. Örneğin, aynı makinede NDK'nın farklı sürümlerini kullanan projeleriniz varsa.
Projeniz Android Gradle eklentisi 3.5.0 veya sonraki bir sürümü kullanıyorsa projenizdeki her modülün kullanması gereken NDK sürümünü de belirtebilirsiniz. Bu özelliği yeniden oluşturulabilir derlemeler oluşturmak ve NDK sürümleri ile Android Gradle eklentisi arasındaki uyumsuzlukları azaltmak için kullanabilirsiniz.
Daha fazla bilgi edinmek için NDK, CMake ve LLDB'yi yükleme ve yapılandırma başlıklı makaleye bakın.
ChromeOS Desteği
Android Studio artık HP Chromebook x360 14, Acer Chromebook 13/Spin 13 gibi ChromeOS cihazları resmi olarak desteklemektedir. Ayrıca, sistem gereksinimlerinde bu cihazlar hakkında bilgi edinebilirsiniz. Başlamak için uyumlu ChromeOS cihazınıza Android Studio'yu indirin ve yükleme talimatlarını uygulayın.
Not: ChromeOS'teki Android Studio şu anda uygulamanızın yalnızca bağlı bir donanım cihazına dağıtılmasını desteklemektedir. Daha fazla bilgi edinmek için Uygulamaları donanım cihazında çalıştırma konusunu okuyun.
Özellik modülleri için koşullu yayın
Koşullu yayın, özellik modüllerinin uygulama yükleme sırasında otomatik olarak indirilmesi için belirli cihaz yapılandırma gereksinimlerini belirlemenize olanak tanır. Örneğin, yalnızca artırılmış gerçekliği destekleyen cihazlar için uygulama yüklenirken kullanılabilecek artırılmış gerçeklik (AR) işlevleri içeren bir özellik modülü yapılandırabilirsiniz.
Bu iletim mekanizması şu anda uygulama yükleme sırasında bir modülün indirilmesini aşağıdaki cihaz yapılandırmalarına dayalı olarak kontrol etmeyi desteklemektedir:
- OpenGL ES sürümü de dahil cihaz donanımı ve yazılım özellikleri
- Kullanıcının ülkesi
- API seviyesi
Cihaz belirttiğiniz tüm gereksinimleri karşılamıyorsa modül, uygulama yükleme sırasında indirilmez. Ancak uygulamanız daha sonra Play Core Kitaplığı'nı kullanarak modülü isteğe bağlı olarak indirme isteğinde bulunabilir. Daha fazla bilgi için Koşullu yayınlamayı yapılandırma bölümüne bakın.
IntelliJ IDEA 2019.1
Temel Android Studio IDE, IntelliJ IDEA'nın 2019.1 sürümünde sunulan tema özelleştirme gibi iyileştirmelerle güncellenmiştir.
Android Studio'ya eklenen son IntelliJ sürümü 2018.3.4'tür. Android Studio'nun bu sürümüne toplu olarak dahil edilen diğer IntelliJ sürümlerindeki iyileştirmeler hakkında daha fazla bilgi için aşağıdaki hata düzeltme güncellemelerine bakın:
- IntelliJ IDEA 2018.3.6{: .external-link}
- IntelliJ IDEA 2018.3.5{: .external-link}
Android Gradle eklentisi 3.5.0 güncellemeleri
Artımlı ek açıklama işleme ve önbelleğe alınabilir birim testleri için iyileştirilmiş destek gibi Android Gradle eklentisi 3.5.0'daki yenilikler hakkında bilgi edinmek için sürüm notlarına bakın.
Topluluğa katkıda bulunanlar
Hataları ve Android Studio 3.5'i iyileştirmenin diğer yollarını keşfetmemize yardımcı olan, topluluğumuza katkıda bulunan herkese teşekkür ederiz. Özellikle, P0 ve P1 hatalarını bildiren aşağıdaki kişilere teşekkür etmek isteriz:
|
|
3.4 (Nisan 2019)
Android Studio 3.4, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
3.4.2 (Temmuz 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.4.1 (Mayıs 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.4.0 ile ilgili bilinen sorunlar
Uygulamanız, Android Q Beta çalıştıran bir cihaza dağıtılırken profil oluşturma devre dışı bırakılır.
- Veri Bağlama Kitaplığı kullanılırken
LiveDataListener.onChanged()
, NPE ile başarısız olabilir. Bu soruna yönelik bir düzeltme Android Studio 3.4.1'e eklenecek ve şu anda Android Studio 3.5'in en yeni Önizleme sürümünde mevcut. ( Sorun numarası 122066788'e bakın)
IntelliJ IDEA 2018.3.4
Temel Android Studio IDE, IntelliJ IDEA'nın 2018.3.4 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.
Android Gradle eklentisi 3.4.0 güncellemeleri
Android Gradle eklentisi 3.4.0'daki yenilikler hakkında bilgi için sürüm notlarına bakın.
Yeni Proje Yapısı İletişimi
Yeni Proje Yapısı İletişim Kutusu (PSD), bağımlılıkları güncellemeyi ve projenizin modüller, derleme varyantları, yapılandırmaları imzalama ve değişken derleme gibi farklı yönlerini yapılandırmayı kolaylaştırır.
Menü çubuğundan Dosya > Proje Yapısı'nı seçerek PSD'yi açabilirsiniz. PSD'yi, Windows ve Linux'ta Ctrl+Shift+Alt+S
veya macOS'te Command+;
(noktalı virgül) tuşuna basarak da açabilirsiniz. PSD'nin yeni ve güncellenmiş bölümlerinden bazılarının açıklamalarını aşağıda bulabilirsiniz.
Değişkenler
PSD'nin yeni değişkenler bölümü, bağımlılıkların sürüm numaralarını projeniz genelinde tutarlı tutmak için kullanılanlar gibi derleme değişkenleri oluşturmanıza ve yönetmenize olanak tanır.
- Projenizin Gradle derleme komut dosyalarında zaten bulunan derleme değişkenlerini hızlıca görüntüleyin ve düzenleyin.
- Doğrudan PSD'den proje veya modül düzeyinde yeni derleme değişkenleri ekleyin.
Not: Mevcut derleme yapılandırma dosyalarınız karmaşık Groovy komut dosyaları üzerinden değer atıyorsa bu değerleri PSD üzerinden düzenleyemeyebilirsiniz. Ayrıca, Kotlin'de yazılan derleme dosyalarını PSD kullanarak düzenleyemezsiniz.
Modüller
Mevcut bir modüldeki tüm derleme varyantlarına uygulanan özellikleri yapılandırın veya Modüller bölümünden projenize yeni modüller ekleyin. Örneğin, buradan defaultConfig
özelliklerini yapılandırabilir veya imzalama yapılandırmalarını yönetebilirsiniz.
Bağımlılıklar
Aşağıdaki adımları uygulayarak projenizin bağımlılık grafiğindeki her bir bağımlılığı, proje senkronizasyonu sırasında Gradle tarafından çözümlendiği şekilde inceleyin ve görselleştirin:
- PSD'nin sol bölmesinde Bağımlılıklar'ı seçin.
- Modüller bölmesinde, çözümlenen bağımlılıkları incelemek istediğiniz modülü seçin.
- PSD'nin sağ tarafında, aşağıda gösterilen Çözülmüş Bağımlılıklar bölmesini açın.
Ayrıca hızlı bir şekilde bağımlılıkları arayabilir ve projenize ekleyebilirsiniz. Bunun için önce PSD'nin Bağımlılıklar bölümünden bir modül seçip Bildirilen Bağımlılıklar bölümündeki (+) düğmesini tıklayın ve eklemek istediğiniz bağımlılık türünü seçin.
Seçtiğiniz bağımlılığın türüne bağlı olarak, bağımlılığı modüle eklemenize yardımcı olan aşağıdakine benzer bir iletişim kutusu görürsünüz.
Derleme Varyantları
PSD'nin bu bölümünde, projenizdeki her modül için derleme varyantları ve ürün çeşitleri oluşturup yapılandırın. Manifest yer tutucuları ekleyebilir, ProGuard dosyaları ekleyebilir, imzalama anahtarları atayabilir ve daha fazlasını yapabilirsiniz.
Öneriler
Aşağıda gösterildiği gibi Öneriler bölümünde proje bağımlılıkları için önerilen güncellemelere bakın ve değişkenler oluşturun.
Yeni Resource Manager
Resource Manager, uygulamanızdaki kaynakları içe aktarmak, oluşturmak, yönetmek ve kullanmak için kullanabileceğiniz yeni bir araç penceresidir. Menü çubuğundan Görünüm > Araç Pencereleri > Resource Manager'ı seçerek araç penceresini açabilirsiniz. Resource Manager aşağıdakileri yapmanıza imkan sağlar:
- Kaynakları görselleştirme: İhtiyacınız olan kaynakları hızlı bir şekilde bulmak için çekilebilir kaynakları, renkleri ve düzenleri önizleyebilirsiniz.
- Toplu içe aktarma: Birden fazla çekilebilir öğeyi aynı anda Resource Manager araç penceresine sürükleyip bırakarak veya Çekilebilirleri içe aktarma sihirbazını kullanarak içe aktarabilirsiniz. Sihirbaza erişmek için araç penceresinin sol üst köşesindeki (+) düğmesini seçin ve ardından açılır menüden Çekilebilir Öğeleri İçe Aktar'ı seçin.
-
SVG'leri
VectorDrawable
nesnelerine dönüştürme: SVG resimleriniziVectorDrawable
nesnelerine dönüştürmek için Çekilebilir Öğeleri İçe Aktar sihirbazını kullanabilirsiniz. - Öğeleri sürükleme ve bırakma: Resource Manager araç penceresinden, çekilebilir yerleri Layout Editor'ın hem tasarım hem de XML görünümlerine sürükleyip bırakabilirsiniz.
- Alternatif sürümleri görüntüleme: Artık Araç penceresinde bir kaynağı çift tıklayarak kaynaklarınızın alternatif sürümlerini görüntüleyebilirsiniz. Bu görünümde, oluşturduğunuz farklı sürümler ve dahil edilen niteleyiciler gösterilir.
- Karo ve liste görünümleri: Kaynaklarınızı farklı düzenlemelerle görselleştirmek için araç penceresinin içindeki görünümü değiştirebilirsiniz.
Daha fazla bilgi edinmek için Uygulama kaynaklarını yönetme ile ilgili kılavuzu okuyun.
APK'ların profilini oluştururken ve APK'larda hata ayıklarken derleme kimliklerini kontrol etme
APK'nızın içindeki .so
paylaşılan kitaplıklar için hata ayıklama sembolü dosyaları sağladığınızda Android Studio, sağlanan sembol dosyalarının derleme kimliğinin APK içindeki .so
kitaplıklarının derleme kimliğiyle eşleştiğini doğrular.
APK'nızda yerel kitaplıkları bir derleme kimliğiyle derlerseniz Android Studio, simge dosyalarınızdaki derleme kimliğinin yerel kitaplıklarınızdaki derleme kimliğiyle eşleşip eşleşmediğini kontrol eder ve uyuşmazlık varsa simge dosyalarını reddeder. Derleme kimliğiyle derlemediyseniz yanlış sembol dosyaları sağlamak hata ayıklamayla ilgili sorunlara neden olabilir.
R8 varsayılan olarak etkin
R8; sudan arındırma, küçültme, karartma, optimize etme ve sıralama işlemlerini tek bir adımda gerçekleştirir. Böylece derleme performansında gözle görülür iyileşmeler elde eder. Android Gradle eklentisi 3.3.0'da kullanıma sunulan R8, artık eklenti 3.4.0 ve üst sürümlerini kullanan uygulama ve Android kitaplığı projelerinde varsayılan olarak etkin.
Aşağıdaki resimde, R8 kullanıma sunulmadan önceki derleme işlemine üst düzey bir genel bakış sunulmaktadır.
Artık R8 ile şeker giderme, küçültme, karartma, optimize etme ve dexing (D8) işlemleri aşağıda gösterildiği gibi tek adımda tamamlanır.
R8'in mevcut ProGuard kurallarınızla çalışacak şekilde tasarlandığını hatırlatmak isteriz. Dolayısıyla, R8'den yararlanmak için muhtemelen herhangi bir işlem yapmanız gerekmeyecektir. Ancak özel olarak Android projeleri için tasarlanmış olan ProGuard'dan farklı bir teknoloji olduğundan, küçültme ve optimizasyon, ProGuard'ın sahip olmadığı kodun kaldırılmasıyla sonuçlanabilir. Dolayısıyla, çok düşük olasılıkla da olsa bu kodu derleme çıkışınızda tutmak için ek kurallar eklemeniz gerekebilir.
R8'i kullanırken sorun yaşıyorsanız sorununuzun
bir çözümü olup olmadığını kontrol etmek için
R8 uyumluluğuyla ilgili SSS
sayfasını okuyun. Çözüm belgelenmemişse lütfen hata bildiriminde bulunun.
Projenizin gradle.properties
dosyasına aşağıdaki satırlardan birini ekleyerek R8'i devre dışı bırakabilirsiniz:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Not: Belirli bir derleme türünde, uygulama modülünüzün build.gradle
dosyasında useProguard
öğesini false
olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties
dosyasında R8'i devre dışı bırakıp bırakmamanızdan bağımsız olarak, R8'i kullanarak uygulamanızın kodunu bu derleme türü için küçültür.
Gezinme Düzenleyicisi artık tüm bağımsız değişken türlerini destekliyor
Gezinme bileşeninin desteklediği tüm bağımsız değişken türleri artık Gezinme Düzenleyicisi'nde desteklenmektedir. Desteklenen türler hakkında daha fazla bilgi için Hedefler arasında veri iletme bölümüne bakın.
Düzen Düzenleyici iyileştirmeleri {:#layout-editor}
Düzen Düzenleyici'deki Özellikler bölmesi, yapılandırabileceğiniz özellikleri göstermek için genişletebileceğiniz bölümler içeren tek bir sayfa halinde basitleştirildi. Özellikler bölmesi aşağıdaki güncellemeleri de içerir:
- Yeni bir Bildirilen Özellikler bölümü, düzen dosyasının belirlediği özellikleri listeler ve hızlıca yenilerini eklemenize olanak tanır.
- Özellikler bölmesinde artık her bir özelliğin yanında, özelliğin değeri bir kaynak referansı olduğunda sabit, aksi halde boş olan göstergeler bulunuyor.
- Hatalı veya uyarılı özellikler artık vurgulanıyor. Kırmızı vurgular hataları (örneğin, geçersiz düzen değerleri kullandığınızda), turuncu vurgular ise uyarıları belirtir (örneğin, sabit kodlanmış değerler kullandığınızda).
Bağımlılıkları hızlı bir şekilde içe aktarmak için yeni niyet işlemi
Kodunuzda belirli Jetpack ve Firebase sınıflarını kullanmaya başlarsanız yeni bir niyet işlemi, henüz yapmadıysanız projenize gerekli Gradle kitaplığı bağımlılığını eklemenizi önerir. Örneğin, önce gerekli android.arch.work:work-runtime
bağımlılığını içe aktarmadan WorkManager
sınıfına başvuruyorsanız aşağıda gösterildiği gibi tek bir tıklamayla bunu kolayca yapmanızı sağlar.
Jetpack, destek kitaplığını yönetimi ve güncellenmesi daha kolay olan ayrı paketler halinde yeniden paketlediğinden bu amaca yönelik işlem, yalnızca kullanmak istediğiniz Jetpack bileşenleri için ihtiyaç duyduğunuz bağımlılıkları hızlıca eklemenize yardımcı olur.
3.3 (Ocak 2019)
Android Studio 3.3, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
3.3.2 (Mart 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir. Önemli hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.3.1 (Şubat 2019)
Bu küçük güncelleme, çeşitli hata düzeltmelerini ve performans iyileştirmelerini içerir.
IntelliJ IDEA 2018.2.2
Temel Android Studio IDE, IntelliJ IDEA'nın 2018.2.2 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.
Android Gradle eklentisi güncellemeleri
Android Gradle eklentisindeki yenilikler hakkında bilgi edinmek için sürüm notlarına bakın.
Gezinme Düzenleyicisi
Gezinme Düzenleyici, Gezinme Mimarisi Bileşeni'ni kullanarak uygulamanızda gezinmeyi hızlı bir şekilde görselleştirmenize ve derlemenize olanak tanır.
Daha fazla bilgi için Gezinme Mimarisi Bileşeni ile gezinme uygulama bölümüne bakın.
Kullanılmayan Android Studio dizinlerini silin
Android Studio'nun bir ana sürümünü ilk kez çalıştırdığınızda uygulama, karşılık gelen yüklemenin bulunamadığı Android Studio sürümlerine ilişkin önbellekleri, ayarları, dizinleri ve günlükleri içeren dizinleri arar. Kullanılmayan Android Studio Dizinlerini Sil iletişim kutusu, kullanılmayan bu dizinlerin konumlarını, boyutlarını ve son değiştirilme zamanlarını görüntüler ve onları silme seçeneği sunar.
Android Studio'nun silinmek üzere değerlendirdiği dizinler aşağıda listelenmiştir:
- Linux:
~/.AndroidStudio[Preview]X.Y
- Mac:
~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
- Windows:
%USER%.AndroidStudio[Preview]X.Y
Lint iyileştirmeleri
Lint, Gradle'dan çağrıldığında önemli ölçüde daha hızlıdır. Daha büyük projelerde lint dört kata kadar daha hızlı çalışabilir.
Yeni Proje Oluşturma sihirbazı
Yeni Proje Oluştur sihirbazı yeni bir görünüme kavuştu ve yeni Android Studio projelerinin oluşturulmasını kolaylaştıran güncellemeler içeriyor.
Daha fazla bilgi için Proje oluşturma başlıklı makaleyi inceleyin.
Profiler güncellemeleri
Android Studio 3.3, bağımsız profil oluşturucuları için güncellemeler içerir.
Daha yüksek performans
Kullanıcı geri bildirimleri dikkate alınarak profil oluşturucuları kullanırken oluşturma performansı büyük ölçüde iyileştirildi. Özellikle performans sorunlarıyla karşılaşmaya devam ediyorsanız lütfen geri bildirim sağlamaya devam edin.
Profiler bellek ayırma izleme seçenekleri
Profil oluşturma sırasında uygulama performansını iyileştirmek için Bellek Profilcisi artık varsayılan olarak bellek ayırmalarını düzenli olarak örnekliyor. İsterseniz Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran cihazlarda test yaparken Ayırma İzleme açılır listesini kullanarak bu davranışı değiştirebilirsiniz.
Ayırma İzleme açılır listesini kullanarak aşağıdaki modlar arasından seçim yapabilirsiniz:
-
Full: Tüm nesne belleği ayırmalarını yakalar. Çok sayıda nesne ayıran bir uygulamanız varsa profil oluşturma sırasında önemli performans sorunları görebileceğinizi unutmayın.
-
Örneklenmiş: Nesne bellek ayırmalarının periyodik bir örneğini yakalar. Bu, varsayılan davranıştır ve profil oluşturma sırasında uygulama performansı üzerindeki etkisi daha azdır. Kısa süre içinde çok sayıda nesne ayıran uygulamalarda bazı performans sorunlarıyla karşılaşabilirsiniz.
-
Kapalı: Bellek ayırmayı kapatır. Seçili değilse bu mod, CPU kaydı alınırken otomatik olarak etkinleştirilir ve kayıt sona erdiğinde önceki ayara geri döner. Bu davranışı CPU kayıt yapılandırması iletişim kutusundan değiştirebilirsiniz.
İzleme işlemi hem Java nesnelerini hem de JNI referanslarını etkiler.
Çerçeve oluşturma verilerini inceleme
Artık CPU Profiler'da Java uygulamanızın ana kullanıcı arayüzü iş parçacığında ve RenderThread'de her bir kareyi oluşturması için gereken süreyi inceleyebilirsiniz. Bu veriler, kullanıcı arayüzü duraklaması ve düşük kare hızlarına neden olan performans sorunlarını araştırırken faydalı olabilir. Örneğin, sorunsuz bir kare hızını korumak için gereken 16 ms.den uzun süren her kare kırmızı renkle gösterilir.
Çerçeve oluşturma verilerini görmek için İzleme Sistemi Çağrıları'nı kullanmanıza olanak tanıyan bir yapılandırma kullanarak iz kaydedin. İzi kaydettikten sonra, aşağıda gösterildiği gibi FRAMES adlı bölümün altında kaydın zaman çizelgesi boyunca her bir kareyle ilgili bilgileri arayın.
Kare hızı sorunlarını araştırma ve düzeltme hakkında daha fazla bilgi edinmek için Yavaş oluşturma bölümünü okuyun.
Etkinlik zaman çizelgesindeki parçalar
Etkinlik zaman çizelgesi artık parçaların ne zaman eklendiğini ve ayrıldığını gösterir. Ayrıca, fareyle bir parçanın üzerine geldiğinizde parçanın durumu ipucu tarafından gösterilir.
Ağ profil aracındaki bağlantı yükleri için biçimlendirilmiş metni görüntüleme
Daha önce, Ağ profil aracı yalnızca bağlantı yüklerinden elde edilen ham metni gösteriyordu. Android Studio 3.3 artık JSON, XML ve HTML dahil olmak üzere belirli metin türlerini varsayılan olarak biçimlendiriyor. Yanıt ve İstek sekmelerinde biçimlendirilmiş metni görüntülemek için Ayrıştırılmış Olarak Göster bağlantısını, ham metni görüntülemek için ise Kaynağı Görüntüle bağlantısını tıklayın.
Daha fazla bilgi için Network Profiler ile ağ trafiğini inceleme bölümüne bakın.
SDK bileşenlerinin otomatik olarak indirilmesi
Projenizin SDK platformlarından, NDK veya CMake'den bir SDK bileşenine ihtiyacı olduğunda Gradle artık SDK Yöneticisi'ni kullanarak ilgili lisans sözleşmelerini kabul etmiş olmanız koşuluyla gerekli paketleri otomatik olarak indirmeye çalışır.
Daha fazla bilgi için Gradle ile eksik paketleri otomatik olarak indirme bölümüne göz atın.
Clang-Tidy desteği
Android Studio artık yerel kod içeren projeler için Clang-Tidy kullanan statik kod analizini destekliyor. Clang-Tidy desteğini etkinleştirmek için NDK'nızı r18 veya sonraki bir sürüme güncelleyin.
Ardından Ayarlar veya Tercihler iletişim kutusunu açıp Düzenleyici > Denetimler > C/C++ > Genel > Clang-Tidy'ye giderek denetimleri etkinleştirebilir veya yeniden etkinleştirebilirsiniz. Ayarlar veya Tercihler iletişim kutusunda bu incelemeyi seçtiğinizde, en sağdaki panelin Option (Seçenek) bölümünün altında etkinleştirilen ve devre dışı bırakılan Clang-Tidy kontrollerinin listesini de görebilirsiniz. Ek kontrolleri etkinleştirmek için bunları listeye ekleyin ve Uygula'yı tıklayın.
Clang-Tidy'yi ek seçeneklerle yapılandırmak için Clang-Tidy Checks Seçeneklerini Yapılandır'ı tıklayın ve açılan iletişim kutusuna bunları ekleyin.
C++ özelleştirme seçeneklerinin kaldırılması
Aşağıdaki seçenekler, C++ Desteğini Özelleştir iletişim kutusundan kaldırıldı:
- İstisna Desteği (-fexceptions)
- Çalışma Zamanı Türü Bilgi Desteği (-ftti)
İlgili davranışlar, Android Studio üzerinden oluşturulan tüm projeler için etkinleştirilir.
CMake sürüm 3.10.2
CMake 3.10.2 sürümü artık SDK Yöneticisi'ne dahil edildi. Gradle'ın varsayılan olarak hâlâ 3.6.0 sürümünü kullandığını unutmayın.
Gradle'ın kullanacağı bir CMake sürümü belirtmek için aşağıdakileri modülünüzün build.gradle
dosyasına ekleyin:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
build.gradle
ürününde CMake'i yapılandırma hakkında daha fazla bilgi edinmek için Gradle'ı manuel olarak yapılandırma bölümüne bakın.
Minimum CMake sürümlerini belirtmek için yeni "+" söz dizimi
Artık ana modülünüzün build.gradle
dosyasında CMake'in bir sürümünü belirtirken, CMake cmake_minimum_required()
komutunun davranışıyla eşleşme sağlamak için "+" ekleyebilirsiniz.
Dikkat: Dinamik bağımlılıklar beklenmeyen sürüm güncellemelerine ve sürüm farklılıklarını çözmede zorlanmaya neden olabileceğinden diğer derleme bağımlılıklarıyla "+" söz diziminin kullanılması önerilmez.
Android App Bundle artık Hazır Uygulamaları destekliyor
Android Studio artık Google Play Instant için tam destekle Android App Bundle oluşturmanıza olanak tanıyor. Yani artık tek bir Android Studio projesinden hem yüklü uygulama hem de hazır uygulama deneyimleri derleyip dağıtabilir ve bunları tek bir Android App Bundle'a ekleyebilirsiniz.
Yeni Proje Oluştur iletişim kutusunu kullanarak yeni bir Android Studio projesi oluşturuyorsanız Projenizi yapılandırın > Bu proje hazır uygulamaları destekler seçeneğinin yanındaki kutuyu işaretlediğinizden emin olun. Android Studio daha sonra her zamanki gibi yeni bir uygulama projesi oluşturur, ancak uygulamanızın temel modülüne Hazır uygulama desteğini eklemek için manifest dosyanıza aşağıdaki özellikleri ekler:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
Ardından menü çubuğundan Dosya > Yeni > Yeni Modül'ü ve ardından Yeni Modül Oluştur iletişim kutusundan Anında Dinamik Özellik Modülü'nü seçerek hazır uygulama özellikli bir özellik oluşturabilirsiniz. Bu modülü oluşturduğunuzda uygulamanızın temel modülünün anında etkinleştirileceğini de unutmayın.
Uygulamanızı hazır uygulama deneyimi olarak yerel bir cihaza dağıtmak için çalışma yapılandırmanızı düzenleyin ve Genel > Hazır uygulama olarak dağıt'ın yanındaki kutuyu işaretleyin.
Tek varyantlı proje senkronizasyonu
Projenizi derleme yapılandırmanızla senkronize etmek, Android Studio'nun projenizin nasıl yapılandırıldığını anlamasının önemli bir adımıdır. Ancak bu süreç büyük projelerde çok zaman alabilir. Projenizde birden fazla derleme varyantı kullanılıyorsa proje senkronizasyonlarını artık yalnızca seçtiğiniz varyantla sınırlandırarak optimize edebilirsiniz.
Bu optimizasyonu etkinleştirmek için Android Gradle eklentisi 3.3.0 veya sonraki sürümleriyle Android Studio 3.3 veya sonraki bir sürümünü kullanmanız gerekir. Bu gereksinimleri karşıladığınızda IDE, projenizi senkronize ederken bu optimizasyonu etkinleştirmenizi ister. Optimizasyon yeni projelerde de varsayılan olarak etkindir.
Bu optimizasyonu manuel olarak etkinleştirmek için Dosya > Ayarlar > Deneysel > Gradle'ı (Mac'te Android Studio > Tercihler > Deneysel > Gradle) tıklayın ve Yalnızca etkin varyantı senkronize et onay kutusunu işaretleyin.
Not: Bu optimizasyon şu anda yalnızca Java programlama dilini içeren projeleri desteklemektedir. Örneğin, IDE, projenizde Kotlin veya C++ kodu algılarsa bu optimizasyonu otomatik olarak etkinleştirmez ve manuel olarak etkinleştirmemeniz gerekir.
Daha fazla bilgi için Tek varyantlı proje senkronizasyonunu etkinleştirme bölümüne bakın.
Hızlı geri bildirim sağlama
Android Studio'nun geliştirilmesine yardımcı olmak için kullanım istatistiklerini paylaşmayı etkinleştirdiyseniz IDE penceresinin alt kısmındaki durum çubuğunda şu iki yeni simgeyi görürsünüz:
Mevcut IDE deneyiminizi en iyi yansıtan simgeyi tıklamanız yeterlidir. Bunu yaptığınızda IDE, Android Studio ekibinin duygularınızı daha iyi anlamasına olanak tanıyan kullanım istatistiklerini gönderir. Bazı durumlarda, örneğin IDE'de olumsuz bir deneyim yaşadığınızı belirttiğinizde ek geri bildirim sağlama fırsatınız olur.
Henüz yapmadıysanız Mac'te Ayarlar iletişim kutusunu Tercihler'i açıp, Görünüm ve Davranış > Sistem Ayarları > Veri Paylaşımı'na gidip Kullanım istatistiklerini Google'a gönder'i işaretleyerek kullanım istatistiklerini paylaşmayı etkinleştirebilirsiniz.
3.2 (Eylül 2018)
Android Studio 3.2, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
3.2.1 (Ekim 2018)
Bu Android Studio 3.2 güncellemesi, aşağıdaki değişiklikleri ve düzeltmeleri içerir:
- Paket halinde sunulan Kotlin sürümü artık 1.2.71.
- Varsayılan derleme araçları sürümü artık 28.0.3'tür.
- Gezinme kitaplığında,
type
olan bağımsız değişken türleriargType
olarak yeniden adlandırıldı. - Aşağıdaki hatalar düzeltildi:
- Data Binding kitaplığı kullanılırken alt çizgili değişken adları derleme hatalarına neden oluyordu.
- CMake, IntelliSense ve diğer CLion özelliklerinin başarısız olmasına neden oluyordu.
SliceProvider
eklemek,androidx.*
kitaplığı kullanmayan projelerde derleme hatalarına neden oluyordu.- Bazı Kotlin birim testleri çalıştırılmıyor.
- Veri bağlamayla ilgili bir sorun nedeniyle
PsiInvalidElementAccessException
oluştu. <merge>
öğeleri bazen Düzen Düzenleyici'nin kilitlenmesine neden oluyordu.
3.2.0 ile ilgili bilinen sorunlar
Not: Bu sorunlar, Android Studio 3.2.1 sürümünde çözülmüştür
Kotlin 1.2.70 sürümünü kullanmamanızı önemle tavsiye ederiz.
Kotlin 1.2.61 sürümü, Android Studio'nun takılmasına neden olabilecek bir hatayı düzeltir ancak Kotlin 1.2.70 bu düzeltmeyi içermez.
Ancak Kotlin 1.2.71 ve sonraki sürümleri bu düzeltmeyi içerir.
-
Genellikle derleme araçları sürümünü belirtmeniz gerekmese de, Android Gradle eklentisi 3.2.0'ı
renderscriptSupportModeEnabled
true
değerine ayarlı olarak kullanırken, her bir modülünbuild.gradle
dosyasına aşağıdakileri eklemeniz gerekir:android.buildToolsVersion "28.0.3"
Asistan'daki Yenilikler
Yeni asistan, Android Studio'daki son değişiklikler hakkında sizi bilgilendirir.
Asistan, yeni bir yükleme veya güncellemeden sonra, gösterilecek yeni bilgiler olduğunu algılarsa Android Studio'yu başlattığınızda açılır. Asistanı, Yardım > Android Studio'daki yenilikler'i seçerek de açabilirsiniz.
Android Jetpack
Android Jetpack, tekrar eden görevleri ortadan kaldıran ve yüksek kaliteli, test edilebilir uygulamaları daha hızlı ve kolay bir şekilde geliştirmenizi sağlayan bileşenler, araçlar ve rehberlikle Android'in gelişimini hızlandırmaya yardımcı olur. Android Studio, Jetpack'i desteklemek için aşağıdaki güncellemeleri içerir. Daha fazla bilgi için Jetpack dokümanlarına bakın.
Gezinme Düzenleyicisi
Yeni Gezinme Düzenleyicisi, uygulamanızın gezinme yapısını oluştururken grafiksel bir görünüm sağlamak için Android Jetpack'in gezinme bileşenleriyle entegre olur. Gezinme Düzenleyicisi, uygulama içi hedefler arasında gezinmenin tasarımını ve uygulanmasını kolaylaştırır.
Android Studio 3.2'de, Gezinme Düzenleyicisi deneysel bir özelliktir. Gezinme Düzenleyici'yi etkinleştirmek için Dosya > Ayarlar'ı (Mac'te Android Studio > Tercihler) tıklayın, sol bölmeden Deneysel kategorisini seçin, Gezinme Düzenleyicisini Etkinleştir'in yanındaki kutuyu işaretleyin ve Android Studio'yu yeniden başlatın.
Daha fazla bilgi edinmek için Gezinme Düzenleyici belgelerini okuyun.
AndroidX taşıma
Jetpack'in bir parçası olarak, androidx
ad alanını kullanarak Android Destek Kitaplıklarını yeni bir Android uzantı kitaplığına taşıyoruz. Daha fazla bilgi için AndroidX'e genel bakış konusuna bakın.
Android Studio 3.2, yeni taşıma özelliğiyle bu süreçte size yardımcı olur.
Mevcut bir projeyi AndroidX'e taşımak için Yeniden düzenle > AndroidX'e taşı'yı seçin. AndroidX ad alanına taşınmamış Maven bağımlılıkları varsa Android Studio derleme sistemi ayrıca bu proje bağımlılıklarını da otomatik olarak dönüştürür.
Android Gradle eklentisi, gradle.properties
dosyanızda ayarlayabileceğiniz şu genel işaretleri sağlar:
android.useAndroidX
:true
olarak ayarlandığında bu işaret, artık AndroidX'i kullanmaya başlamak istediğinizi belirtir. İşaret yoksa Android Studio, bayrakfalse
olarak ayarlanmış gibi davranır.android.enableJetifier
:true
olarak ayarlandığında bu işaret, mevcut üçüncü taraf kitaplıkları AndroidX için yazılmış gibi otomatik olarak dönüştürmek amacıyla (Android Gradle eklentisinden) araç desteği almak istediğinizi belirtir. İşaret yoksa Android Studio, bayrakfalse
seçeneğine ayarlanmış gibi davranır.
Migrate to AndroidX (AndroidX'e Taşı) komutunu kullandığınızda her iki işaret de true
olarak ayarlanır.
AndroidX kitaplıklarını hemen kullanmaya başlamak istiyorsanız ve mevcut üçüncü taraf kitaplıkları dönüştürmeniz gerekmiyorsa android.useAndroidX
işaretini true
ve android.enableJetifier
işaretini false
olarak ayarlayabilirsiniz.
Android App Bundle
Android App Bundle, uygulamanızın tüm derlenmiş kodunu ve kaynaklarını içeren yeni bir yükleme biçimidir ancak APK oluşturmayı ve Google Play Store'da imzalamayı erteler.
Google Play'in yeni uygulama sunma modeli, uygulama paketinizi kullanarak her kullanıcının cihaz yapılandırmasına göre optimize edilmiş APK'lar oluşturur ve sunar. Böylece her kullanıcı yalnızca uygulamanızı çalıştırmak için ihtiyaç duyduğu kod ve kaynakları indirir. Artık birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Kullanıcılar daha küçük ve daha optimize edilmiş indirmeler elde ederler.
Ayrıca, uygulama projenize özellik modülleri ekleyebilir ve bunları uygulama paketinize dahil edebilirsiniz. Daha sonra kullanıcılarınız uygulamanızın özelliklerini isteğe bağlı olarak indirip yükleyebilir.
Paket oluşturmak için Derleme > Derleme Paketleri / APK'lar > Derleme Paketleri'ni seçin.
Android App Bundle oluşturma ve analiz etme talimatları da dahil olmak üzere daha fazla bilgi için Android App Bundle bölümüne bakın.
Düzen Düzenleyici'de örnek veriler
Birçok Android düzeni, uygulama geliştirmenin tasarım aşamasında bir düzenin görünümünün ve tarzının görselleştirilmesini zorlaştırabilecek çalışma zamanı verilerine sahiptir. Artık Düzen Düzenleyici'de görünümünüzün örnek verilerle doldurulan bir önizlemesini kolayca görebilirsiniz. Bir görünüm eklediğinizde, Tasarım penceresindeki görünümün altında bir düğme görünür. Tasarım zamanı görünümü özelliklerini ayarlamak için bu düğmeyi tıklayın. Çeşitli örnek veri şablonları arasından seçim yapabilir ve görünümün doldurulacağı örnek öğe sayısını belirtebilirsiniz.
Örnek verileri kullanmayı denemek için yeni düzene RecyclerView
ekleyin, görünümün altındaki tasarım zamanı özellikleri düğmesini tıklayın ve örnek veri şablonları bandından bir seçim yapın.
Dilimler
Dilimler, uygulamanızın işlevlerinden bazı bölümleri Android'deki diğer kullanıcı arayüzü yüzeylerine yerleştirmek için yeni bir yol sunar. Örneğin, Dilimler, Google Arama önerilerinde uygulama işlevselliğinin ve içeriğinin gösterilmesini mümkün kılar.
Android Studio 3.2'de, uygulamanızı yeni Dilim Sağlayıcı API'leriyle genişletmenize yardımcı olacak yerleşik bir şablon ve Dilimleri oluştururken en iyi uygulamaları izlediğinizden emin olmanızı sağlayan yeni lint denetimleri bulunur.
Başlamak için bir proje klasörünü sağ tıklayın ve New (Yeni) > Other (Diğer) > Slice Provider'ı (Dilim Sağlayıcı) seçin.
Dilim etkileşimlerinizi nasıl test edeceğiniz de dahil olmak üzere daha fazla bilgi edinmek için Dilimler başlangıç kılavuzunu okuyun.
Kotlin 1.2.61
Android Studio 3.2, Kotlin 1.2.61'i içerir. Yeni Android SDK ise Kotlin ile daha iyi entegre olur. Daha fazla bilgi için Android Geliştiricileri bloguna bakın.
IntelliJ IDEA 2018.1.6
Temel Android Studio IDE, IntelliJ IDEA'nın 2018.1.6 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir.
Android profil araçları
Android Studio 3.2'de aşağıdaki yeni Android Profiler özelliklerini deneyin.
Oturumlar
Daha sonra tekrar incelemek ve incelemek için Profiler verilerini oturumlar olarak kaydedebilirsiniz. Profil oluşturucu, siz IDE'yi yeniden başlatana kadar oturum verilerinizi saklar.
Bir yöntem izi kaydettiğinizde veya yığın dökümü yakaladığınızda IDE bu verileri (uygulamanızın ağ etkinliğiyle birlikte) geçerli oturuma ayrı bir giriş olarak ekler. Böylece verileri karşılaştırmak için kayıtlar arasında kolayca geçiş yapabilirsiniz.
Sistem İzleme
Cihazınızın sistem CPU ve iş parçacığı etkinliğini incelemek için CPU Profiler'da (CPU Profiler) yeni System Trace yapılandırmasını seçin. Bu iz yapılandırması, systrace
üzerine kurulmuştur ve kullanıcı arayüzü olumsuzluğu gibi sistem düzeyindeki sorunları incelemek için yararlıdır.
Bu iz yapılandırmasını kullanırken C/C++ kodunuzu yerel tracing API veya Java kodunuzla Trace
sınıfıyla birleştirerek profil oluşturucu zaman çizelgesindeki önemli kod rutinlerini görsel olarak işaretleyebilirsiniz.
Bellek Profil Aracı'nda JNI referanslarını inceleme
Uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihaza dağıtıyorsanız artık uygulamanızın JNI kodu için bellek ayırmalarını Bellek Profil Aracı'nı kullanarak inceleyebilirsiniz.
Uygulamanız çalışırken, zaman çizelgesinin incelemek istediğiniz bölümünü seçin ve aşağıda gösterildiği gibi, sınıf listesinin üzerindeki açılır menüden JNI yığını seçeneğini belirleyin. Daha sonra, yığındaki nesneleri normalde yaptığınız gibi inceleyebilir ve JNI referanslarının kodunuzda nerede ayrıldığını ve serbest bırakıldığını görmek için Ayırma Çağrı Yığını sekmesinde nesneleri çift tıklayabilirsiniz.
Bellek yığın döküm dosyalarını içe aktarma, dışa aktarma ve inceleme
Artık Bellek Profil Aracı ile oluşturulan .hprof
bellek yığın dökümü dosyalarını içe aktarabilir, dışa aktarabilir ve inceleyebilirsiniz.
Profil oluşturucunun Oturumlar bölmesinde Yeni profil aracı oturumu başlat
öğesini tıklayıp
Dosyadan yükle'yi seçerek .hprof
dosyanızı içe aktarın. Ardından, diğer yığın dökümlerinde olduğu gibi Bellek Profil Aracı'nda verilerini inceleyebilirsiniz.
Yığın dökümü verilerini daha sonra incelemek üzere kaydetmek için Oturumlar bölmesindeki Yığın Dökümü girişinin sağ tarafında bulunan Yığın Dökümünü Dışa Aktar düğmesini kullanın. Açılan Farklı Dışa Aktar iletişim kutusuna, dosyayı .hprof
dosya adı uzantısıyla kaydedin.
Uygulama başlatılırken CPU etkinliğini kaydedin
Artık uygulamanızın başlatılması sırasında CPU etkinliğini aşağıdaki şekilde kaydedebilirsiniz:
- Ana menüden Çalıştır > Yapılandırmaları Düzenle'yi seçin.
- İstediğiniz çalıştırma yapılandırmasının Profil oluşturma sekmesinde Başlangıçta bir yöntem izlemeyi kaydetmeye başla seçeneğinin yanındaki kutuyu işaretleyin.
- Açılır menüden kullanılacak bir CPU kayıt yapılandırması seçin.
- Çalıştır > Profil'i seçerek uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihaza dağıtın.
CPU izlerini dışa aktar
CPU Profiler ile CPU etkinliğini kaydettikten sonra verileri başkalarıyla paylaşmak veya daha sonra incelemek üzere .trace
dosyası olarak dışa aktarabilirsiniz.
CPU etkinliğini kaydettikten sonra bir izi dışa aktarmak için aşağıdakileri yapın:
- 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 yere gidin ve Kaydet'i tıklayın.
CPU izleme dosyalarını içe aktarma ve denetleme
Artık Debug API veya CPU Profiler ile oluşturulan .trace
dosyalarını içe aktarabilir ve inceleyebilirsiniz. (Şu anda
Sistem İzleme kayıtlarını içe aktaramazsınız.)
Profil oluşturucunun Oturumlar bölmesinde Yeni profil oluşturucu oturumu başlat'ı tıklayıp Dosyadan yükle'yi seçerek izleme dosyanızı içe aktarın. Daha sonra, verileri aşağıdaki istisnalarla, CPU Profiler'da normalde yaptığınız gibi inceleyebilirsiniz:
- CPU etkinliği, CPU zaman çizelgesinde temsil edilmez.
- İş parçacığı etkinliği zaman çizelgesi, yalnızca her iş parçacığı için iz verilerinin nerede bulunduğunu ve gerçek iş parçacığı durumlarını (çalışıyor, bekleme veya uyku gibi) değil, nerede bulunduğunu gösterir.
Debug API'yi kullanarak CPU etkinliğini kaydetme
Artık uygulamanıza Debug API'yi kullanarak araç ekleyerek CPU Profiler'da CPU etkinliğini kaydetmeyi başlatabilir ve durdurabilirsiniz. Uygulamanızı bir cihaza dağıttıktan sonra, uygulamanız startMethodTracing(String tracePath)
çağrısı yaptığında profil oluşturucu otomatik olarak CPU etkinliğini kaydetmeye başlar ve uygulamanız stopMethodTracing()
çağrısı yaptığında profil oluşturucu kaydı durdurur. Bu API kullanılarak tetiklenen CPU etkinliğini kaydederken CPU Profiler, seçilen CPU kayıt yapılandırması olarak Debug API'yi gösterir.
Enerji Profil Aracı
Enerji Profil Aracı, uygulamanızın tahmini enerji kullanımının yanı sıra uyanık kalma kilitleri, alarmlar ve işler gibi enerji kullanımını etkileyen sistem olaylarının görselini gösterir.
Uygulamanızı Android 8.0 (API 26) veya sonraki sürümleri çalıştıran bağlı bir cihazda ya da Android Emülatör'de çalıştırdığınızda Enerji Profil Aracı, Profiler penceresinin alt kısmında yeni bir satır olarak görünür.
Enerji Profil Aracı görünümünü en üst düzeye çıkarmak için Enerji satırını tıklayın. Alakalı sistem etkinliklerinin yanı sıra CPU, ağ ve konum (GPS) kaynaklarına göre enerji kullanımının dökümünü görmek için fare imlecinizi zaman çizelgesindeki bir çubuğun üzerine getirin.
Enerji kullanımını etkileyen sistem etkinlikleri, Enerji zaman çizelgesinin altında Sistem zaman çizelgesinde gösterilir. Enerji zaman çizelgesinde bir zaman aralığı seçtiğinizde, belirtilen zaman aralığındaki sistem etkinliklerinin ayrıntıları etkinlik bölmesinde gösterilir.
Çağrı yığınını ve bir sistem etkinliğinin diğer ayrıntılarını (ör. uyanık kalma kilidi) görmek için etkinlik bölmesinde bunu seçin. Bir sistem etkinliğinden sorumlu koda gitmek için çağrı yığınındaki girişi çift tıklayın.
Hata analizi
Android Studio 3.2, lint denetimi için pek çok yeni ve iyileştirilmiş özellik içerir.
Yeni lint denetimleri, olası kullanılabilirlik sorunlarıyla ilgili uyarılardan olası güvenlik açıklarıyla ilgili yüksek öncelikli hatalara kadar yaygın kod sorunlarını bulup tanımlamanıza yardımcı olur.
Lint, Java/Kotlin birlikte çalışabilirliğini kontrol eder
Java kodunuzun Kotlin kodunuzla iyi bir şekilde birlikte çalıştığından emin olmak için yeni lint denetimleri, Kotlin Birlikte Çalışma Kılavuzu'nda açıklanan en iyi uygulamaları zorunlu kılar. Nullability ek açıklamalarının varlığını arama, Kotlin sabit anahtar kelimelerinin kullanımı ve lambda parametrelerinin en son yerleştirilmesi bu kontrollere örnek verilebilir.
Bu kontrolleri etkinleştirmek için Dosya > Ayarlar'ı (Mac'te Ayarlar iletişim kutusunu açmak üzere Android Studio > Tercihler) tıklayın, Düzenleyici > Denetimler > Android > Lint > Birlikte Çalışabilirlik > Kotlin Birlikte Çalışabilirlik bölümüne gidin ve etkinleştirmek istediğiniz kuralları seçin.
Komut satırı derlemelerinde bu denetimleri etkinleştirmek için build.gradle
dosyanıza aşağıdakileri ekleyin:
android {
lintOptions {
check 'Interoperability'
}
}
Dilimler için hata analizi denetimleri
Dilimler için yeni hata analizi denetimleri, Dilimleri doğru şekilde oluşturduğunuzdan emin olmanıza yardımcı olur. Örneğin, lint kontrolleri bir Dilime birincil işlem atamadıysanız sizi uyarır.
Yeni Gradle hedefi
Hata analizi denetimi tarafından önerilen tüm güvenli düzeltmeleri doğrudan kaynak koduna uygulamak için yeni lintFix
Gradle görevini kullanın. Uygulanması gereken güvenli bir düzeltmeyi öneren hata analizi kontrolüne örnek olarak SyntheticAccessor
verilebilir.
Meta veri güncellemeleri
Hizmet yayın kontrolü gibi çeşitli meta veriler, lint denetimlerinin Android 9 (API düzeyi 28) ile çalışması için güncellendi.
Yeni bir varyantta lint çalıştırılıyorsa uyarı
Lint artık bir referans değerin hangi varyant ve sürümle birlikte kaydedildiğini kaydeder ve referansın oluşturulduğu varyanttan farklı bir varyantta çalıştırırsanız lint sizi uyarır.
Mevcut hata analizi kontrollerinde iyileştirmeler
Android Studio 3.2, mevcut lint kontrollerine yönelik birçok iyileştirme içerir. Örneğin, kaynak döngüsü kontrolleri artık ek kaynak türlerine uygulanır ve çeviri algılayıcı, düzenleyicide eksik çevirileri anında bulabilir.
Sorun kimlikleri daha kolay bulunabilir
Sorun kimlikleri artık İnceleme Sonuçları penceresi de dahil olmak üzere daha fazla yerde gösterilmektedir. Bu, build.gradle
içindeki lintOptions
aracılığıyla belirli kontrolleri etkinleştirmek veya devre dışı bırakmak için ihtiyacınız olan bilgileri bulmanızı kolaylaştırır.
Daha fazla bilgi için Gradle ile lint seçeneklerini yapılandırma bölümüne bakın.
Veri Bağlama V2
Veri Bağlama V2 artık varsayılan olarak etkin ve V1 ile uyumludur. Diğer bir deyişle, V1 ile derlediğiniz kitaplık bağımlılıkları varsa bunları Data Binding V2 kullanarak projelerle kullanabilirsiniz. Ancak V1 kullanan projelerin V2 ile derlenen bağımlılıkları tüketemeyeceğini unutmayın.
D8 şekerden arındırma
Android Studio 3.1'de, şeker giderme adımını deneysel bir özellik olarak D8 aracına entegre ederek genel derleme süresini kısalttık. Android Studio 3.2'de, D8 ile şeker giderme varsayılan olarak açıktır.
Yeni kod küçültücü
R8, ProGuard'ın yerini alan yeni bir kod küçültme ve kod karartma aracıdır. Projenizin gradle.properties
dosyasına aşağıdakileri ekleyerek R8'in önizleme sürümünü kullanmaya başlayabilirsiniz:
android.enableR8 = true
Çoklu APK'lar için varsayılan ABI'ler değiştirildi
Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluştururken eklenti artık varsayılan olarak şu ABI'ler için APK oluşturmaz: mips
, mips64
ve armeabi
.
Bu ABI'leri hedefleyen APK'lar oluşturmak isterseniz NDK r16b veya daha düşük bir kullanmanız ve ABI'leri aşağıda gösterildiği gibi build.gradle
dosyanızda belirtmeniz gerekir:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
Not: Bu davranış değişikliği, Android Studio 3.1 RC1 ve sonraki sürümlere de dahil edilmiştir.
CMake derleme dosyaları için gelişmiş düzenleyici özellikleri
Projenize C ve C++ kodu eklemek için CMake'i kullanıyorsanız Android Studio artık CMake derleme komut dosyalarınızı düzenlemenize yardımcı olacak aşağıdaki gibi iyileştirilmiş düzenleyici özellikleri içeriyor:
- Söz dizimi vurgulama ve kod tamamlama: IDE artık yaygın CMake komutları için kod tamamlamayı vurgulayıp öneriyor. Ayrıca, Ctrl tuşuna (Mac'te Command) basarken dosyayı tıklayarak da ilgili dosyaya gidebilirsiniz.
- Kodu yeniden biçimlendirme: Artık kod stillerini CMake derleme komut dosyalarınıza uygulamak için IntelliJ'in kod yeniden biçimlendirme seçeneğini kullanabilirsiniz.
- Güvenli bir şekilde yeniden düzenleme: IDE'nin yerleşik yeniden düzenleme araçları artık CMake derleme komut dosyalarınızda referans verdiğiniz dosyaları yeniden adlandırıp adlandırmadığınızı da kontrol eder.
Harici başlık dosyalarına gitme
Android Studio'nun önceki sürümlerinde Proje penceresini kullanırken yalnızca yerel bir projeden oluşturduğunuz kitaplıklara ait başlık dosyalarında gezinebiliyor ve bunları inceleyebiliyordunuz. Bu sürümle, artık uygulama projenize aktardığınız harici C/C++ kitaplığı bağımlılıklarına dahil olan başlık dosyalarını da görüntüleyebilir ve inceleyebilirsiniz.
Projenize C/C++ kodunu ve kitaplıklarını zaten eklediyseniz ana menüden Görünüm > Araç Pencereleri > Proje'yi ve açılır menüden Android'i seçerek IDE'nin sol tarafındaki Proje penceresini açın. cpp dizininde uygulama projenizin kapsamındaki tüm başlıklar, aşağıda gösterildiği gibi yerel C/C++ kitaplığı bağımlılıklarınızın her biri için include düğümü altında düzenlenir.
Yerel çokludex varsayılan olarak etkin
Android Studio'nun önceki sürümleri, bir uygulamanın hata ayıklama sürümünü Android API düzeyi 21 veya üstünü çalıştıran bir cihaza dağıtırken yerel multidex'i etkinleştiriyordu. Artık ister bir cihaza dağıtım yapıyor ister yayınlanmak üzere bir APK oluşturuyor olun, Gradle için Android eklentisi minSdkVersion=21
veya daha yüksek bir değere ayarlanmış tüm modüller için yerel multidex'i etkinleştirir.
AAPT2, Google'ın Maven deposuna taşındı
Android Studio 3.2'den itibaren AAPT2 (Android Öğe Paketleme Aracı 2) kaynağı Google'ın Maven deposudur.
AAPT2'yi kullanmak için aşağıda gösterildiği gibi build.gradle
dosyanızda google()
bağımlılığı olduğundan emin olun:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2'nin yeni sürümü, Windows'da ASCII olmayan karakterlerin daha iyi işlenmesi dahil olmak üzere birçok sorunu giderir.
İsteğe bağlı yapılandırmanın kaldırılması
İsteğe bağlı yapılandırma tercihi Android Studio'dan kaldırıldı.
Android Studio artık --configure-on-demand
bağımsız değişkenini Gradle'a iletmez.
ADB Bağlantı Asistanı
Yeni ADB Connection Assistant, Android Debug Bridge (ADB) bağlantısı üzerinden cihaz kurup kullanmanıza yardımcı olacak adım adım talimatlar sağlar.
Asistanı başlatmak için Araçlar > Bağlantı Asistanı'nı seçin.
ADB Connection Assistant; Asistan panelindeki bir dizi sayfada talimatlar, bağlam içi denetimler ve bağlı cihazların bir listesini sağlar.
Emülatör iyileştirmeleri
Artık Android Emulator'da bir AVD'nin (Android sanal cihazı) anlık görüntülerini istediğiniz zaman kaydedip yükleyebilirsiniz. Böylece, emüle edilmiş bir cihazı test için bilinen bir duruma hızlıca ve kolayca geri döndürebilirsiniz. AVD Yöneticisi'ni kullanarak bir AVD'yi düzenlediğinizde, AVD başladığında hangi AVD anlık görüntüsünün yükleneceğini belirleyebilirsiniz.
AVD anlık görüntülerini kaydetme, yükleme ve yönetme denetimleri artık emülatörün Genişletilmiş denetimler penceresindeki Anlık Görüntüler sekmesinde bulunmaktadır.
Ayrıntılar için Anlık görüntüler başlıklı makaleye bakın.
Emülatördeki yenilikler ve değişiklikler hakkında daha fazla bilgi için Emülatör sürüm notlarına bakın.
3.1 (Mart 2018)
Android Studio 3.1.0, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
3.1.4 (Ağustos 2018)
Bu Android Studio 3.1 güncellemesi, aşağıdaki değişiklikleri ve düzeltmeleri içerir:
- Paket halinde sunulan Kotlin'in 1.2.50 sürümü yayınlandı.
-
Yeni projeler, kullanımdan kaldırılan
kotlin-stdlib-jre*
yapıları yerinekotlin-stdlib-jdk* artifacts
ile oluşturulur. - ProGuard kurallarının R8 ayrıştırması iyileştirildi.
- Aşağıdaki hatalar düzeltildi:
-
Kotlin Ana sınıfını çalıştırma denemesi bir hata nedeniyle başarısız oldu:
"Error: Could not find or load main class..."
- R8, belirli optimizasyonlar gerçekleştirirken sonsuz döngüye girdi.
- Çalıştır penceresindeki Başarısız testleri yeniden çalıştır komutunun kullanılması bazen yanlışlıkla "Test bulunamadı" mesajının döndürülmesine neden oluyordu.
-
D8,
invoke-virtual
örneği doğru şekilde işlemediği içinVerifyError
ile kilitlenmeye neden oldu:invoke-super/virtual can't be used on private method
-
Data Binding derleyicisi,
com.android.tools:annotations
tarayıcısının eski bir sürümüne bağlıydı. Derleyici artık mevcut olduğunda temel projedeki araç ek açıklamalarını kullanıyor. - Profil oluşturucuları kullanılırken parça geçişleri sırasında Android Studio çöktü.
- Hata ayıklayıcı, metin kutusu bulunan bir düzende hata ayıklarken kilitlendi.
- D8, özel karakterler içeren bazı ZIP dosyalarını okuyamadı.
3.1.3 (Haziran 2018)
Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hataların düzeltmelerini içerir:
- Bellek sızıntıları, Düzen Düzenleyici'yi kullandıktan sonra Android Studio'nun yavaş olmasına ve yanıt vermemesine neden oldu. Bu güncelleme, bu sorunların çoğuna yönelik düzeltmeleri içerir. Ek bellek sızıntılarını gidermek için yakında başka bir güncelleme yayınlamayı planlıyoruz.
- D8 ile oluşturulan bazı uygulamalar, bazı Verizon Ellipsis tabletlerinde kilitlendi.
-
D8 ile oluşturulan uygulamaların yüklenmesi, Android 5.0 veya 5.1 (API düzeyi 21 veya 22) çalıştıran cihazlarda
INSTALL_FAILED_DEXOPT
hatası vererek başarısız oldu. - OkHttp kitaplığını kullanan ve D8 ile oluşturulan bazı uygulamalar, Android 4.4 (API düzeyi 19) çalıştıran cihazlarda kilitlendi.
-
Android Studio bazen
com.intellij.psi.jsp.JspElementType
için sınıf ilk kullanıma hazırlanırkenProcessCanceledException
ile başlanamıyordu.
3.1.2 (Nisan 2018)
Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hataların düzeltmelerini içerir:
- Bazı durumlarda, Android Studio çıkış sırasında süresiz olarak askıda kalmıştır.
-
Anında Çalıştırma etkinken kaynak kümeleri ile yapılandırılan derlemeler aşağıdaki mesajla başarısız oluyordu:
"The SourceSet name is not recognized by the Android Gradle Plugin."
- Anında Çalıştırma etkinleştirildiğinde, yeni Kotlin projelerinin derlemeleri Çalıştır komutu ile tetiklendiğinde başarısız oluyordu.
-
build.gradle
dosyası düzenlenirken bazen bir karakterin yazılması ile ekranda görünmesi arasında fark edilir bir gecikme oluyordu. -
Çok sayıda modül veya harici bağımlılığa sahip bazı projelerde sıralama işlemi sırasında aşağıdaki hata mesajıyla birlikte derleme hataları oluştu:
"RejectedExecutionException: Thread limit exceeded replacing blocked worker"
- D8 ana DEX listesi hesaplanırken bazı yansıtıcı çağrılar dikkate alınmamıştır.
Bu güncelleme, bazı senaryolarda Gradle'dan lint kontrollerini çalıştırmayı çok daha hızlı hale getiren değişiklikleri de içerir.
3.1.1 (Nisan 2018)
Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hataların düzeltmelerini içerir:
-
Bazı durumlarda, Android Studio 3.0'da oluşturulan bir proje Android Studio 3.1'de ilk kez açıldığında, Gradle-aware Make görevi Çalıştırma/Hata Ayıklama Yapılandırmaları'ndaki Lansmandan önce alanından kaldırılmıştır. Sonuçta, Çalıştır veya Hata Ayıkla düğmesi tıklandığında projelerin oluşturulmaması sonucunda yanlış APK'ların dağıtılması ve Anında Çalıştırma kullanılırken kilitlenmeler gibi hatalar ortaya çıkmıştır.
Android Studio 3.1.1, bu sorunu çözmek için bu girişin eksik olduğu projelerin çalıştırma yapılandırmasına Gradle-aware Make görevini ekler. Bu değişiklik, proje yüklendiğinde ilk Gradle senkronizasyonundan sonra gerçekleşir.
- Gelişmiş profil oluşturma etkinse hata ayıklayıcı, metin kutusu içeren bir düzende hata ayıklarken çöküyordu.
- Varyant Oluştur'u tıklamanızdan sonra Android Studio dondu.
- AAR (Android arşivi) dosyaları bir kez Gradle senkronizasyonu işlemi ve bir kez de Gradle derleme işlemi sırasında olmak üzere iki kez çıkartıldı.
- SVG dosyalarından içe aktarılan bazı vektör çekilebilir öğelerinde öğeler eksikti.
-
compile
bağımlılık yapılandırmasının kullanımdan kaldırılmasıyla ilgili uyarı,implementation
veapi
yapılandırmalarıyla ilgili daha iyi rehberlik içerecek şekilde güncellendi.compile
yapılandırmasını kullanmayı bırakmayla ilgili ayrıntılar için yeni bağımlılık yapılandırmalarıyla ilgili belgelere göz atın.
Kodlama/IDE
IntelliJ 2017.3.3
Temel Android Studio IDE, IntelliJ IDEA'nın 2017.3.3 sürümü boyunca yapılan iyileştirmelerle güncellenmiştir. İyileştirmeler arasında koleksiyonlar ve dizeler için daha iyi kontrol akışı analizi, iyileştirilmiş boş değer çıkarımı, yeni hızlı düzeltmeler ve çok daha fazlası bulunur.
Ayrıntılı bilgi için IntelliJ IDEA'nın 2017.2 ve 2017.3 sürümleriyle ilgili JetBrains sürüm notlarına ve hata düzeltmesi güncellemeleri ile ilgili JetBrains sürüm notlarına göz atın.
Room ile SQL düzenlemede iyileştirmeler
Oda veritabanı kitaplığını kullandığınızda SQL düzenlemede yapılan çeşitli iyileştirmelerden yararlanabilirsiniz:
Query
içinde kod tamamlama SQL tablolarını (varlıklar), sütunları, sorgu parametrelerini, takma adları, birleştirmeleri, alt sorguları ve WITH yan tümcelerini anlar.- SQL söz dizimi vurgulaması artık çalışıyor.
- SQL'de bir tablo adını sağ tıklayıp yeniden adlandırabilirsiniz. Bu işlem, karşılık gelen Java veya Kotlin kodunu da (örneğin, sorgunun döndürülen türü dahil) yeniden yazar. Yeniden adlandırma işlemi ters yönde de çalışır. Bu nedenle, bir Java sınıfının veya alanın yeniden adlandırılması, karşılık gelen SQL kodunun yeniden yazılmasına neden olur.
- SQL kullanımları, Kullanımları bul özelliği kullanılırken gösterilir (sağ tıklayın ve içerik menüsünden Kullanımları bul'u seçin).
- Java veya Kotlin kodunda bir SQL varlığı bildirimine gitmek için varlığı tıklarken Control (Mac'te Command) tuşunu basılı tutabilirsiniz.
Oda ile SQL kullanma hakkında bilgi için Oda'yı kullanarak verileri yerel bir veritabanına kaydetme bölümüne bakın.
Veri bağlama güncellemeleri
Bu güncelleme, veri bağlama için çeşitli iyileştirmeler içerir:
-
Artık bir
LiveData
nesnesini veri bağlama ifadelerinde gözlemlenebilir alan olarak kullanabilirsiniz.ViewDataBinding
sınıfı artıkLiveData
nesnelerini gözlemlemek için kullandığınız yeni birsetLifecycle()
yöntemini içeriyor. -
ObservableField
sınıfı artık oluşturucusunda diğerObservable
nesnelerini kabul edebilir. -
Veri bağlama sınıflarınız için yeni bir artımlı derleyiciyi önizleyebilirsiniz. Bu yeni derleyiciyle ilgili ayrıntılar ve etkinleştirme talimatları için Data Binding Derleyici V2'ye göz atın.
Yeni derleyicinin avantajları şunlardır:
-
ViewBinding
sınıfları, Java derleyicisinden önce Android Plugin for Gradle tarafından oluşturulur. - Kitaplıklar, her seferinde yeniden oluşturulmak yerine, uygulama derlendiğinde oluşturulan bağlama sınıflarını korur. Bu, çok modüllü projelerin performansını önemli ölçüde artırabilir.
-
Derleyici ve Gradle
D8, varsayılan DEX derleyicidir
D8 derleyici artık DEX bayt kodu oluşturmak için varsayılan olarak kullanılmaktadır.
Bu yeni DEX derleyicisi, aşağıdakiler de dahil olmak üzere çeşitli avantajlar sunar:
- Daha hızlı dex kullanma
- Daha düşük bellek kullanımı
- İyileştirilmiş kod oluşturma (daha iyi kayıt dağılımı, daha akıllı dize tabloları)
- Kodlarda adım adım ilerlerken daha iyi hata ayıklama deneyimi
Daha önce D8 derleyicisini devre dışı bırakmadıysanız, bu avantajlardan yararlanmak için kodunuzda veya geliştirme iş akışınızda herhangi bir değişiklik yapmanız gerekmez.
gradle.properties
sayfanızda android.enableD8
öğesini false
olarak ayarlarsanız bu işareti silin veya true
olarak ayarlayın:
android.enableD8=true
Ayrıntılar için Yeni DEX derleyici bölümüne bakın.
Artımlı şeker giderme
Java 8 dili özelliklerini kullanan projeler için artımlı şeker giderme varsayılan olarak etkinleştirilir. Bu da derleme sürelerini kısaltabilir.
Şekerden arındırma, sözdizimsel şekeri derleyicinin daha verimli bir şekilde işleyebileceği bir biçime dönüştürür.
Projenizin gradle.properties
dosyasında aşağıdakileri belirterek artımlı şeker giderme özelliğini devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false
Basitleştirilmiş çıkış penceresi
Gradle Konsolu, Sync ve Build sekmelerine sahip olan Build penceresiyle değiştirildi.
Yeni ve basitleştirilmiş Derleme penceresinin nasıl kullanılacağı hakkında ayrıntılı bilgi için Derleme işlemini izleme bölümüne bakın.
Toplu güncelleme ve dizine ekleme eşzamanlılığı
Gradle senkronizasyonu ve IDE dizine ekleme işlemleri artık çok daha verimli, birçok yedek dizine ekleme işlemi için harcanan zamanı azaltıyor.
C++ ve LLDB
C++ geliştirmenin kodlama, senkronizasyon, derleme ve hata ayıklama aşamalarında kalite ve performans konusunda birçok iyileştirme yaptık. İyileştirmeler aşağıdakileri içerir:
-
Büyük C++ projeleriyle çalışıyorsanız sembolleri oluşturmak için harcanan sürede önemli bir iyileşme olduğunu göreceksiniz. Ayrıca büyük projelerde senkronizasyon süresi de büyük ölçüde kısalır.
-
CMake ile oluşturma ve senkronizasyon performansı, önbelleğe alınan sonuçların daha agresif bir şekilde yeniden kullanılmasıyla iyileştirildi.
-
Daha fazla C++ veri yapısı için biçimlendiricilerin ("güzel yazıcılar") eklenmesi, LLDB çıkışının daha kolay okunmasını sağlar.
-
LLDB artık yalnızca Android 4.1 (API düzeyi 16) ve sonraki sürümlerde çalışmaktadır.
Not: Android Studio 3.0 veya sonraki sürümler ile yerel hata ayıklama, 32 bit Windows'da çalışmaz. 32 bit Windows kullanıyorsanız ve yerel kodda hata ayıklamanız gerekiyorsa Android Studio 2.3'ü kullanın.
Kotlin
Kotlin 1.2.30 sürümüne yükseltildi
Android Studio 3.1, Kotlin 1.2.30 sürümünü içerir.
Kotlin kodu artık komut satırı lint kontrolü ile analiz ediliyor
Komut satırından lint çalıştırmak artık Kotlin sınıflarınızı analiz ediyor.
lint çalıştırmak istediğiniz her proje için Google'ın Maven deposu, üst düzey build.gradle
dosyasına eklenmelidir. Maven deposu, Android Studio 3.0 ve sonraki sürümlerde oluşturulan projelere zaten dahil edilmiştir.
Performans araçları
CPU Profiler ile örnek yerel C++ işlemleri
CPU Profiler artık uygulamanızın yerel iş parçacıklarının örneklenmiş izlerini kaydetmek için varsayılan bir yapılandırma içeriyor. Uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihaza dağıtıp ardından CPU Profiler'ın kayıt yapılandırmaları açılır menüsünden Örneklenmiş (Yerel) seçeneğini belirleyerek bu yapılandırmayı kullanabilirsiniz. Ardından, normalde yaptığınız gibi bir izi kaydedip inceleyin.
Örnekleme aralığı gibi varsayılan ayarları kayıt yapılandırması oluşturarak değiştirebilirsiniz.
Java iş parçacıklarınızı izlemeye geri dönmek için Örneklenmiş (Java) veya Araçlı (Java) yapılandırmalarından birini seçin.
CPU izlerini, bellek ayırma sonuçlarını ve yığın dökümlerini filtreleyin
CPU Profiler ve Bellek Profilcisi, bir yöntem izi, bellek ayırmaları veya yığın dökümünü kaydetmek için sonuçları filtrelemenize olanak tanıyan bir arama özelliği içerir.
Arama yapmak için bölmenin sağ üst köşesindeki Filtre simgesini tıklayın, sorgunuzu yazın ve Enter tuşuna basın.
İpucu: Arama alanını Control + F (Mac'te Command + F) tuşlarına basarak da açabilirsiniz.
CPU Profiler'ın Flame Grafiği sekmesinde, arama sorgunuzla ilgili yöntemleri içeren çağrı yığınları vurgulanır ve grafiğin sol tarafına taşınır.
Yönteme, sınıfa veya paket adına göre filtreleme hakkında daha fazla bilgi için Yöntem izlerini kaydetme ve inceleme bölümüne bakın.
Network Profiler'daki Request (İstek) sekmesi
Ağ Profil Aracı'nda artık seçilen zaman çizelgesindeki ağ istekleriyle ilgili ayrıntılı bilgi sağlayan İstek sekmesi bulunuyor. Önceki sürümlerde, Network Profiler yalnızca ağ yanıtlarıyla ilgili bilgileri sağlıyordu.
Ağ Profil Aracı'nda İleti Dizisi Görünümü
Network Profiler'da zaman çizelgesinin bir kısmını seçtikten sonra söz konusu zaman aralığındaki ağ etkinliğiyle ilgili daha fazla ayrıntı görmek için aşağıdaki sekmelerden birini seçebilirsiniz:
- Bağlantı Görünümü: Android Studio'nun önceki sürümleriyle aynı bilgileri sağlar. Uygulamanızın tüm CPU iş parçacıklarında zaman çizelgesinin seçilen kısmı sırasında gönderilen veya alınan dosyaları listeler. Her istek için boyutu, türü, durumu ve iletim süresini inceleyebilirsiniz.
- İş Parçacığı Görünümü: Uygulamanızın CPU iş parçacıklarının her birinin ağ etkinliğini gösterir. Bu görünüm, her ağ isteğinden uygulamanızdaki iş parçacıklarından hangilerinin sorumlu olduğunu incelemenize olanak tanır.
Düzen Denetleyici
Düzen Denetleyici, daha önce kullanımdan kaldırılan Hiyerarşi Görüntüleyicisi ve Pixel Perfect araçları tarafından sağlanan bazı işlevler de dahil olmak üzere yeni özellikler kazandı:
- Düzenlerde gezinmek ve düzenleri incelemek için yakınlaştırma düğmeleri ve klavye kısayolları
- Referans ızgara yer paylaşımı
- Referans görüntü yükleme ve bunu bir bindirme olarak kullanma özelliği (düzeninizi bir kullanıcı arayüzü modeliyle karşılaştırmak için kullanışlıdır)
- Karmaşık bir düzende bir görünümü izole etmek için alt ağaç önizlemesi oluşturun
Düzen Düzenleyici
Düzen Düzenleyici'deki Palet birçok iyileştirme aldı:
- Görünümler ve düzenler için kategorilerin yeniden düzenlenmesi.
- Görünümler ve düzenler için Favori komutuyla ekleyebileceğiniz yeni Genel kategorisi.
- İyileştirilmiş görünümler ve düzenler için arama.
- Belirli bir görünüm veya düzen öğesiyle ilgili dokümanları açmaya yönelik yeni komutlar.
Bir görünümü veya düzeni başka bir görünüm ya da düzen türüne dönüştürmek için Bileşen ağacı veya tasarım düzenleyicideki yeni Görünümü dönüştür komutunu kullanabilirsiniz.
Artık Özellikler penceresinin üst kısmındaki görünüm denetleyicisinde yer alan yeni Bağlantı oluştur düğmelerini kullanarak, seçilen görünümün yakınındaki öğeler için kolayca kısıtlamalar oluşturabilirsiniz.
Çalıştır ve Anında Çalıştır
Dağıtım hedefi seçin iletişim kutusundaki Gelecekteki lansmanlarda aynı seçimi kullan seçeneğinin davranışı daha tutarlı hale getirilmiştir. Aynı seçimi kullan seçeneği etkinleştirilirse Dağıtım hedefi seç iletişim kutusu yalnızca Çalıştır komutunu ilk kez kullandığınızda seçili cihazın bağlantısı kesilene kadar açılır.
Anında Çalıştırma, Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihazı hedeflerken uygulamanın yeniden başlatılmasına neden olmadan değişiklikleri kaynaklara dağıtabilir. Kaynaklar bölünmüş bir APK'da bulunduğu için bu mümkündür.
Emülatör
Android Studio 3.0 sürümünden sonra emülatörde yapılan yenilikler ve değişiklikler hakkında ayrıntılı bilgi için 27.0.2 ile 27.1.12 arasındaki Android Emulator sürüm notlarına bakın.
Önemli iyileştirmeler aşağıdakileri içerir:
- Özel bir başlangıç durumu kaydetmek için Şimdi kaydet komutunu kullanma özelliğiyle, emülatör durumunun kaydedilmesi ve daha hızlı başlatılması için Hızlı Başlatma anlık görüntüleri.
- Penceresiz emülatör ekranı.
- Android 8.0 (API düzeyi 26), Android 8.1 (API düzeyi 27) ve Android P Geliştirici Önizlemesi için sistem resimleri.
Kullanıcı arayüzü ve kullanıcı deneyimi iyileştirmeleri
Daha fazla ipucu, klavye kısayolları ve faydalı mesajlar
Android Studio'daki birçok yere ipuçları ve faydalı mesaj yer paylaşımları ekledik.
Birçok komutun klavye kısayollarını görmek için ipucu görünene kadar fare imlecini bir düğmenin üzerinde tutun.
Araçlar > Android menüsü kaldırıldı
Araçlar > Android menüsü kaldırıldı. Daha önce bu menünün altında olan komutlar taşındı.
- Birçok komut doğrudan Araçlar menüsünün altına taşındı.
- Sync project with gradle files (Projeyi gradle dosyalarıyla senkronize et) komutu Dosya menüsüne taşındı.
- Device Monitor komutu aşağıda açıklandığı gibi kaldırılmıştır.
Komut satırından kullanılabilen Cihaz İzleyicisi
Android Studio 3.1'de Cihaz İzleyicisi, öncesine göre daha az bir rol üstleniyor. Çoğu durumda, Cihaz Monitörü aracılığıyla kullanılabilen işlevler artık yeni ve iyileştirilmiş araçlarla sağlanmaktadır.
Komut satırından Cihaz Monitörü'nü çağırma talimatları ve Cihaz Monitörü aracılığıyla kullanılabilen araçlarla ilgili ayrıntılar için Cihaz Monitörü belgelerine bakın.
3.0 (Ekim 2017)
Android Studio 3.0.0, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
macOS kullanıcıları: Android Studio'nun daha eski bir sürümünü güncelliyorsanız "Yükleme alanında bazı çakışmalar bulundu" ifadesini içeren bir güncelleme hatası iletişim kutusuyla karşılaşabilirsiniz. Yükleme işlemini devam ettirmek için bu hatayı yoksayıp İptal'i tıklamanız yeterlidir.
3.0.1 (Kasım 2017)
Bu, Android Studio 3.0'a yapılan, genel hata düzeltmelerini ve performans iyileştirmelerini içeren küçük bir güncellemedir.
Gradle 3.0.0 için Android Eklentisi
Yeni Gradle için Android eklentisi, çeşitli iyileştirmeler ve yeni özellikler içerir, ancak öncelikle çok sayıda modül içeren projeler için derleme performansını iyileştirir. Yeni eklentiyi bu büyük projelerde kullanırken şu durumlarla karşılaşabilirsiniz:
- Yeni gecikmeli bağımlılık çözümü nedeniyle daha hızlı derleme yapılandırma süreleri.
- Yalnızca oluşturduğunuz projeler ve varyantlar için varyanta duyarlı bağımlılık çözümü.
- Kod veya kaynaklara basit değişiklikler uygulanırken daha hızlı artımlı derleme süreleri.
Not: Bu iyileştirmeler, eklentinin bazı davranışlarını, DSL'yi ve API'leri bozan önemli değişiklikler gerektiriyordu. 3.0.0 sürümüne geçmek için derleme dosyalarınızda ve Gradle eklentilerinde değişiklik yapmanız gerekebilir.
Bu sürüm aşağıdakileri de içerir:
- Android 8.0 için destek.
- Dil kaynaklarına göre ayrı APK'lar oluşturma desteği.
- Java 8 kitaplıkları ve Java 8 dil özellikleri desteği (Jack derleyici olmadan).
- Android Test Support Library 1.0 (Android Test Utility ve Android Test Orchestrator) desteği.
- İyileştirilmiş ndk-build ve cmake derleme hızları.
- İyileştirilmiş Gradle senkronizasyon hızı.
- AAPT2 artık varsayılan olarak etkindir.
ndkCompile
kullanımı artık daha kısıtlı. Bunun yerine, APK'nıza paketlemek istediğiniz yerel kodu derlemek için CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi edinmek için ndkcker'dan taşıma bölümünü inceleyin.
Değişiklikler hakkında daha fazla bilgiyi Gradle için Android Eklentisi sürüm notlarında bulabilirsiniz.
Yeni eklentiye geçmeye hazırsanız Gradle 3.0.0 için Android Eklentisine Taşıma konusuna bakın.
Kotlin desteği
Google I/O 2017'de duyurulduğu gibi, Kotlin programlama dili artık Android'de resmi olarak desteklenmektedir. Dolayısıyla bu sürümde Android Studio, Android geliştirme için Kotlin dil desteğini içerir.
Java dosyasını Kotlin'e dönüştürerek (Kod > Java Dosyasını Kotlin Dosyasına Dönüştür'ü tıklayın) veya Yeni Proje sihirbazını kullanarak Kotlin'in etkin olduğu yeni bir proje oluşturarak Kotlin'i projenize dahil edebilirsiniz.
Başlamak için projenize Kotlin ekleme başlıklı makaleyi okuyun.
Java 8 dili özellikleri desteği
Artık belirli Java 8 dili özelliklerini kullanabilir ve Java 8 ile oluşturulan kitaplıkları kullanabilirsiniz. Jack artık gerekli değildir. Varsayılan araç zincirinde yerleşik olarak bulunan iyileştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir.
Projenizi yeni Java 8 dili araç zincirini destekleyecek şekilde güncellemek için Proje Yapısı iletişim kutusunda Kaynak Uyumluluğu ve Hedef Uyumluluk değerlerini 1.8 olarak güncelleyin (Dosya > Proje Yapısı'nı tıklayın). Daha fazla bilgi edinmek için Java 8 dili özelliklerini kullanma makalesini okuyun.
Android Profil Aracı
Android Monitor aracının yerini alan yeni Android Profiler, uygulamanızın CPU, bellek ve ağ kullanımını gerçek zamanlı olarak ölçmek için yeni bir araç paketi sunuyor. Kodunuzun yürütülme zamanına kadar örneğe dayalı yöntem izlemesi gerçekleştirebilir, yığın dökümlerini yakalayabilir, bellek ayırmalarını görüntüleyebilir ve ağdan gönderilen dosyaların ayrıntılarını inceleyebilirsiniz.
Açmak için Görünüm > Araç Pencereleri > Android Profil Aracı'nı tıklayın (veya araç çubuğunda Android Profil Aracı'nı tıklayın).
Pencerenin üst kısmındaki etkinlik zaman çizelgesi; dokunma etkinliklerini, tuşa basmaları ve etkinlik değişikliklerini gösterir. Böylece zaman çizelgesindeki diğer performans etkinliklerini anlamak için daha fazla bağlam bilgisi sunulur.
Not: Logcat görünümü ayrı bir pencereye de taşındı (önceden kaldırılan Android Monitor'da bulunuyordu).
İlgili profil oluşturucu araçlarına erişmek için Android Profiler'ın genel bakış zaman çizelgesinden CPU, BELLEK veya AĞ zaman çizelgelerini tıklayın.
CPU Profil Aracı
CPU Profiler, bir örnek veya donanımlı CPU izlemesi tetikleyerek uygulamanızın CPU iş parçacığı kullanımını analiz etmenize yardımcı olur. Ardından, çeşitli veri görünümlerini ve filtreleri kullanarak CPU performansı sorunlarını giderebilirsiniz.
Daha fazla bilgi için CPU Profiler Guide'a (CPU Profil Aracı kılavuzu) bakın.
Bellek Profil Aracı
Bellek Profili Oluşturucu, takılma, donma, hatta uygulama kilitlenmelerine neden olabilecek bellek sızıntılarını ve bellek karmaşasını belirlemenize yardımcı olur. Uygulamanızın bellek kullanımına dair gerçek zamanlı bir grafik gösterir, yığın dökümü yakalamanızı, atık toplama işlemlerini zorlamanızı ve bellek ayırmalarını izlemenizi sağlar.
Daha fazla bilgi için Bellek Profil Aracı kılavuzuna bakın.
Ağ Profil Aracı
Ağ Profili Aracı, uygulamanızın ağ etkinliğini izlemenize, ağ isteklerinizin her birinin yükünü incelemenize ve ağ isteğini oluşturan koda geri bağlantı oluşturmanıza olanak tanır.
Daha fazla bilgi için Ağ Profil Aracı kılavuzuna bakın.
APK profili oluşturma ve hata ayıklama
Android Studio artık bir Android Studio projesinden derlemek zorunda kalmadan herhangi bir APK'nın profilini oluşturmanıza ve hatalarını ayıklamanıza olanak tanıyor. Bunun için APK'nın hata ayıklamayı etkinleştirmek amacıyla derlenmesi ve hata ayıklama sembolleri ile kaynak dosyalarına erişiminiz olması şartıyla Android Studio projesinden oluşturmanız gerekmiyor.
Başlamak için Android Studio Karşılama ekranından Profil veya APK'yı ayıkla seçeneğini tıklayın. Halihazırda açık bir projeniz varsa menü çubuğundan Dosya > Profil veya hata ayıklama APK'sı seçeneğini tıklayın. Bu işlem, paketlenmemiş APK dosyalarını görüntüler ancak kodun derlemesini çözmez. Bu nedenle, ayrılma noktalarını düzgün bir şekilde eklemek ve yığın izlerini görüntülemek için Java kaynak dosyalarını ve yerel hata ayıklama sembollerini eklemeniz gerekir.
Daha fazla bilgi için Önceden Oluşturulmuş APK'ları Profil ve Hata Ayıklama bölümüne bakın.
Cihaz Dosyası Gezgini
Yeni Cihaz Dosya Gezgini, bağlı cihazınızın dosya sistemini incelemenize ve cihazla bilgisayarınız arasında dosya aktarmanıza olanak tanır. Bu araç, DDMS'de bulunan dosya sistemi aracının yerini alır.
Açmak için Görünüm > Araç Pencereleri > Cihaz Dosyası Gezgini'ni tıklayın.
Daha fazla bilgi için Cihaz Dosyası Gezgini kılavuzuna bakın.
Hazır Uygulamalar desteği
Yeni Android Hazır Uygulamalar desteği, projenizde iki yeni modül türünü kullanarak Hazır Uygulamalar oluşturmanıza olanak tanır: Hazır Uygulama modülleri ve Özellik modülleri (Bunlar, Hazır Uygulama Geliştirme SDK'sını yüklemenizi gerektirir).
Android Studio, mevcut bir projeye Hazır Uygulamalar için destek eklemenize yardımcı olacak yeni bir modülerleştirme yeniden düzenleme işlemi de içerir. Örneğin, projenizi, bazı sınıfları Hazır Uygulama özellik modülüne yerleştirmek için yeniden düzenlemek isterseniz Proje penceresinden sınıfları seçin ve Yeniden Düzenleme > Modülerleştir'i tıklayın. Açılan iletişim kutusunda sınıfların gitmesi gereken modülü seçin ve Tamam'ı tıklayın.
Hazır Uygulamanızı test etmeye hazır olduğunuzda, bağlı bir cihazda Hazır Uygulama modülünüzü oluşturup çalıştırabilirsiniz. Bunun için yapılandırmayı başlatma seçeneklerinde Hazır Uygulamanın URL'sini belirtebilirsiniz: Çalıştır > Yapılandırmaları Düzenle'yi seçin, Hazır Uygulama modülünüzü seçin, ardından Başlatma Seçenekleri altında URL'yi ayarlayın.
Daha fazla bilgi için Android Hazır Uygulamalar bölümüne bakın.
Android Things modülleri
Yeni Proje ve Yeni Modül sihirbazlarında bulunan, Android destekli IoT cihazları için uygulama geliştirmeye başlamanıza yardımcı olacak yeni Android Things şablonları.
Daha fazla bilgi için Android Things projesi oluşturma konusuna bakın.
Uyarlanabilir Simgeler sihirbazı
Image Asset Studio artık vektör çekilebilir kaynaklarını desteklemektedir ve eski cihazlar için geleneksel simgeler ("Eski" simgeler) oluştururken aynı anda Android 8.0 için uyarlanabilir başlatıcı simgeleri oluşturmanıza olanak tanır.
Başlamak için projenizdeki res klasörünü sağ tıklayın ve ardından Yeni > Resim Öğesi'ni tıklayın. Asset Studio penceresinde, simge türü olarak Başlatıcı Simgeleri (Uyarlanabilir ve Eski) seçeneğini belirleyin.
Not: Uyarlanabilir başlatıcı simgelerini kullanmak için compileSdkVersion
değerini 26 veya daha yüksek bir değere ayarlamalısınız.
Daha fazla bilgi için Uyarlanabilir Simgeler konusunu okuyun.
Yazı tipi kaynakları için destek
Android Studio, Android 8.0'daki yeni yazı tipi kaynaklarını desteklemek amacıyla, yazı tiplerini uygulamanıza entegre etmenize veya projenizi yazı tiplerini cihaza indirecek şekilde yapılandırmanıza (kullanılabilir olduğunda) yardımcı olan bir yazı tipi kaynakları seçici içerir. Düzen düzenleyici, düzeninizdeki yazı tiplerini de önizleyebilir.
İndirilebilir yazı tiplerini denemek için cihazınızın veya emülatörünüzün Google Play Hizmetleri 11.2.63 veya sonraki bir sürümü çalıştırdığından emin olun. Daha fazla bilgi için İndirilebilir Yazı Tipleri konusunu okuyun.
Firebase Uygulama Dizine Ekleme Asistanı
Firebase Asistan, Uygulama Dizine Ekleme'yi test etmek için yeni bir eğitimle güncellendi. Asistan'ı açmak için Araçlar > Firebase'i seçin. Ardından, App Indexing > Test App Indexing'i seçin.
Eğitimde, herkese açık ve kişisel içeriği dizine ekleme işleminizi test etmeniz için yeni düğmeler bulunmaktadır:
- 2. adımda, URL'lerinizin Google Arama sonuçlarında göründüğünü doğrulamak için Arama sonuçlarını önizle'yi tıklayın.
- 3. adımda, uygulamanızdaki dizine eklenebilir nesnelerin kişisel içerik dizinine eklendiğini doğrulamak için Hataları kontrol et'i tıklayın.
Android Uygulama Bağlantıları Asistanı
Uygulama Bağlantıları Asistanı aşağıdaki yeni özelliklerle güncellendi:
-
Amaç filtrelerinizin gerçek URL'leri işlediğinden emin olmak amacıyla her URL eşlemesi için URL testleri ekleyin.
Bu URL testlerini aşağıda açıklanan
<tools:validation>
etiketini kullanarak manuel olarak da tanımlayabilirsiniz. -
Google Smart Lock'u desteklemek için uygun nesne girişine sahip bir Digital Asset Links dosyası oluşturun ve ilgili
asset_statements
<meta-data>
etiketini manifest dosyanıza ekleyin.
URL amaç filtresi doğrulayıcı
Android Studio artık manifest dosyasında amaç filtresi URL'lerinizi test etmenize olanak tanıyan özel bir etiketi destekliyor. Bunlar, Uygulama Bağlantıları Asistanı'nın sizin için oluşturabileceği etiketlerdir.
Amaç filtresi için test URL'si bildirmek üzere karşılık gelen <intent-filter>
öğesinin yanına <tools:validation>
öğesi ekleyin. Örneğin:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
<manifest>
etiketine xmlns:tools="http://schemas.android.com/tools"
ifadesini de dahil ettiğinizden emin olun.
Test URL'lerinden herhangi biri amaç filtresi tanımını geçemezse lint hatası görünür. Böyle bir hata, hata ayıklama varyantları oluşturmanıza izin verir ancak sürüm derlemelerinizi bozar.
Düzen Düzenleyici
Düzen Düzenleyici çeşitli geliştirmelerle güncellendi. Örneğin:
- Yeni araç çubuğu düzeni ve simgeleri.
- Bileşen ağacındaki düzen güncellendi.
- Geliştirilmiş sürükle ve bırak görünüm ekleme.
- Düzenleyicinin altında, düzeltilmesi gereken önerilerle (varsa) ilgili tüm sorunların gösterildiği yeni hata paneli.
ConstraintLayout
ile derleme için aşağıdakiler de dahil olmak üzere çeşitli kullanıcı arayüzü geliştirmeleri:- Engeller oluşturmak için yeni destek.
- Grup oluşturmak için yeni destek: Araç çubuğunda Yönergeler > Grup Ekle'yi seçin (ConstraintLayout 1.1.0 beta 2 veya sonraki bir sürümünü gerektirir)
- Zincir oluşturmak için yeni kullanıcı arayüzü: Birden fazla görünüm seçin ve ardından sağ tıklayıp Zincir'i seçin.
Düzen Denetleyici
Düzen İnceleyici, uygulama düzenlerinizle ilgili sorunlarda hata ayıklamanızı kolaylaştıracak geliştirmeler içerir. Örneğin, özellikleri ortak kategorilerde gruplama ve hem Görünüm Ağacı hem de Özellikler bölmelerinde yeni arama işlevselliği bulunur.
APK Analiz Aracı
Artık APK Analiz Aracı'nı apkanalyzer
aracıyla komut satırından kullanabilirsiniz.
APK Analiz Aracı da aşağıdaki iyileştirmelerle güncellendi:
- ProGuard ile oluşturulan APK'lar için DEX görüntüleyiciye aşağıdakiler gibi özellikler ekleyen ProGuard eşleme dosyalarını yükleyebilirsiniz:
- Kod daraltılırken düğümlerin kaldırılmaması gerektiğini belirten kalın düğümler.
- Daraltma işlemi sırasında kaldırılan düğümleri gösteren bir düğme.
- Ağaç görünümünde ProGuard tarafından karartılan düğümlerin orijinal adlarını geri yükleyen bir düğme.
- DEX Görüntüleyici artık her paketin, sınıfın ve yöntemin tahmini boyut etkisini gösterir.
- Alanları ve yöntemleri göstermek ve gizlemek için yeni filtreleme seçenekleri.
- Ağaç görünümünde, DEX dosyasında tanımlanmayan referans olan düğümler italik yazı stiliyle görünür.
Daha fazla bilgi için Derlemenizi APK Analiz Aracı ile Analiz Etme bölümüne bakın.
D8 DEX derleyici önizlemesi
Android Studio 3.0'da, D8 adında isteğe bağlı yeni bir DEX derleyici bulunur. Bu komut, zamanla DX derleyicisinin yerini alacaktır. Ancak isterseniz yeni D8 derleyiciyi hemen kullanmaya başlayabilirsiniz.
DEX derlemesi, uygulamanızın derleme süresini, .dex
dosya boyutunu ve çalışma zamanı performansını doğrudan etkiler. Yeni D8 derleyicisi, mevcut DX derleyicisiyle karşılaştırıldığında D8, daha hızlı derler ve daha küçük .dex
dosyaları çıkarır. Aynı veya daha iyi uygulama çalışma zamanı performansına sahip olur.
Denemek için projenizin gradle.properties
dosyasında aşağıdakileri ayarlayın:
android.enableD8=true
Daha fazla bilgi için D8 derleyici hakkındaki blog yayınına bakın.
Google'ın Maven deposu
Android Studio artık Android Destek Kitaplığı, Google Play Hizmetleri, Firebase ve diğer bağımlılıklara yönelik güncellemeleri almak için Android SDK Yöneticisi'ne bağlı olarak değil, varsayılan olarak Google’ın Maven deposunu kullanıyor. Bu, özellikle sürekli entegrasyon (CI) sistemi kullanırken kitaplıklarınızı güncel tutmanızı kolaylaştırır.
Artık tüm yeni projeler varsayılan olarak Google Maven deposunu içeriyor. Mevcut projenizi güncellemek için üst düzey build.gradle
dosyasının repositories
bloğuna google()
ekleyin:
allprojects {
repositories {
google()
}
}
Google'ın Maven deposu hakkında daha fazla bilgi edinin.
Diğer değişiklikler
- Android Studio ile yerel hata ayıklama artık Windows'un 32 bit sürümünü desteklememektedir. Bu platformu kullanan çok az geliştirici olduğu için diğer platformlara odaklanmayı seçtik. 32 bit Windows kullanıyorsanız ve yerel kodda hata ayıklamayı planlıyorsanız Android Studio 2.3'ü kullanmaya devam etmelisiniz.
- Temel IDE, 2016.3 ve 2017.1 yıllarında sunulan Java 8 dilini yeniden düzenleme, parametre ipuçları, anlamsal vurgulama, sürüklenebilir ayrılma noktaları, aramada anında sonuçlar ve daha pek çok yeni özellik ekleyen IntelliJ 2017.1.2 sürümüne yükseltildi.
- Birçok yeni hata analizi denetimi eklendi.
- Ayrıca en son Android Emülatör güncellemelerine bakın.
2.3 (Mart 2017)
Android Studio 2.3.0 esasen bir hata düzeltmesi ve kararlılık sürümüdür, ancak çok sayıda yeni özellik de mevcuttur.
2.3.3 (Haziran 2017)
Bu, Android O (API düzeyi 26) desteği eklemeye yönelik küçük bir güncellemedir.
2.3.2 (Nisan 2017)
Bu, Android Studio 2.3 için aşağıdaki değişikliklere göre küçük bir güncellemedir:
- Sistem görüntülerinde Google Play'i desteklemek için AVD Manager güncellemeleri.
- NDK'nın R14+ kullanılırken NDK derlemeleri için hata düzeltmeleri.
Ayrıca Android Emulator 26.0.3 için ilgili güncellemelere bakın.
2.3.1 (Nisan 2017)
Bu, Android Studio 2.3'e yapılan küçük bir güncellemedir. Bu güncelleme, bazı fiziksel Android cihazların Anında Çalıştırma özelliğiyle düzgün çalışmamasına neden olan bir sorunu giderir (bkz. 235879 numaralı sorunu).
<h3 class="hide-from-toc">
New
</h3>
<div class="video-wrapper-left">
<iframe class="devsite-embedded-youtube-video" data-video-id="VFyKclKBGf0"
data-autohide="1" data-showinfo="0" frameborder="0" allowfullscreen>
</iframe>
</div>
<ul>
<li>Android Studio can now convert PNG, BMP, JPG, and static GIF files to
WebP format. WebP is an image file format from Google that provides lossy
compression (like JPEG) as well as transparency (like PNG) but can provide
better compression than either JPEG or PNG. For more information, see
<a href="/studio/write/convert-webp.html">Convert images to WebP in Android
Studio</a>.
</li>
<li>The new <a href="/studio/write/app-link-indexing.html">App Links
Assistant</a> simplifies the process of adding Android App Links to your app
into a step-by-step wizard. Android App Links are HTTP URLs that bring users
directly to specific content in your Android app.
</li>
<li>The Layout Editor now includes support for two new ConstraintLayout
features:
<ul>
<li>Define a view size based on an aspect ratio.
</li>
<li>Create packed, spread, and weighted linear groups with constraint
chains.
</li>
</ul>
For more information, see <a href=
"/training/constraint-layout/index.html">Build a Responsive UI with
ConstraintLayout</a>.
</li>
<li>The Layout Editor also now lets you create a list of <a href=
"/studio/write/layout-editor.html#edit-properties">favorite attributes</a> so
you don't have to click <b>View all attributes</b> to access the attributes
you use most.
</li>
<li>When adding a material icon using the Vector Import Dialog (<b>File >
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 oluşturulmuş araçlara sahip yepyeni Layout Editor.
<li>New <strong><a href=
"http://tools.android.com/tech-docs/layout-inspector">Layout
Inspector</a></strong> lets you examine snapshots of your layout hierarchy
while your app is running on the emulator or a device.
</li>
<li>New <strong><a href="/studio/write/firebase.html">Assistant</a></strong>
window to help you integrate Firebase services into your app.
</li>
<li>New <strong><a href="/studio/debug/apk-analyzer.html">APK
Analyzer</a></strong> tool so you can inspect the contents of your packaged
app.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/test-recorder">Espresso Test
Recorder</a></strong> tool (currently in beta) to help you create UI tests by
recording your own interactions.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/build-cache">build cache</a></strong>
(currently experimental) to speed up build performance.
</li>
<li>New <strong>C/C++ build integration with CMake and ndk-build</strong>.
Compile and build new or existing native code into libraries packaged into
your APK, and debug using lldb. For new projects, Android Studio uses CMake
by default, but also supports ndk-build for existing projects. To learn how
to include native code in your Android application, read <a href=
"/studio/projects/add-native-code.html">Add C and C++ Code to Your
Project</a>. To learn how to debug native code with lldb, see <a href=
"/studio/debug/index.html#debug-native">Debug Native Code</a>.
</li>
<li>New <strong><a href="/studio/intro/index.html#sample-code">Samples
Browser</a></strong> so you can easily look up Google Android sample code
from within Android Studio to jump start app development.
</li>
<li>New <strong>Merged Manifest Viewer</strong> to help you diagnose how your
manifest file merges with your app dependencies across project build
variants.
</li>
<li>The <strong>Run</strong> window now contains log messages for the current
running app. Note that you can configure the <a href=
"/studio/debug/am-logcat.html">logcat Monitor</a> display, but not the
<strong>Run</strong> window.
</li>
<li>New <strong><a href="/studio/run/emulator.html">Android
Emulator</a></strong> features:
<ul>
<li>Added new <strong>Virtual</strong> <strong>Sensors</strong> and
<strong>Cellular</strong> > <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
- IntelliJ 15 olan IDE kod tabanı IntelliJ 2016.1 olarak güncellendi
- Anında Çalıştırma artık hedef cihaz API düzeyine karşılık gelen platform SDK'sının yüklenmesini gerektiriyor.
- Kullanıcı, uygulamayı bir iş profili altında veya ikincil kullanıcı olarak çalıştırıyorsa Anında Çalıştırma otomatik olarak devre dışı bırakılır.
- Anında Çalıştırma'da değişikliklerin dağıtılmaması veya uygulamanın kilitlenmesine neden olan birçok güvenilirlik sorunu düzeltildi:
- Bazı uygulama öğeleri çalışan uygulamanıza dağıtılmadı. ( Hata: #213454)
- Kullanıcı, Seri hale getirilebilir bir sınıfın seriSürümUID'i tanımlı olmadığı Anında Çalıştırma ve Anında Çalıştırma dışı oturumlar arasında geçiş yaptığında uygulama kilitleniyor. (Hata: #209006)
- Stil değişiklikleri Anında Çalıştırmada yansıtılmaz. (Hata: #210851)
- Anında Çalıştırma oturumu güvenilir değil ve FileNotFoundException hatası veriyor. (Hata: #213083)
- Çekilebilir dosyalarda yapılan değişiklikler, KitKat için tam yeniden oluşturma işlemi gerçekleştirilene kadar yansıtılmaz. (Hata: #21530)
- Özel sourceSet'ler iç içe yerleştirilmiş yollar içerdiğinde kaynak değişiklikleri Anında Çalıştırma ile yansıtılmaz. (Hata: #219145)
- Değiştirilen sınıf, numaralandırma değerine sahip ek açıklama içeriyorsa sıcak ve hazır durumda değiştirme çalışmaz. (Hata: #209047)
- Ek açıklama verilerinde yapılan değişiklikler Anında Çalıştırmaya yansıtılmaz. (Hata: #210089)
- Anında Çalıştırma, IDE dışında değişiklik yaparsanız kod değişikliklerini tutmaz. (Hata: #213205)
- Güvenlik jetonu uyuşmazlığı nedeniyle Anında Çalıştırma oturumu güvenilir değil. (Hata: #211989
- Farklı çalıştırmaları düzgün bir şekilde desteklemeyen cihazlarda baştan başlatma başarısız olur. (Hata: #210875)
- Anında çalıştırma yeniden başlatıldıktan sonra uygulama kilitleniyor. (Hata: #219744)
- Anında Çalıştır'dan Anında Hata Ayıklama'ya geçilirken ClassNotFoundException gözlemlendi. (Hata: #215805)
<li>Improved performance for <strong>Gradle sync</strong> within the IDE,
especially for large projects.
</li>
<li>Improved build times for both full and incremental builds with new app
packaging code.
</li>
<li>Improved <strong>Jack compiler performance and features</strong>,
including support for annotation processors and dexing in process. To learn
more, read the <a href=
"/studio/releases/gradle-plugin.html#revisions">Android plugin for Gradle
2.2.0 release notes</a>.
</li>
<li>Removed the <strong>Scale</strong> AVD property from the AVD Manager.
</li>
<li>The Android Emulator <strong>-port</strong> and <strong>-ports</strong>
command-line options now report which ports and serial number the emulator
instance is using, and warn if there are any issues with the values you
provided.
</li>
<li>Improved the <strong><a href=
"/studio/write/create-java-class.html">Create New Class dialog</a></strong>
and the corresponding file templates. <strong>Note:</strong> If you've
previously customized the <strong>AnnotationType</strong>,
<strong>Class</strong>, <strong>Enum</strong>, <strong>Interface</strong>, or
<strong>Singleton</strong> file templates, you need to modify your templates
to comply with the new templates or you won’t be able to use the new fields
in the <strong>Create New Class</strong> dialog.
</li>
<li>Improved the <strong><a href=
"/studio/write/vector-asset-studio.html">Vector Asset Studio</a></strong>
user interface and added support for Adobe Photoshop Document (PSD) files.
</li>
<li>Improved the <strong><a href=
"/studio/write/image-asset-studio.html">Image Asset Studio</a></strong> user
interface.
</li>
<li>Improved the <strong>Theme Editor</strong>'s Resource Picker.
</li>
<li>Fixed memory leaks and reduced overall memory usage in Android Studio.
</li>
<li>Added a <strong>Background</strong> button in the <strong><a href=
"/studio/intro/update.html#sdk-manager">SDK Manager</a></strong> so you can
get back to work and install your packages in the background.
</li>
<li>Improved <strong><a href="/studio/intro/accessibility.html">Accessibility
features</a></strong>, including support for screen readers and keyboard
navigation.
</li>
<li>Enhanced <strong>Code Analysis</strong> includes code quality checks for
Java 8 language usage and more cross-file analysis.
</li>
<li>Several toolbar icons have changed.
</li>
2.1 (Nisan 2016)
Bu güncellemedeki birincil değişiklikler, Android N Preview ile geliştirme için destek sağlar.
2.1.3 (Ağustos 2016)
Bu güncelleme; performans iyileştirmeleri, yeni özellikler ve önemli bir güvenlik düzeltmesi içeren Gradle 2.14.1 ile uyumluluk sağlar. Daha ayrıntılı bilgi için Gradle sürüm notlarına göz atın.
Varsayılan olarak, Android Studio 2.1.3'teki yeni projeler Gradle 2.14.1'i kullanır. Mevcut projeler için IDE, Gradle 2.14.1 ve sonraki sürümlerini kullanırken gerekli olan Gradle 2.14.1 ve Gradle 2.1.3 için Android eklentisi sürümüne geçmenizi ister.
2.1.2 (Haziran 2016)
Bu güncelleme, bir dizi küçük değişiklik ve hata düzeltmesi içermektedir:
- Anında Çalıştırma güncellemeleri ve hata düzeltmeleri.
- LLDB performansı ve kilitlenme bildirimleri için iyileştirmeler.
- Android Studio 2.1.1 güvenlik güncellemesinde,
git rebase
uygulamasının başarısız olmasına neden olan bir regresyon düzeltildi.
2.1.1 (Mayıs 2016)
Güvenlik sürümü güncellemesi.
Android N platformu, Jack adlı yeni bir deneysel derleyici gerektiren Java 8 dili özellikleri için destek sağlar. Jack'in son sürümü şu anda yalnızca Android Studio 2.1'de desteklenmektedir. Bu nedenle, Java 8 dili özelliklerini kullanmak istiyorsanız uygulamanızı oluşturmak için Android Studio 2.1'i kullanmanız gerekir.
Not: Jack derleyicisini etkinleştirdiğinizde şu anda uyumlu olmadıklarından Anında Çalıştırma devre dışı bırakılır.
Android Studio 2.1 şu anda kararlı olmasına rağmen Jack derleyicisi hâlâ deneme aşamasındadır ve build.gradle
dosyanızdaki jackOptions
özelliğiyle onu etkinleştirmeniz gerekir.
Android Studio 2.1, N Preview'u desteklemek için yapılan değişikliklerin dışında, küçük hata düzeltmeleri ve aşağıdaki geliştirmeleri içerir:
- Bir N cihazı veya emülatörü kullanıp Yerel hata ayıklayıcı modunu seçtiğinizde (çalıştırma/hata ayıklama yapılandırmanızın Hata Ayıklayıcı sekmesinde) Java uyumlu C++ hata ayıklayıcısı artık varsayılan olarak etkindir.
Artımlı Java derlemesi ve işlemde hata ayıklama dahil diğer derleme geliştirmeleri için Gradle için Android eklentinizi 2.1.0 sürümüne güncelleyin.
2.0 (Nisan 2016)
Not: N Geliştirici Önizlemesi için geliştirme yapıyorsanız Android Studio 2.1 Önizlemesi'ni kullanmanız gerekir. Android Studio 2.0, N Preview'u hedeflemek için gereken tüm özellikleri desteklemez.
Anında Çalıştırma:
- Android Studio artık temiz derlemeleri her zamankinden daha hızlı bir şekilde dağıtıyor. Ayrıca, artımlı kod değişikliklerinin emülatöre veya fiziksel cihazlara aktarılması artık neredeyse anında gerçekleşiyor. Yeni bir hata ayıklama derlemesini yeniden dağıtmadan veya çoğu durumda uygulamayı yeniden başlatmadan güncellemelerinizi inceleyin.
- Anında Çalıştırma, çalışan bir uygulamaya aşağıdaki değişikliklerin aktarılmasını destekler:
- Mevcut bir örnek yönteminin veya statik yöntemin uygulanmasında yapılan değişiklikler
- Mevcut bir uygulama kaynağında yapılan değişiklikler
- Yöntem imzası veya statik alan gibi yapısal kodda yapılan değişiklikler (API düzeyi 21 veya üstünü çalıştıran hedef cihaz gerektirir).
- Anında Çalıştırma hakkında daha fazla bilgi edinmek için dokümanları okuyun.
Not: Anında Çalıştırma yalnızca hata ayıklama derleme varyantını dağıttığınızda, Gradle sürüm 2.0.0 veya üzeri için Android eklentisini kullandığınızda ve uygulamanızın modül düzeyindeki
build.gradle
dosyasınıminSdkVersion 15
veya daha yeni bir sürüm için yapılandırdığınızda desteklenir. En iyi performansı elde etmek üzere uygulamanızıminSdkVersion 21
veya daha yüksek bir sürüme göre yapılandırın.
Lint'e yeni eklenenler:
- Tüm sabitlerin işlendiğinden emin olmak için
@IntDef
ek açıklamalı tamsayılar kullanılarakswitch
ifadelerinin incelenmesi. Eksik ifadeleri hızlıca eklemek için amaç işlemi açılır menüsünü kullanarak Eksik @IntDef Sabitlerini Ekle'yi seçin. build.gradle
dosyasına sürüm numaraları eklemek için dize interpolasyonu kullanmaya yönelik yanlış girişimler için işaretler.Fragment
sınıfını genişleten anonim sınıflara ilişkin işaretler.res/
veasset/
klasörleri gibi güvenli olmayan konumlardaki yerel kod için işaretler. Bu işaret, yerel kodunlibs/
klasöründe depolanmasını teşvik eder. Bu klasör, daha sonra yükleme sırasında uygulamanındata/app-lib/
klasörüne güvenli bir şekilde paketlenir. AOSP: #169950Runtime.load()
veSystem.load()
çağrılarına yönelik güvenli olmayan aramaları işaretler. AOSP: #179980- Menü çubuğundan Yeniden Düzenleme > Kullanılmayan Kaynakları Kaldır'ı seçerek kullanılmayan kaynakları bulup kaldırın. Kullanılmayan kaynak algılama, artık yalnızca kullanılmayan kaynaklar tarafından referans verilen kaynakları,
.html
görüntü referansları gibi ham dosyalardaki referansları ve Gradle kaynak küçültücü tarafından kullanılantools:keep
vetools:discard
özelliklerini destekler. Aynı zamanda, etkin olmayan kaynak kümelerini (diğer derleme çeşitlerinde kullanılan kaynaklar gibi) göz önünde bulundurur ve statik alan içe aktarmalarını düzgün bir şekilde işler. - Dolaylı API referanslarının
minSdkVersion
tarafından hedeflenen tüm platformlarda desteklendiğini kontrol eder. RecyclerView
veParcelable
öğelerinin yanlış kullanımını işaretler.@IntDef
,@IntRange
ve@Size
denetimleri de artıkint
dizileri ve varargsları için kontrol ediliyor.
Ek İyileştirmeler:
- Her zamankinden daha hızlı olan Android Emulator 2.0 için optimize edilmiştir, daha fazla sanal cihazı destekler ve önemli ölçüde iyileştirilmiş bir kullanıcı arayüzü sunar. Yeni emülatör hakkında daha fazla bilgi edinmek için SDK Araçları sürüm notlarını okuyun.
- Android Sanal Cihaz Yöneticisi'nde yapılan iyileştirmeler:
- Sistem resimleri artık şu sekmeler altında kategorilere ayrıldı: Önerilir, x86 ve Diğer.
- Gelişmiş ayarlar bölümünden çok çekirdekli desteği etkinleştirebilir ve emülatörün kullanabileceği çekirdek sayısını belirtebilirsiniz.
- Gelişmiş ayarlar altında, aşağıdaki seçeneklerden birini belirleyerek grafiklerin emülatörde nasıl oluşturulacağını belirleyebilirsiniz:
- Donanım: Daha hızlı oluşturma için bilgisayarınızın grafik kartını kullanın.
- Yazılım: Yazılım tabanlı oluşturma kullanın.
- Otomatik: En iyi seçeneği emülatörün belirlemesini sağlar. Bu, varsayılan ayardır.
- Uygulama derlenmeden önce dağıtım hedefi belirterek AAPT paketleme süreleri iyileştirildi. Bu, Android Studio'nun yalnızca belirtilen cihaz için gereken kaynakları verimli bir şekilde paketlemesine olanak tanır.
- Bir bulut hizmetinin kolaylığı ve ölçeklenebilirliğiyle isteğe bağlı uygulama testi sunmak için Cloud Test Lab entegrasyonu eklendi. Cloud Test Lab'i Android Studio ile nasıl kullanabileceğiniz hakkında daha fazla bilgi edinin.
- Yeni GPU Hata Ayıklayıcısı'nın önizlemesi eklendi. Yoğun grafik kullanan uygulamalarda, uygulama veya oyununuzu optimize etmek için artık OpenGL ES kodunuzda görsel olarak adım adım ilerleyebilirsiniz.
- Google Uygulama Dizine Ekleme Testi eklendi. Uygulamanıza daha fazla trafik çekmek, en çok hangi uygulama içeriğinin kullanıldığını keşfetmek ve yeni kullanıcılar çekmek için uygulamalarınıza URL, uygulama dizine ekleme ve arama işlevi desteği ekleyin. Uygulamanızdaki URL'leri Android Studio'da test edip doğrulayın. Android Studio'da URL'leri ve Uygulama Dizine Eklemeyi Destekleme konusuna bakın.
- İyileştirilmiş kod analizi ve performansı içeren en yeni IntelliJ 15 sürümünden yükseltmeler. Yeni özelliklerin ve geliştirmelerin tam açıklaması için IntelliJ'deki Yenilikler sayfasına bakın.
- XML düzenleyici otomatik tamamlama özelliği, artık özellikleri tamamlarken tırnak işaretleri ekliyor. Bu seçeneğin etkinleştirilip etkinleştirilmediğini kontrol etmek için Ayarlar veya Tercihler iletişim kutusunu açın, Düzenleyici > Genel > Akıllı Anahtarlar'a gidin ve Özellik tamamlandığında özellik değeri için tırnak işareti ekle'nin yanındaki kutuyu işaretleyin. Sorun: 195113
- XML düzenleyici artık veri bağlama ifadeleri için kod tamamlamayı desteklemektedir.
Android Studio v1.5.1 (Aralık 2015)
Düzeltmeler ve geliştirmeler:
- Düzen Düzenleyici'deki bir oluşturma hatası sorunu giderildi. Sorun: 194612
description
manifest özelliklerini yapılandırmaya göre değiştirme özelliği eklendi. Sorun: 194705- Vector Asset Studio'da Android Studio Darcula görünüm temasının kontrastı iyileştirildi. Sorun: 191819
- Vector Asset Studio'ya Yardım düğmesi desteği eklendi.
- Veri bağlama için
%
operatörü desteği eklendi. Sorun: 194045 - Hata ayıklama için uygulama başlatmanın, hata ayıklayıcının yanlış cihaza bağlanmasına neden olması durumu düzeltildi. Sorun: 195167
- Bir uygulamayı belirli senaryolarda çalıştırmaya çalışırken ortaya çıkabilecek boş işaretçi istisnası düzeltildi.
Android Studio 1.5.0 sürümü (Kasım 2015)
Düzeltmeler ve geliştirmeler:
- Android Monitor'a yeni Bellek Monitörü analiz özellikleri eklendi. Bu monitörden yakalanan bir HPROF dosyasını görüntülediğinizde, bellek sızıntıları gibi sorunları daha hızlı bulabilmeniz için ekran artık daha faydalıdır. Bu monitörü kullanmak için ana pencerenin alt kısmındaki Android Monitör'ü tıklayın. Android Monitor'da Bellek sekmesini tıklayın. Monitör çalışırken Dump Java Yığın simgesini, ardından ana pencerede Captures'ı (Yakalamalar) tıklayın ve görüntülemek için dosyayı çift tıklayın. Sağ taraftaki Analiz Yakala'yı tıklayın. (Android Cihaz Monitörü, Android Monitor ile aynı anda çalışamaz.)
- Yeni derin bağlantı ve uygulama bağlantısı desteği eklendi. Kod Düzenleyici,
AndroidManifest.xml
dosyasında derin bağlantılar için otomatik olarak bir amaç filtresi oluşturabilir. Ayrıca, bir Java dosyasındaki bir etkinliğe Uygulama Dizine Ekleme API'si ile entegrasyon sağlamanıza yardımcı olacak kod da oluşturabilir. Derin bağlantı test özelliği, belirtilen bir derin bağlantının uygulama başlatabileceğini doğrulamanıza yardımcı olur. Çalıştırma/Hata Ayıklama Yapılandırmaları iletişim kutusunun Genel sekmesinde derin bağlantı başlatma seçeneklerini belirleyebilirsiniz. Bir etkinlikteki Uygulama Dizine Ekleme API'si çağrılarını Android Monitor logcat ekranını kullanarak da test edebilirsiniz. Androidlint
aracı artık derin bağlantıları ve Uygulama Dizine Ekleme API'sini içeren belirli sorunlar için uyarılar içeriyor. - Kod Düzenleyici'de özel görünümleri kod doldururken kısa adlar kullanabilme özelliği eklendi.
- Geriye dönük uyumluluk için Vektör Asset Studio'ya daha fazla
VectorDrawable
öğesi desteği eklendi. Vector Asset Studio, Android 4.4 (API düzeyi 20) ve önceki sürümlerle kullanmak üzere vektör çekilebilir kaynaklarını PNG kafes resimlere dönüştürmek için bu öğeleri kullanabilir. - Android Studio'da size anında, işlem yapılabilir geri bildirim sağlamak için Android TV ve Android Auto için yeni
lint
kontrolleri eklendi ve pek çok hızlı düzeltme yapıldı. Örneğin, Android TV için izinler, desteklenmeyen donanımlar,uses-feature
öğesi ve eksik banner sorunlarını bildirip bunlar için hızlı bir düzeltme sağlayabilir. Android Auto içinAndroidManifest.xml
dosyanızdan atıfta bulunulan tanımlayıcı dosyasında doğru kullanımı doğrulayabilir,MediaBrowserService
sınıfı için amaç filtresi olup olmadığını raporlayabilir ve belirli sesli işlem sorunlarını tanımlayabilir. - Güvenli olmayan yayın alıcıları,
SSLCertificateSocketFactory
ileHostnameVerifier
sınıfı kullanımları veFile.setReadable()
ileFile.setWritable()
çağrıları için yenilint
kontrolleri eklendi. Ayrıca, özellikle yapılandırmaya göre farklılık gösteren kaynaklar için geçersiz manifest kaynak aramalarını da tespit eder. - Bir dizi kararlılık sorunu giderildi.
Android Studio 1.4.1 sürümü (Ekim 2015)
Düzeltmeler ve geliştirmeler:
- IDE yeniden başlatıldığında, aşırı Gradle senkronizasyonuna neden olabilen Gradle modeli önbelleğe alma sorunu düzeltildi.
- Yerel hata ayıklama kilitlenmesi sorunu düzeltildi.
- Subversion 1.9 sürüm kontrol sistemi kullanıcılarını engelleyen sorun giderildi.
- Yetkisiz bir cihazı bağladıktan sonra emülatörü seçememenize neden olan Cihaz Seçici iletişim sorunu düzeltildi. Sorun: 189658
- Bölge niteleyicisi ve bölgesinde bir çeviri olan (ancak temel yerel ayarda olmayan) yerel ayarlar için yanlış çeviri hatası raporlaması düzeltildi. Sorun: 188577
- Tema Düzenleyici'de, Düzen Düzenleyici ile etkileşimiyle ilgili kilitlenme sorunu giderildi. Sorun: 188070
- Tema Düzenleyici'nin yeniden yüklenmesi ve düzenlenmesiyle ilgili çakışma, özelliklerin doğru şekilde güncellenmemesine neden olan bir sorun düzeltildi. Sorun: 187726
- Tema Düzenleyici performansı iyileştirildi.
- Manifest'te
android:required
özelliğinin yoksayılmasına neden olan sorun düzeltildi. Sorun: 187665
Android Studio 1.4.0 sürümü (Eylül 2015)
Düzeltmeler ve geliştirmeler:
- Malzeme simgeleri ve SVG dosyaları gibi vektör grafiklerini içe aktarmak için Vector Asset Studio aracı eklendi. Bu aracı kullanmak için Proje penceresinin Android görünümünde res klasörünü sağ tıklayın ve Yeni > Vektör Öğesi'ni seçin.
- Yeni Android Monitor işlevleri, GPU ve Ağ eklendi. Bu monitörleri kullanmak için ana pencerenin alt kısmındaki Android Monitör'ü tıklayın. Android Cihaz Monitörü, Android Monitor ile aynı anda çalışamaz.
- Yeni Tema Düzenleyici'nin erken önizlemesi eklendi. Bu özelliği kullanmak için Araçlar > Android > Tema Düzenleyici'yi seçin.
- Tasarım Destek Kitaplığı için Android şablonları güncellendi. Şablonlar artık Materyal Tasarım spesifikasyonu için desteğin yanı sıra geriye dönük uyumluluk için
appcompat
Destek Kitaplığı'nı da içeriyor.
Android Studio v1.3.2 (Ağustos 2015)
Düzeltmeler ve geliştirmeler:
- Yeni simgeler ve yeni ekran yoğunluklarına sahip cihazlar oluşturmak için AVD Manager desteği de dahil olmak üzere Android 6.0 (API düzeyi 23) desteği eklendi.
- Güncelleme kontrolleri sırasında ortaya çıkan bir istisna düzeltildi. Sorun: 183068
- Çözülmemiş görünüm koordinatlarının düzen düzenleyicisinin kilitlenmesine neden olabileceği sorun düzeltildi. Sorun: 178690
- Geçersiz kaynak türü uyarılarıyla ilgili sorun düzeltildi. Sorun: 182433
- Kaynakların yanlışlıkla gizli olarak işaretlenmesine neden olan hata analizi denetimi düzeltildi. Sorun: 183120
Android Studio v1.3.1 (Ağustos 2015)
Düzeltmeler ve geliştirmeler:
- Windows'da Android Wear Android Virtual Device (AVD) oluşturma desteği düzeltildi.
- Proje Sihirbazı, girilen proje adını kullanacak şekilde güncellendi.
- Android SDK'nın salt okunur dizinde depolanması için destek eklendi.
- Gradle sürümü için Android eklentisi 1.3.0 olarak güncellendi.
- Android Debug Bridge (adb) Unix kabuğundan hata ayıklama oturumu başlatmayla ilgili sorunlar düzeltildi.
- Java paketi yeniden adlandırma mesajı, doğru paket adını gösterecek şekilde düzeltildi.
Android Studio 1.3.0 sürümü (Temmuz 2015)
Düzeltmeler ve geliştirmeler:
- Uygulamanızda Google AdMob ve Analytics gibi geliştirici hizmetlerini Android Studio'dan etkinleştirmenizi sağlayan seçenekler eklendi.
@RequiresPermission
,@CheckResults
ve@MainThread
gibi ek ek açıklamalar eklendi.- Memory Monitor'dan Java yığın dökümleri oluşturma ve iş parçacığı ayırmalarını analiz etme özelliği eklendi. Ayrıca, Android'e özel HPROF ikili biçimli dosyaları Android Studio içinden standart HPROF biçimine dönüştürebilirsiniz.
- Paket ve araçlara erişimi basitleştirmek ve güncelleme bildirimleri sağlamak için SDK Yöneticisi Android Studio'ya entegre edildi.
Not: Bağımsız SDK Yöneticisi'ni komut satırından kullanmaya devam edebilirsiniz, ancak yalnızca bağımsız SDK yüklemeleriyle kullanılması önerilir.
- Parmak izi kimlik doğrulamasını simüle etmek için emülatör konsoluna
finger
komutu eklendi. - Kitaplık kaynaklarını herkese açık ve özel kaynaklar olarak tanımlamak için
<public>
kaynak bildirimi eklendi.Not: Gradle için Android eklentisi 1.3 veya sonraki bir sürümü gerektirir.
- Uygulama mantığınızı düzen öğelerine bağlayan bildirim temelli düzenler oluşturmak için veri bağlama desteği eklendi.
- Android Studio'da test APK'ları oluşturmak için ayrı bir test APK modülü desteği eklendi.
- AVD Manager, HAXM optimizasyonları ve iyileştirilmiş bildirimlerle güncellendi.
- QEMU 2.1 için 64 bit ARM ve MIPS emülatörü desteği eklendi.
- Parcelable uygulamasının otomatik olarak oluşturulması gibi hızlı düzeltmeler eklenerek Lint uyarılarının çözümlenmesi basitleştirildi.
- Kod snippet'lerinin hızlıca eklenmesi için canlı şablon desteği eklendi.
Android Studio 1.2.2 sürümü(Haziran 2015)
Düzeltmeler ve geliştirmeler:
- Derlemelerin tamamlanmasını engelleyen derleme sorunları düzeltildi.
Android Studio 1.2.1 sürümü (Mayıs 2015)
Düzeltmeler ve geliştirmeler:
- Küçük performans ve özellik sorunları düzeltildi.
Android Studio 1.2.0 sürümü (Nisan 2015)
Düzeltmeler ve geliştirmeler:
- Android çalışma zamanı penceresi, Bellek İzleyici aracını içerecek şekilde güncellendi ve CPU performansı izleme için bir sekme eklendi.
- CPU yöntemi izleme ve bellek yığını anlık görüntüleri gibi, yakalanan bellek ve CPU performansı veri dosyalarını görüntülemek için sol kenar boşluğuna bir Yakalananlar sekmesi eklendi.
- Ek meta veri ek açıklamaları ve türetilmiş boş değer içeren genişletilmiş ek açıklama desteği.
- Çeviri Düzenleyici, 3 harfli dil ve bölge kodları kullanan En İyi Mevcut Uygulama (BCP) 47 için ek destekle geliştirildi.
- Daha iyi kod analizi ve performansı için entegre IntelliJ 14 ve 14.1 özellikleri:
-
- Değişkenler ve yönlendiren nesneler için satır içi değerleri göstermek ve lambda ve operatör ifadelerinin satır içi değerlendirmesi yapmak için gelişmiş hata ayıklama.
- Sekme ve girinti boyutları için kod stili algılama özelliği eklendi.
- Kod denemeleri ve proje dosyaları olmadan prototip oluşturma için çalışma dosyaları eklendi.
- HTML ve XML dosyalarına aynı anda açılış ve kapanış etiketleri ekleme özelliği eklendi.
- Kaynak kodu kullanılamadığı bir kitaplıkta ne olduğunu görebilmeniz için yerleşik bir Java sınıfı derleyicisi eklendi.
Yeni özelliklerin ve geliştirmelerin tam açıklaması için IntelliJ'deki Yenilikler sayfasına bakın.
- Proje yönetimini ve erişimi iyileştirmek amacıyla Scratches, Proje Dosyaları, Problemler, Üretim ve Testler için ek Proje Görünümleri eklendi.
- İyileştirilmiş ayar erişimi ve yönetimi için Dosya > Ayarlar menüsü ve iletişim kutuları iyileştirildi.
- Windows ve Linux için yüksek yoğunluklu ekranlar desteği eklendi.
res/drawable-280dpi/
klasöründeki 280 dpi kaynaklar için destek eklendi.
Android Studio v1.1.0 (Şubat 2015)
Çeşitli düzeltmeler ve geliştirmeler:
- Android Wear saat şablonu için destek eklendi.
- Yeni proje ve modül oluşturma değişiklikleri, yoğunluğa özel başlatıcı simgeleri için
res/mipmap
klasörleri eklenecek şekilde değiştirildi. Bures/mipmap
klasörleri, başlatıcı simgeleriyle ilgilires/drawable
klasörlerinin yerini alıyor. - Başlatıcı simgeleri
Materyal Tasarım görünüme sahip olacak şekilde güncellendi ve
xxxhdpi
başlatıcı simgesi eklendi. - Lint'in bölge ve dil kombinasyonları, başlatıcı simgeleri, kaynak adları ve diğer yaygın kod sorunlarına yönelik kontrolleri eklendi ve geliştirildi.
- Mevcut En İyi Uygulama (BCP) dil etiketi 47 için destek eklendi.
Android Studio v1.0.1 (Aralık 2014)
Çeşitli düzeltmeler ve geliştirmeler:
- AVD Manager ve device.xml dosya kilidi sorunu düzeltildi.
- Windows sistemlerinde emülatör günlüğü düzeltildi.
- Android Studio ve Android SDK'sının Windows sistemlerindeki farklı sürücülere yüklenmiş olduğu ortalama görüntüleme tablolarının oluşturulmasıyla ilgili sorun düzeltildi.
- Yeni indirilenler için varsayılan güncelleme kanalını Kararlı olarak ayarlar. Android Studio'nun 1.0.0 sürümünü yüklediyseniz ve kararlı, üretime hazır sürüm güncellemeleri almak istiyorsanız Dosya > Ayarlar > Güncellemeler'i kullanarak Kararlı güncelleme kanalına geçin.
Android Studio v1.0 (Aralık 2014)
Android Studio'nun ilk sürümü.
Android Studio v0.8.14 (Ekim 2014)
Değişikliklerin tam listesi için tools.android.com sayfasına bakın.
Android Studio v0.8.6 (Ağustos 2014)
Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.
Android Studio v0.8.0 (Haziran 2014)
Android Wear projeleri için destek eklendi.
Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.
Android Studio v0.5.2 (Mayıs 2014)
- Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.
Android Studio v0.4.6 (Mart 2014)
- Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.
Android Studio v0.4.2 (Ocak 2014)
- Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.
Android Studio v0.3.2 (Ekim 2013)
- Değişikliklerin tam listesi için tools.android.com sayfasına göz atın.
Android Studio v0.2.x (Temmuz 2013)
- En son IntelliJ kod tabanı değişiklikleriyle birleştirildi. Studio kullanıcıları tarafından bildirilen, Linux yazı tipi boyutlarında yapılan değişiklikler ve yazı tipi oluşturma gibi sorunlarla ilgili düzeltmeleri içerir.
- Android Gradle eklentisi 0.5.0 olarak güncellendi.
Dikkat: Bu yeni sürüm, geriye dönük uyumlu değildir. Eklentinin eski bir sürümünü kullanan bir proje açılırken Studio, Gradle <project_name> projesi yenilenemedi ifadesini içeren bir hata gösterir.
Güncellenen Gradle eklentisi aşağıdaki değişiklikleri içerir:
- IDE modeli, DSL ile özelleştirilmiş olsa bile çıkış dosyasını içerecek şekilde düzeltildi. Ayrıca, varyant nesnesindeki çıkış dosyasını almak/ayarlamak için DSL'nin,
variant.packageApplication or variant.zipAlign
kullanılmasının gerekmemesi düzeltildi. - Bağımlılık çözümlemesi sayesinde (varsayılan yapılandırma, derleme türleri, türler) kombinasyonunu ayrı ayrı değil, birlikte çözümledik.
- Kitaplık projesinin testlerinin, kitaplığın kendi bağımlılıklarını doğru şekilde dahil etmesi için bağımlılık düzeltildi.
- İki bağımlılığın aynı yaprak adına sahip olduğu durum düzeltildi.
- ProGuard kuralları dosyasının türlere uygulanamamasıyla ilgili sorun düzeltildi.
Tüm Gradle eklentisi sürüm notlarını şu adreste bulabilirsiniz: http://tools.android.com/tech-docs/new-build-system.
- IDE modeli, DSL ile özelleştirilmiş olsa bile çıkış dosyasını içerecek şekilde düzeltildi. Ayrıca, varyant nesnesindeki çıkış dosyasını almak/ayarlamak için DSL'nin,
- aapt'den alınan Gradle hataları artık derleme/ klasördeki birleştirilmiş çıkış dosyalarına işaret etmez, gerçek kaynak konumlarına işaret eder.
- Paralel Derlemeler. Artık Gradle'ın paralel derlemelerini kullanabilirsiniz. Paralel derlemelerin "geliştirme" aşamasında olduğunu lütfen unutmayın (Gradle'ın belgelerine bakın.) Bu özellik, varsayılan olarak devre dışıdır. Etkinleştirmek için Tercihler > Derleyici'ye gidin ve Bağımsız modülleri paralel olarak derle kutusunu işaretleyin.
- Düzen oluşturma, düzenleyicide kaynak katlama ve daha birçok işlem için kullanılan yeni kaynak deposu üzerinde daha fazla çalışma yapın:
- .aar kitaplığı bağımlılıkları için temel destek (ör. kaynakların yerel kopyası olmayan bir kitaplık kullanma). Kaynak XML doğrulaması ve kaynak düzenleyicilerde gezinme için hâlâ çalışmıyor.
- Kaynak referanslarında döngü algılama.
- Dizenin tüm çevirilerini düzeltme işareti altında gösterebilen Hızlı Belgeler (F1), artık çeşitli Gradle türleri ve derleme türlerinin yanı sıra kitaplıklardaki tüm kaynak yer paylaşımlarını da göstermektedir. Bunlar, dizenin maskelenmiş sürümlerinin üstü çizili olacak şekilde ters kaynak yer paylaşımı sırasında listelenir.
- Modül bağımlılıkları grubu değiştiğinde birleştirilmiş kaynakların güncellenmesini sağlamak için yapılan düzeltmeler.
- Karakter varlık bildirimlerini ve XML ile unicode çıkışlarını düzgün bir şekilde işlemek için XML oluşturma düzeltmeleri.
- Düzen önizleme ve düzen düzenleyicisi pencereleri için ekran görüntüsü desteği kaydedin.
- Şablon hata düzeltmeleri.
- Lint hata düzeltmeleri.
- Kilitlenme raporları için çeşitli düzeltmeler. Teşekkür ederiz. Kilitlenme raporlarını göndermeye devam edin!
Android Studio v0.1.x (Mayıs 2013)
- Sık karşılaşılan bir Windows yükleme sorununa ilişkin düzeltme de dahil olmak üzere çeşitli hata düzeltmeleri.
Eski Android Gradle Eklentisi sürümleri
3.6.0 (Şubat 2020)
Android eklentisinin bu sürümü için gerekenler:
-
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 sonraki sürümler.
Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.
Ayrıntılar için 4.0.1 sürüm notlarına bakın.
Yeni özellikler
Android Gradle eklentisinin bu sürümü aşağıdaki yeni özellikleri içerir.
Görünüm Bağlama
Görünüm bağlama, kodunuzdaki görünümlere başvururken derleme zamanı güvenliği sağlar. Artık findViewById()
öğesini, otomatik oluşturulan bağlama sınıfı referansıyla değiştirebilirsiniz. Görünüm bağlamayı kullanmaya başlamak için her bir modülün build.gradle
dosyasına aşağıdaki kodu ekleyin:
android { viewBinding.enabled = true }
android { viewBinding.enabled = true }
Daha fazla bilgi edinmek için Bağlama belgelerini okuyun.
Maven Publish eklentisi için destek
Android Gradle eklentisi, derleme yapılarını Apache Maven deposunda yayınlamanıza olanak tanıyan Maven Publish Gradle eklentisi için destek içerir. Android Gradle eklentisi, uygulama veya kitaplık modüllerinizdeki her derleme varyantı yapısı için bir bileşen oluşturur. Bu bileşeni kullanarak, bir yayını Maven deposuna göre özelleştirebilirsiniz.
Daha fazla bilgi edinmek için Maven Publish eklentisinin nasıl kullanılacağı ile ilgili sayfaya gidin.
Yeni varsayılan sunum aracı
Eklenti, uygulamanızın hata ayıklama sürümünü oluştururken APK'nızı oluşturmak için zipflinger adlı yeni bir paketleme aracı kullanır. Bu yeni araç, derleme hızında iyileştirmeler sağlayacaktır. Yeni paketleme aracı beklediğiniz gibi çalışmıyorsa lütfen hata bildiriminde bulunun. gradle.properties
dosyanıza aşağıdakileri ekleyerek eski paketleme aracını kullanmaya geri dönebilirsiniz:
android.useNewApkCreator=false
Yerel derleme ilişkilendirmesi
Artık Clang'ın projenizdeki her C/C++ dosyasını oluşturup bağlaması için gereken süreyi belirleyebilirsiniz. Gradle, bu derleyici etkinliklerine ait zaman damgalarını içeren bir Chrome izlemesi oluşturabilir. Böylece projenizi oluşturmak için gereken süreyi daha iyi anlayabilirsiniz. Bu derleme ilişkilendirme dosyasının çıktısını almak için aşağıdakileri yapın:
-
Gradle derlemesi çalıştırırken
-Pandroid.enableProfileJson=true
işaretini ekleyin. Örneğin:gradlew assembleDebug -Pandroid.enableProfileJson=true
-
Chrome tarayıcıyı açın ve arama çubuğuna
chrome://tracing
yazın. -
Yükle düğmesini tıklayın ve dosyayı bulmak için
<var>project-root</var>/build/android-profile
konumuna gidin. Dosyanın adıprofile-<var>timestamp</var>.json.gz
.
Yerel derleme ilişkilendirme verilerini görüntüleyicinin üst kısmına yakın bir yerde görebilirsiniz:
Davranış değişiklikleri
Eklentinin bu sürümünü kullanırken davranışta aşağıdaki değişikliklerle karşılaşabilirsiniz.
Varsayılan olarak sıkıştırılmamış şekilde paketlenmiş yerel kitaplıklar
Uygulamanızı oluştururken, eklenti artık extractNativeLibs
öğesini varsayılan olarak "false"
değerine ayarlar. Diğer bir deyişle, yerel kitaplıklarınız sayfa hizalanır ve sıkıştırılmamış olarak paketlenir. Bu, yükleme boyutunun daha büyük olmasına neden olsa da kullanıcılarınız şunlardan faydalanır:
- Platform, kitaplıkların kopyasını oluşturmadan doğrudan yüklü APK'dan yerel kitaplıklara erişebildiğinden daha küçük uygulama yükleme boyutu.
- APK'nıza veya Android App Bundle'ınıza sıkıştırılmamış yerel kitaplıklar eklediğinizde Play Store sıkıştırması genellikle daha iyi sonuç verir. Bu nedenle, indirme boyutu daha küçüktür.
Android Gradle eklentisinin bunun yerine sıkıştırılmış yerel kitaplıkları paketlemesini istiyorsanız aşağıdakileri uygulamanızın manifest dosyasına ekleyin:
<application
android:extractNativeLibs="true"
... >
</application>
Not: extractNativeLibs
manifest özelliği, useLegacyPackaging
DSL seçeneğiyle değiştirildi. Daha fazla bilgi için Sıkıştırılmış yerel kitaplıkları paketlemek için DSL'yi kullanma adlı sürüm notuna bakın.
Varsayılan NDK sürümü
NDK'nın birden fazla sürümünü indirirseniz Android Gradle eklentisi artık kaynak kodu dosyalarınızı derlerken kullanılacak varsayılan sürümü seçiyor.
Eklenti önceden NDK'nın indirilen en son sürümünü seçiyordu.
Eklentinin seçtiği varsayılan değeri geçersiz kılmak için modülün build.gradle
dosyasındaki android.ndkVersion
özelliğini kullanın.
Basitleştirilmiş R sınıfı oluşturma
Android Gradle eklentisi, projenizdeki her kitaplık modülü için yalnızca bir R sınıfı oluşturarak ve bu R sınıflarını diğer modül bağımlılıklarıyla paylaşarak derleme sınıf yolunu basitleştirir. Bu optimizasyon, derlemelerin daha hızlı olmasını sağlar ancak aşağıdakileri göz önünde bulundurmanız gerekir:
- Derleyici, R sınıflarını yukarı akış modülü bağımlılıklarıyla paylaştığından projenizdeki her modülün benzersiz bir paket adı kullanması önemlidir.
- Bir kitaplığın R sınıfının diğer proje bağımlılıklarına görünürlüğü, kitaplığı bağımlılık olarak dahil etmek için kullanılan yapılandırma tarafından belirlenir. Örneğin, A Kitaplığı "api" bağımlılığı olarak B Kitaplığı'nı içeriyorsa A Kitaplığı ve A Kitaplığı'na bağlı olan diğer kitaplıklar, Kitaplığı B'nin R sınıfına erişebilir. Ancak diğer kitaplıklar, B Kitaplığı'nın R sınıfına erişemeyebilir. A Kitaplığı,
implementation
bağımlılık yapılandırmasını kullanıyorsa. Daha fazla bilgi edinmek için bağımlılık yapılandırmaları hakkındaki bilgileri okuyun.
Varsayılan yapılandırmada eksik olan kaynakları kaldırın
Kitaplık modüllerinde, varsayılan kaynak grubuna dahil etmediğiniz bir dil için kaynak eklerseniz (örneğin, /values-es/strings.xml
içinde dize kaynağı olarak hello_world
ekler ancak bu kaynağı /values/strings.xml
içinde tanımlamazsanız) Android Gradle eklentisi projenizi derlerken artık bu kaynağı içermez. Bu davranış değişikliği, daha az Resource Not Found
çalışma zamanı istisnasına neden olacak ve derleme hızını artıracaktır.
D8 artık ek açıklamalar için CLASS saklama politikasına uyuyor
D8, uygulamanızı derlerken artık ek açıklamaların CLASS saklama politikası uyguladığını dikkate alıyor ve bu ek açıklamalar çalışma zamanında kullanılamıyor. Bu davranış, daha önce Android Gradle eklentisinin ve D8'in eski sürümlerini kullanarak uygulamanızı derlerken çalışma zamanı sırasında bu ek açıklamalara erişime izin veren API düzeyi 23'e ayarlanır.
Diğer davranış değişiklikleri
-
aaptOptions.noCompress
artık tüm platformlarda (hem APK hem de paketler için) büyük/küçük harfe duyarlı değildir ve büyük harfli karakterlerin kullanıldığı yollara uyar. -
Veri bağlama artık varsayılan olarak artımlı. Daha fazla bilgi edinmek için 110061530 numaralı sorunu inceleyin.
-
RoboElektrik birim testleri de dahil olmak üzere tüm birim testleri artık tamamen önbelleğe alınabilir. Daha fazla bilgi edinmek için 115873047 numaralı sorunu inceleyin.
Hata düzeltmeleri
Android Gradle eklentisinin bu sürümü aşağıdaki hata düzeltmelerini içerir:
- Robolectric birim testleri, artık veri bağlama kullanan kitaplık modüllerinde desteklenmektedir. Daha fazla bilgi edinmek için 126775542 numaralı sorunu inceleyin.
- Artık Gradle'ın paralel yürütme modu etkinken
connectedAndroidTest
görevlerini birden fazla modülde çalıştırabilirsiniz.
Bilinen sorunlar
Bu bölümde, Android Gradle eklentisinin 3.6.0 sürümünde bulunan bilinen sorunlar açıklanmaktadır.
Android Lint görevinin performansı yavaş
Ayrıştırma altyapısındaki bir regresyon nedeniyle Android Lint'in bazı projelerde tamamlanması çok daha uzun sürebilir. Bu da belirli kod yapılarında lambda için tahmin edilen türlerin daha yavaş hesaplamasına neden olur.
Sorun, IDEA'da bir hata olarak bildirilmiş olup Android Gradle Plugin 4.0'da düzeltilecektir.
Manifest sınıfı eksik {:#agp-missing-manifest}
Uygulamanız manifest dosyasında özel izinler tanımlıyorsa Android Gradle eklentisi genellikle özel izinlerinizi dize sabitleri olarak içeren bir Manifest.java
sınıfı oluşturur. Eklenti, bu sınıfı uygulamanızla birlikte paketler. Böylece, çalışma zamanında bu izinlere daha kolay başvurabilirsiniz.
Android Gradle eklentisi 3.6.0'da manifest sınıfı oluşturma işlemi çalışmıyor.
Uygulamanızı eklentinin bu sürümüyle derliyorsanız ve bu sürüm manifest sınıfına referans veriyorsa bir ClassNotFoundException
istisnasıyla karşılaşabilirsiniz. Bu sorunu çözmek için aşağıdakilerden birini yapın:
-
Özel izinlerinize tam nitelikli adlarıyla referans verin. Örneğin,
"com.example.myapp.permission.DEADLY_ACTIVITY"
. -
Kendi sabitlerinizi aşağıda gösterildiği gibi tanımlayın:
public final class CustomPermissions { public static final class permission { public static final String DEADLY_ACTIVITY="com.example.myapp.permission.DEADLY_ACTIVITY"; } }
3.5.0 (Ağustos 2019)
Android Studio 3.5 ile birlikte Android Gradle eklentisi 3.5.0, önemli bir sürüm olup Android geliştirici araçlarının üç ana alanını iyileştirmeye odaklanan Project Marble'ın bir sonucudur: sistem sağlığı, özelliklerin daha iyi hale getirilmesi ve hataları düzeltme. Bu güncellemenin ana odak noktası, proje derleme hızını artırmaktı.
Bunlar ve diğer Project Marble güncellemeleri hakkında bilgi için Android Geliştiricileri blog yayınını veya aşağıdaki bölümleri okuyun.
Android eklentisinin bu sürümü için gerekenler:
-
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 sonraki sürümler.
Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.
Ayrıntılar için 4.0.1 sürüm notlarına bakın.
3.5.3 (Aralık 2019)
Android Studio 3.5.3'ü destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir.
3.5.2 (Kasım 2019)
Android Studio 3.5.2'yi destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.5.1 (Ekim 2019)
Android Studio 3.5.1'i destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
Artımlı ek açıklama işleme
gradle.properties
dosyanızda android.databinding.incremental=true
özelliğini ayarlarsanız Veri Bağlama ek açıklama işlemcisi artımlı ek açıklama işlemeyi destekler. Bu optimizasyon, artımlı derleme performansının iyileştirilmesini sağlar. Optimize edilmiş ek açıklama işlemcilerinin tam listesi için artımlı ek açıklama işlemcileri tablosuna bakın.
Ayrıca KAPT 1.3.30 ve sonraki sürümleri, gradle.properties
dosyanıza kapt.incremental.apt=true
ekleyerek etkinleştirebileceğiniz artımlı ek açıklama işlemcilerini de destekler.
Önbelleğe alınabilir birim testleri
includeAndroidResources
öğesini true
değerine ayarlayarak birim testlerini Android kaynakları, öğeler ve manifestleri kullanacak şekilde etkinleştirdiğinizde Android Gradle eklentisi, mutlak yolları içeren bir test yapılandırma dosyası oluşturur. Bu dosya, önbellek yeniden konumlanabilirliğini bozar. Eklentiye bunun yerine göreli yolları kullanarak test yapılandırmasını oluşturma talimatı verebilirsiniz. Bu yöntem, AndroidUnitTest
görevinin tamamen önbelleğe alınabilir olmasını sağlar. Bunun için gradle.properties
dosyanıza aşağıdakileri ekleyin:
android.testConfig.useRelativePath = true
Bilinen sorunlar
-
Kotlin Gradle eklentisinin 1.3.31 veya önceki bir sürümünü kullanırken projenizi oluştururken veya senkronize ederken aşağıdaki uyarıyı görebilirsiniz:
WARNING: API 'variant.getPackageLibrary()' is obsolete and has been replaced with 'variant.getPackageLibraryProvider()'.
Bu sorunu çözmek için eklentiyi 1.3.40 veya sonraki bir sürüme yükseltin.
3.4.0 (Nisan 2019)
Android eklentisinin bu sürümü için gerekenler:
-
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ümleri 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ının gerilemesine neden olabilir. Bu varsayılan ayarı geçersiz kılmak için projenizin
gradle.properties
dosyasında Gradle arka plan programı yığın boyutunu belirtin. -
SDK Derleme Araçları 28.0.3 veya sonraki sürümler.
Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.
Ayrıntılar için 4.0.1 sürüm notlarına bakın.
3.4.2 (Temmuz 2019)
Android Studio 3.4.2'yi destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.4.1 (Mayıs 2019)
Android Studio 3.4.1'i destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
Yeni özellikler
-
Yeni lint denetimi bağımlılık yapılandırmaları:
lintChecks
davranışı değişti ve Android kitaplıklarınızda hangi lint denetimlerinin paketleneceği üzerinde daha fazla kontrol sahibi olmanızı sağlamak içinlintPublish
adlı yeni bir bağımlılık yapılandırması kullanıma sunuldu.-
lintChecks
: Bu, yalnızca projenizi yerel olarak oluştururken çalıştırmak istediğiniz lint denetimleri için kullanmanız gereken mevcut bir yapılandırmadır. Yayınlanan AAR'ye lint kontrollerini dahil etmek için daha öncelintChecks
bağımlılık yapılandırmasını kullandıysanız bu bağımlılıkları, aşağıda açıklanan yenilintPublish
yapılandırmasını kullanacak şekilde taşımanız gerekir. -
lintPublish
: Yayınlanan AAR'ye eklemek istediğiniz lint kontrolleri için kitaplık projelerinde bu yeni yapılandırmayı aşağıda gösterildiği gibi kullanın. Bu, kitaplığınızı kullanan projelerin bu lint kontrollerini de uyguladığı anlamına gelir.
Aşağıdaki kod örneğinde, yerel bir Android kitaplık projesinde her iki bağımlılık yapılandırması da kullanılmaktadır.
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks project(':lint') // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish project(':lintpublish') }
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks(project(":lint")) // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish(project(":lintpublish")) }
-
Genel olarak, paketleme ve imzalama görevlerinde genel bir derleme hızı artışı olması gerekir. Bu görevlerle ilgili bir performans gerilemesi fark ederseniz lütfen hata bildiriminde bulunun.
-
Davranış değişiklikleri
-
Android Hazır Uygulamalar Özelliği eklentisinin kullanımdan kaldırılmasıyla ilgili uyarı: Hazır uygulamanızı oluşturmak için hâlâ
com.android.feature
eklentisini kullanıyorsanız Android Gradle eklentisi 3.4.0 tarafından kullanımdan kaldırma uyarısı verilir. Eklentinin gelecekteki sürümlerinde hazır uygulama oluşturmaya devam edebileceğinizden emin olmak için hazır uygulamanızı, tek bir Android App Bundle'dan hem yüklü hem de hazır uygulama deneyimlerinizi yayınlamanıza olanak tanıyan dinamik özellik eklentisini kullanarak taşıyın. -
R8 varsayılan olarak etkindir: R8; şeker giderme, küçültme, karartma, optimize etme ve kopyalama işlemlerini tek bir adımda birleştirerek derleme performansında gözle görülür iyileşmeler sağlar. Android Gradle eklentisi 3.3.0'da kullanıma sunulan R8, artık eklenti 3.4.0 ve üst sürümlerini kullanan uygulama ve Android kitaplığı projelerinde varsayılan olarak etkin.
Aşağıdaki resimde, R8 kullanıma sunulmadan önceki derleme işlemine üst düzey bir genel bakış sunulmaktadır.
Artık R8 ile şeker giderme, küçültme, karartma, optimize etme ve dexing (D8) işlemleri aşağıda gösterildiği gibi tek adımda tamamlanır.
R8'in mevcut ProGuard kurallarınızla çalışacak şekilde tasarlandığını hatırlatmak isteriz. Dolayısıyla, R8'den yararlanmak için muhtemelen herhangi bir işlem yapmanız gerekmeyecektir. Ancak özel olarak Android projeleri için tasarlanmış olan ProGuard'dan farklı bir teknoloji olduğundan, küçültme ve optimizasyon, ProGuard'ın sahip olmadığı kodun kaldırılmasıyla sonuçlanabilir. Dolayısıyla, çok düşük olasılıkla da olsa bu kodu derleme çıkışınızda tutmak için ek kurallar eklemeniz gerekebilir.
R8'i kullanırken sorun yaşıyorsanız sorununuzun
bir çözümü olup olmadığını kontrol etmek için
R8 uyumluluğuyla ilgili SSS
sayfasını okuyun. Çözüm belgelenmemişse lütfen hata bildiriminde bulunun.
Projenizin gradle.properties
dosyasına aşağıdaki satırlardan birini ekleyerek R8'i devre dışı bırakabilirsiniz:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Not: Belirli bir derleme türünde, uygulama modülünüzün build.gradle
dosyasında useProguard
öğesini false
olarak ayarlarsanız Android Gradle eklentisi, projenizin gradle.properties
dosyasında R8'i devre dışı bırakıp bırakmamanızdan bağımsız olarak, R8'i kullanarak uygulamanızın kodunu bu derleme türü için küçültür.
-
ndkCompile
desteği sonlandırıldı: Yerel kitaplıklarınızı derlemek içinndkBuild
kullanmayı denediğinizde artık bir derleme hatası alıyorsunuz. Bunun yerine, Projenize C ve C++ kodu eklemek için CMake veya ndk-build kullanmanız gerekir.
Bilinen sorunlar
-
Benzersiz paket adlarının doğru kullanımı şu anda zorunlu değil ancak eklentinin sonraki sürümlerinde daha katı olacak. Android Gradle eklentisinin 3.4.0 sürümünde, aşağıdaki satırı
gradle.properties
dosyanıza ekleyerek projenizin kabul edilebilir paket adları tanımlayıp tanımlamadığını kontrol etmek için kaydolabilirsiniz.android.uniquePackageNames = true
Android Gradle eklentisi aracılığıyla paket adı ayarlama hakkında daha fazla bilgi edinmek için Uygulama kimliğini ayarlama bölümüne bakın.
3.3.0 (Ocak 2019)
Android eklentisinin bu sürümü için gerekenler:
-
Gradle 4.10.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ümleri 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ının gerilemesine neden olabilir. Bu varsayılan ayarı geçersiz kılmak için projenizin
gradle.properties
dosyasında Gradle arka plan yığın boyutunu belirtin. -
SDK Derleme Araçları 28.0.3 veya sonraki sürümler.
Bu küçük güncelleme, Android 11'de paket görünürlüğü ile ilgili yeni varsayılan ayarlar ve özelliklerle uyumluluğu destekler.
Ayrıntılar için 4.0.1 sürüm notlarına bakın.
3.3.2 (Mart 2019)
Android Studio 3.3.2'yi destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir. Dikkate değer hata düzeltmelerinin listesini görmek için Sürüm Güncellemeleri blogundaki ilgili yayını okuyun.
3.3.1 (Şubat 2019)
Android Studio 3.3.1'i destekleyen bu küçük güncelleme, çeşitli hata düzeltmeleri ve performans iyileştirmeleri içerir.
Yeni özellikler
-
İyileştirilmiş sınıf yolu senkronizasyonu: Android Gradle eklentisi, çalışma zamanınızdaki bağımlılıkları çözümlerken ve zaman sınıf yollarını derlerken birden çok sınıf yolunda görünen bağımlılıklar için belirli aşağı akış sürümü çakışmalarını düzeltmeye çalışır.
Örneğin, çalışma zamanı sınıf yolu, Kitaplığı A sürüm 2.0'ı, derleme sınıf yolu ise Kitaplığı A sürüm 1.0'ı içeriyorsa eklenti, hataları önlemek için derleme sınıf yoluna olan bağımlılığı otomatik olarak Kitaplık A sürüm 2.0 olarak günceller.
Ancak, çalışma zamanı sınıf yolu, Kitaplığı A sürüm 1.0'ı içeriyorsa ve derleme işlemi, Kitaplığı A sürüm 2.0'ı içeriyorsa eklenti, derleme sınıf yolunun bağımlılığını Kitaplık A sürüm 1.0'a düşürmez. Bu durumda bir hata alırsınız. Daha fazla bilgi edinmek için Sınıf yolları arasındaki çakışmaları düzeltme bölümüne bakın.
-
Ek açıklama işlemcileri kullanılırken iyileştirilmiş artımlı Java derlemesi: Bu güncelleme, ek açıklama işlemcileri kullanılırken artımlı Java derlemesi için sağlanan desteği iyileştirerek derleme süresini kısaltır.
Not: Bu özellik, Gradle sorunu 8194 nedeniyle Gradle 5.1 dışında Gradle 4.10.1 ve sonraki sürümlerle uyumludur.
-
Kapt kullanan projeler (yalnızca Kotlin projelerinin çoğu ve Kotlin-Java karma projeleri): Veri bağlama veya retro-lambda eklentisi kullandığınızda bile artımlı Java derlemesi etkinleştirilir. Kapt görevi tarafından ek açıklama işleme henüz tamamlanmadı.
-
Kapt kullanmayan projeler için (yalnızca Java projeleri): Kullandığınız ek açıklama işlemcilerinin tümü artımlı ek açıklama işlemeyi destekliyorsa artımlı Java derlemesi varsayılan olarak etkinleştirilir. Artımlı ek açıklama işlemcisi kullanımını izlemek için Gradle sorunu 5277'yi izleyin.
Bununla birlikte, bir veya daha fazla ek açıklama işlemcisi artımlı derlemeleri desteklemiyorsa artımlı Java derlemesi etkinleştirilmez. Bunun yerine, aşağıdaki işareti
gradle.properties
dosyanıza ekleyebilirsiniz:android.enableSeparateAnnotationProcessing=true
Bu işareti eklediğinizde Android Gradle eklentisi, ek açıklama işlemcilerini ayrı bir görevde yürütür ve Java derleme görevinin kademeli olarak çalıştırılmasını sağlar.
-
-
Eski API'yi kullanırken daha iyi hata ayıklama bilgileri: Eklenti, artık desteklenmeyen bir API kullandığınızı algıladığında artık API'nin nerede kullanıldığını belirlemenize yardımcı olmak için daha ayrıntılı bilgiler sağlayabilir. Ek bilgileri görmek için projenizin
gradle.properties
dosyasına aşağıdakileri eklemeniz gerekir:android.debug.obsoleteApi=true
İşareti, komut satırından
-Pandroid.debug.obsoleteApi=true
öğesini ileterek de etkinleştirebilirsiniz. -
Komut satırından özellik modülleri üzerinde araç testleri çalıştırabilirsiniz.
Davranış değişiklikleri
-
Geç görev yapılandırması: Eklenti, mevcut derlemeyi (veya yürütme görevi grafiğinde yer almayan görevleri) tamamlamak için gerekli olmayan görevlerin başlatılmasını ve yapılandırılmasını önlemek amacıyla artık Gradle'ın yeni görev oluşturma API'sini kullanıyor. Örneğin, "yayınlama" ve "hata ayıklama" derleme varyantları gibi birden fazla derleme varyantınız varsa ve uygulamanızın "hata ayıklama" sürümünü oluşturuyorsanız eklenti, uygulamanızın "yayınlama" sürümü için görevleri başlatmak ve yapılandırmaktan kaçınır.
Variants API'de
variant.getJavaCompile()
gibi bazı eski yöntemleri çağırmak görev yapılandırmasını zorunlu kılmaya devam edebilir. Derlemenizin geç görev yapılandırması için optimize edildiğinden emin olmak amacıylavariant.getJavaCompileProvider()
gibi TaskProvider nesnesi döndüren yeni yöntemler çağırın.Özel derleme görevleri yürütüyorsanız Gradle'ın yeni görev oluşturma API'sine nasıl uyarlayacağınızı öğrenin.
-
Belirli bir derleme türü için
useProguard false
ayarlanırken eklenti artık uygulamanızın kodunu ve kaynaklarını küçültmek ve gizlemek için ProGuard yerine R8 kullanıyor. R8 hakkında daha fazla bilgi edinmek için Android Geliştirici Blogu'ndaki bu blog yayınını okuyun. -
Kitaplık projeleri için daha hızlı R sınıfı oluşturma: Önceden Android Gradle eklentisi, projenizin bağımlılıklarının her biri için bir
R.java
dosyası oluşturuyor ve ardından bu R sınıflarını uygulamanızın diğer sınıflarıyla birlikte derliyordu. Eklenti artık, önce araR.java
sınıfları oluşturmadan, uygulamanızın derlenmiş R sınıfını doğrudan içeren bir JAR oluşturur. Bu optimizasyon, birçok kitaplık alt projesi ve bağımlılığı içeren projeler için derleme performansını önemli ölçüde iyileştirebilir ve Android Studio'da dizine ekleme hızını artırabilir. -
Android App Bundle oluştururken, Android 6.0 (API düzeyi 23) veya sonraki sürümleri hedefleyen bu uygulama paketinden oluşturulan APK'lar artık varsayılan olarak yerel kitaplıklarınızın sıkıştırılmamış sürümlerini içeriyor. Bu optimizasyon, cihazın kitaplığın bir kopyasını oluşturma ihtiyacını ortadan kaldırır ve böylece uygulamanızın diskteki boyutunu küçültür. Bu optimizasyonu devre dışı bırakmak isterseniz aşağıdaki kodu
gradle.properties
dosyanıza ekleyin:android.bundle.enableUncompressedNativeLibs = false
-
Eklenti, bazı üçüncü taraf eklentilerinin minimum sürümlerini zorunlu kılar.
-
Tek varyantlı proje senkronizasyonu: Android Studio'nun projenizin nasıl yapılandırıldığını anlamasını sağlamak için derleme yapılandırmanızla projenizi senkronize etmeniz önemli bir adımdır. Ancak bu süreç büyük projelerde çok zaman alabilir. Projenizde birden fazla derleme varyantı kullanılıyorsa proje senkronizasyonlarını artık yalnızca seçtiğiniz varyantla sınırlandırarak optimize edebilirsiniz.
Bu optimizasyonu etkinleştirmek için Android Gradle Plugin 3.3.0 veya sonraki sürümleriyle birlikte Android Studio 3.3 veya sonraki bir sürümünü kullanmanız gerekir. Bu gereksinimleri karşıladığınızda IDE, projenizi senkronize ederken bu optimizasyonu etkinleştirmenizi ister. Optimizasyon yeni projelerde de varsayılan olarak etkindir.
Bu optimizasyonu manuel olarak etkinleştirmek için Dosya > Ayarlar > Deneysel > Gradle'ı (Mac'te Android Studio > Tercihler > Deneysel > Gradle) tıklayın ve Yalnızca etkin varyantı senkronize et onay kutusunu seçin.
Not: Bu optimizasyon, Java ve C++ dillerini içeren projeleri tam olarak destekler. Ayrıca, Kotlin için de bir miktar destek sunar. Kotlin içeriği olan projeler için optimizasyonu etkinleştirdiğinizde Gradle senkronizasyonu, dahili olarak tam varyantları kullanmaya başlar.
-
Eksik SDK paketlerinin otomatik olarak indirilmesi: Bu işlev, NDK'yı destekleyecek şekilde genişletilmiştir. Daha fazla bilgi edinmek için Gradle ile eksik paketleri otomatik olarak indirme bölümünü okuyun.
Hata Düzeltmeleri
-
Android Gradle eklentisi 3.3.0, aşağıdaki sorunları düzeltir:
- Jetifier etkin olmasına rağmen AndroidX sürümü yerine
android.support.v8.renderscript.RenderScript
çağıran derleme işlemi - Statik olarak gruplandırılmış
annotation.AnyRes
dahil olmak üzereandroidx-rs.jar
nedeniyle oluşan çakışmalar - RenderScript kullanırken artık
build.gradle
dosyalarınızda Derleme Araçları sürümünü manuel olarak ayarlamanız gerekmez
- 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 gerekenler:
- Gradle 4.6 veya sonraki sürümler. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
- SDK Derleme Araçları 28.0.3 veya sonraki sürümler.
3.2.1 (Ekim 2018)
Bu güncellemeyle birlikte artık SDK Derleme Araçları için sürüm belirtmeniz gerekmiyor. Android Gradle eklentisi artık varsayılan olarak 28.0.3 sürümünü kullanıyor.
Yeni özellikler
-
Android App Bundle oluşturma desteği: Uygulama paketi, uygulamanızın derlenen tüm kod ve kaynaklarını içeren yeni bir yükleme biçimidir. APK oluşturma işlemini erteler ve Google Play Store'da oturum açarsınız. Artık birden fazla APK oluşturmak, imzalamak ve yönetmek zorunda değilsiniz. Ayrıca kullanıcılar, cihazları için optimize edilmiş daha küçük indirmelerden yararlanabilirler. Daha fazla bilgi için Android App Bundle'lar hakkında başlıklı makaleyi okuyun.
-
Ek açıklama işlemcileri kullanılırken iyileştirilmiş artımlı derleme hızları için destek:
AnnotationProcessorOptions
DSL artıkCommandLineArgumentProvider
hizmetinin kapsamını genişletiyor. Böylece siz veya ek açıklama işleyen yazarı, artımlı derleme özelliği türü ek açıklamaları kullanarak işlemci için bağımsız değişkenlere ek açıklama ekleyebilir. Bu ek açıklamaları kullanmak, artımlı ve önbelleğe alınmış temiz derlemelerin doğruluğunu ve performansını iyileştirir. Daha fazla bilgi edinmek için Bağımsız değişkenleri ek açıklama işlemcilerine iletme bölümünü okuyun. -
AndroidX için taşıma aracı: Android 3.2 ve sonraki sürümleriyle Android Gradle eklentisi 3.2.0 kullanılırken, menü çubuğundan Yeniden düzenle > AndroidX'e taşı'yı seçerek projenizin yerel ve Maven bağımlılıklarını yeni AndroidX kitaplıklarını kullanacak şekilde taşıyabilirsiniz. Bu taşıma aracını kullandığınızda,
gradle.properties
dosyanızda aşağıdaki işaretler detrue
olarak ayarlanır:-
android.useAndroidX
: Android eklentisi,true
olarak ayarlandığında Destek Kitaplığı yerine uygun AndroidX kitaplığını kullanır. Bu işaret belirtilmezse eklenti varsayılan olarak işaretifalse
olarak ayarlar. -
android.enableJetifier
: Android eklentisitrue
olarak ayarlandığında, mevcut üçüncü taraf kitaplıkların ikili kodlarını yeniden yazarak mevcut üçüncü taraf kitaplıkları otomatik olarak AndroidX'i kullanacak şekilde taşır. Bu işaret belirtilmezse eklenti varsayılan olarak işaretifalse
olarak ayarlar.android.useAndroidX
politikası datrue
olarak ayarlıyken bu işareti yalnızcatrue
olarak ayarlayabilirsiniz. Aksi takdirde yapı hatası alırsınız.Daha fazla bilgi edinmek için AndroidX'e genel bakış başlıklı makaleyi okuyun.
-
-
Yeni kod küçültücü, R8: R8, ProGuard'ın yerini alan yeni bir kod küçültme ve kod karartma aracıdır. Projenizin
gradle.properties
dosyasına aşağıdakileri ekleyerek R8'in önizleme sürümünü kullanmaya başlayabilirsiniz:android.enableR8 = true
android.enableR8 = true
Davranış değişiklikleri
-
D8 ile sudan arındırma özelliği artık varsayılan olarak etkin.
-
AAPT2 artık Google'ın Maven deposunda. AAPT2'yi kullanmak için aşağıda gösterildiği gibi
build.gradle
dosyanızdagoogle()
bağımlılığı bulunduğundan emin olun:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Yerel multidex artık varsayılan olarak etkin. Android Studio'nun önceki sürümleri, bir uygulamanın hata ayıklama sürümünü Android API düzeyi 21 veya üstünü çalıştıran bir cihaza dağıtırken yerel multidex'i etkinleştiriyordu. Artık Android Gradle eklentisi, ister bir cihaza dağıtım yapıyor ister yayınlanmak üzere bir APK oluşturuyor olun,
minSdkVersion=21
veya daha yüksek bir değere ayarlanmış tüm modüller için yerel multidex'i etkinleştirir. -
Eklenti artık protobuf eklentisinin (0.8.6), Kotlin eklentisinin (1.2.50) ve Crashlytics eklentisinin (1.25.4) minimum sürümünü zorunlu kılıyor.
-
Özellik modülü eklentisi
com.android.feature
, artık modül adı belirlenirken yalnızca harf, rakam ve alt çizgi kullanılmasını zorunlu kılıyor. Örneğin, özellik modülü adınız tire içeriyorsa yapı hatası alırsınız. Bu davranış, dinamik özellik eklentisinin davranışıyla aynıdır.
Hata düzeltmeleri
- JavaCompile artık veri bağlamalı projelerde önbelleğe alınabilir. (Sorun No. 69243050)
- Veri bağlamalı kitaplık modülleri için daha iyi derleme önleme. (Sorun No. 77539932)
- İsteğe bağlı yapılandırma özelliğini, öngörülemeyen bazı derleme hataları nedeniyle önceki sürümlerde devre dışı bıraktıysanız artık yeniden etkinleştirebilirsiniz. (Sorun No. 77910727)
3.1.0 (Mart 2018)
Android eklentisinin bu sürümü için gerekenler:
-
Gradle 4.4 veya sonraki sürümler.
Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
Build Tools 27.0.3 veya üzeri sürümler.
Eklenti varsayılan olarak gereken en düşük sürümü kullanır. Bu nedenle
android.buildToolsVersion
özelliğini kullanarak derleme araçları için artık bir sürüm belirtmenize gerek olmadığını unutmayın.
Yeni DEX derleyicisi, D8
Android Studio artık D8 adında yeni bir DEX derleyici varsayılan olarak kullanılıyor. DEX derleme, Android Runtime (veya Android'in eski sürümlerinde Dalvik) için .class
bayt kodunu .dex
bayt koduna dönüştürme işlemidir. DX adlı önceki derleyiciye kıyasla D8, uygulama çalışma zamanı performansı aynı veya daha iyiyken daha hızlı derler ve daha küçük DEX dosyaları çıkarır.
D8, günlük uygulama geliştirme iş akışınızı değiştirmeyecektir. Ancak yeni derleyiciyle ilgili herhangi bir sorun yaşarsanız lütfen hata bildiriminde bulunun. Projenizin gradle.properties
dosyasına aşağıdakileri ekleyerek D8'i geçici olarak devre dışı bırakabilir ve DX'i kullanabilirsiniz:
android.enableD8=false
Java 8 dili özelliklerini kullanan projeler için artımlı şeker giderme varsayılan olarak etkindir. Projenizin gradle.properties
dosyasında aşağıdakileri belirterek bu özelliği devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false.
Önizleme kullanıcıları: D8'in önizleme sürümünü kullanıyorsanız bu sürümün artık JDK'ye değil, SDK derleme araçlarındaki kitaplıklara göre derlendiğini unutmayın. Bu nedenle, JDK'da bulunan ancak SDK derleme araçları kitaplıklarında bulunmayan API'lere erişiyorsanız bir derleme hatası alırsınız.
Davranış değişiklikleri
-
Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluşturulurken, artık varsayılan olarak şu ABI'ler için APK oluşturmaz:
mips
,mips64
vearmeabi
.Bu ABI'leri hedefleyen APK'lar oluşturmak isterseniz NDK r16b veya daha düşük bir kullanmanız ve ABI'leri aşağıda gösterildiği gibi
build.gradle
dosyanızda belirtmeniz gerekir:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Android eklentisinin önbelleği oluşturma özelliği artık 30 günden daha eski önbellek girişlerini kaldırıyor.
-
"auto"
öğesininresConfig
hizmetine iletilmesi, APK'nıza paketlemek için dize kaynakları artık otomatik olarak seçilmez."auto"
öğesini kullanmaya devam ederseniz eklenti, uygulamanızın ve bağımlılıklarının sağladığı tüm dize kaynaklarını paketler. Bu yüzden, bunun yerine, eklentinin APK'nıza paketlemesini istediğiniz her bir yerel ayarı belirtmeniz gerekir. -
Yerel modüller uygulamanızın test APK'sına bağlı olamayacağından, desteklenen testlerinize
androidTestImplementation
yerineandroidTestApi
yapılandırmasını kullanarak bağımlılık eklemek, Gradle'ın aşağıdaki uyarıyı vermesine neden olur:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Düzeltmeler
- Android Studio'nun kompozit derlemelerdeki bağımlılıkları düzgün tanımadığı bir sorunu düzeltir.
- Android eklentisini tek bir derlemede birden fazla kez yüklerken proje senkronizasyon hatasıyla karşılaştığınız sorunu düzeltir. Örneğin, birden fazla alt projenin derleme komut dosyası sınıf yolunda Android eklentisini içermesi gibi.
3.0.0 (Ekim 2017)
Android Gradle eklentisi 3.0.0, büyük projelerin performans sorunlarını gidermeyi amaçlayan çeşitli değişiklikler içerir.
Örneğin, yaklaşık 130 modül ve çok sayıda harici bağımlılığa (ancak kod ya da kaynak içermeyen) sahip bir örnek iskelet projesinde aşağıdakine benzer performans iyileştirmeleri elde edebilirsiniz:
Android eklenti sürümü + Gradle sürümü | Android eklentisi 2.2.0 + Gradle 2.14.1 | Android eklentisi 2.3.0 + Gradle 3.3 | Android eklentisi 3.0.0 + Gradle 4.1 |
---|---|---|---|
Yapılandırma (ör. ./gradlew --help çalıştırma) |
~2 dk. | ~9 sn. | ~2,5 sn. |
1 satırlık Java değişikliği (uygulama değişikliği) | ~2 dk. 15 sn. | ~29 sn. | ~6,4 sn. |
Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma işlemini göz önünde bulundurmalısınız.
Yukarıda açıklanan performans iyileştirmelerinden memnun kalmazsanız lütfen hata bildiriminde bulunun ve Gradle Profiler'ı kullanarak derlemenizin izini ekleyin.
Android eklentisinin bu sürümü için gerekenler:
- Gradle 4.1 veya üzeri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
Build Tools 26.0.2 veya daha yeni bir sürüme sahip olma. Bu güncellemeyle birlikte artık derleme araçları için sürüm belirtmenize gerek yoktur. Eklenti, varsayılan olarak gerekli minimum sürümü kullanır.
Dolayısıyla artık
android.buildToolsVersion
özelliğini kaldırabilirsiniz.
3.0.1 (Kasım 2017)
Bu, Android Studio 3.0.1'i destekleyen küçük bir güncellemedir ve genel hata düzeltmelerini ve performans iyileştirmelerini içerir.
Optimizasyonlar
- Ayrıntılı bir görev grafiği sayesinde, çok modüllü projelerde daha iyi paralellik.
- Bağımlılıkta değişiklik yaparken Gradle, söz konusu bağımlılığın API'sine erişimi olmayan modülleri yeniden derlemeyerek daha hızlı derlemeler gerçekleştirir.
Gradle'ın yeni bağımlılık yapılandırmalarını kullanarak API'lerini diğer modüllere sızdıran bağımlılıkları kısıtlamanız gerekir:
implementation
,api
,compileOnly
veruntimeOnly
. - Sınıf başına veri işleme sayesinde daha yüksek artımlı derleme hızı. Her sınıf artık ayrı DEX dosyalarında derleniyor ve yalnızca değiştirilen sınıflar yeniden dizinleniyor. Ayrıca
minSdkVersion
değerini 20 veya daha düşük bir değere ayarlayan ve eski multi-dex kullanan uygulamalar için de iyileştirilmiş derleme hızları bekleyebilirsiniz. - Belirli görevleri önbelleğe alınmış çıkışları kullanacak şekilde optimize ederek derleme hızları artırıldı. Bu optimizasyondan yararlanmak için önce Gradle oluşturma önbelleğini etkinleştirmeniz gerekir.
- Artık varsayılan olarak etkin olan AAPT2 kullanılarak iyileştirilmiş artımlı kaynak işleme. AAPT2 kullanırken sorun yaşıyorsanız lütfen hata bildiriminde bulunun. Ayrıca
gradle.properties
dosyanızdaandroid.enableAapt2=false
ayarını yaparak ve komut satırından./gradlew --stop
komutunu çalıştırarak Gradle arka plan programını yeniden başlatarak AAPT2'yi devre dışı bırakabilirsiniz.
Yeni özellikler
- Varyanta duyarlı bağımlılık yönetimi. Eklenti, bir modülün belirli bir varyantını oluştururken artık yerel kitaplık modülü bağımlılıklarının varyantlarını, oluşturduğunuz modülün varyantıyla otomatik olarak eşleştirir.
- Android Hazır Uygulamalar'ı ve Android Hazır Uygulamalar SDK'sını (SDK yöneticisini kullanarak indirebilirsiniz) destekleyen yeni bir Özellik modülü eklentisi içerir. Yeni eklentiyle Özellik modülleri oluşturma hakkında daha fazla bilgi edinmek için Birden çok özelliğe sahip hazır bir uygulamanın yapısı başlıklı makaleyi okuyun.
- Belirli Java 8 dili özelliklerini ve Java 8 kitaplıklarını kullanmak için yerleşik destek. Jack kullanımdan kaldırıldı ve artık gerekli değil. Varsayılan araç zincirinde yerleşik olarak bulunan iyileştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir. Daha fazla bilgi için Java 8 dili özelliklerini kullanma konusunu okuyun.
-
Android Test Orchestrator ile test çalıştırma desteği eklendi. Bu destek, uygulamanızın her testini kendi Enstrümantasyon çağrısı ile çalıştırmanıza olanak tanır. Her test kendi Enstrümantasyon örneğinde çalıştığı için testler arasında paylaşılan durum, cihazınızın CPU veya belleğinde birikmez. Bir test çökse bile yalnızca kendi Enstrümantasyon örneğini kaldırır. Böylece diğer testleriniz çalışmaya devam eder.
- Cihaz üzerinde test düzenlemesinin kullanılıp kullanılmayacağını belirlemek için
testOptions.execution
eklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibiANDROID_TEST_ORCHESTRATOR
belirtmeniz gerekir. Varsayılan olarak bu özellik, cihaz üzerinde düzenlemeyi devre dışı bırakan ve test çalıştırmanın standart yöntemi olanHOST
değerine ayarlanmıştır.
Modern
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- Cihaz üzerinde test düzenlemesinin kullanılıp kullanılmayacağını belirlemek için
-
Yeni
androidTestUtil
bağımlılık yapılandırması, araç testlerinizi çalıştırmadan önce Android Test Orchestrator gibi başka bir test yardımcı APK'sı yüklemenize olanak tanır:Modern
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
RoboElektrik gibi Android kaynakları gerektiren birim testlerini desteklemek için
testOptions.unitTests.includeAndroidResources
eklendi. Bu özelliğitrue
olarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemi gerçekleştirir. Daha sonra testleriniz, aşağıdaki anahtarlar için sınıf yolundacom/android/tools/test_config.properties
öğesini inceleyebilir:-
android_merged_assets
: Birleştirilmiş öğe dizininin mutlak yolu.Not: Kitaplık modüllerinde, birleştirilen öğeler bağımlılık öğelerini içermez (65550419 numaralı sorunu inceleyin).
-
android_merged_manifest
: Birleştirilmiş manifest dosyasının mutlak yolu. -
android_merged_resources
: Birleştirilmiş kaynak dizininin mutlak yolu. Bu dizin, modüldeki tüm kaynakları ve tüm bağımlılıklarını içerir. -
android_custom_package
: Son R sınıfının paket adı. Uygulama kimliğini dinamik olarak değiştirirseniz bu paket adı, uygulamanın manifest dosyasındakipackage
özelliğiyle eşleşmeyebilir.
-
- Kaynak olarak yazı tipleri desteği (Android 8.0 (API seviyesi 26) sürümünde kullanıma sunulan yeni bir özelliktir).
- Android Hazır Uygulamalar SDK'sı 1.1 ve sonraki sürümlere sahip dile özgü APK'lar için destek.
-
Artık harici yerel derleme projenizin çıkış dizinini aşağıda gösterildiği gibi değiştirebilirsiniz:
Modern
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- Artık Android Studio'dan yerel projeler oluştururken CMake 3.7 veya sonraki bir sürümü kullanabilirsiniz.
-
Yeni
lintChecks
bağımlılık yapılandırması, özel lint kurallarını tanımlayan bir JAR oluşturup bunu AAR ve APK projelerinizde paketlemenize olanak tanır.Özel lint kurallarınız, tek bir JAR üreten ve yalnızca
compileOnly
bağımlılıkları içeren ayrı bir projeye ait olmalıdır. Böylece diğer uygulama ve kitaplık modülleri,lintChecks
yapılandırmasını kullanarak lint projenize bağlanabilir:Modern
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
Davranış değişiklikleri
- Android eklentisi 3.0.0 belirli API'leri kaldırır ve bu API'leri kullanırsanız derlemeniz bozulur. Örneğin, artık
outputFile()
nesnelerine erişmek için Variants API'yi kullanamaz veya her bir varyantın manifest dosyasını almak içinprocessManifest.manifestOutputFile()
kullanamazsınız. Daha fazla bilgi için API değişiklikleri bölümünü okuyun. - Artık derleme araçları için bir sürüm belirtmeniz gerekmez (böylece artık
android.buildToolsVersion
özelliğini kaldırabilirsiniz). Varsayılan olarak eklenti, kullandığınız Android eklentisinin sürümü için gereken minimum derleme araçları sürümünü kullanır. - Artık aşağıda gösterildiği gibi
buildTypes
blokunda PNG dosyalarını önceden etkinleştirebilir veya devre dışı bırakabilirsiniz. PNG dosyası oluşturma, hata ayıklama derlemeleri hariç tüm derlemeler için varsayılan olarak etkindir. Bunun nedeni, çok sayıda PNG dosyası içeren projelerin derleme süresini uzatmasıdır. Bu nedenle, diğer derleme türlerinin derleme sürelerini iyileştirmek için PNG şablon işlemeyi devre dışı bırakmalı veya resimlerinizi WebP'ye dönüştürmelisiniz.Modern
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- Android eklentisi artık otomatik olarak harici CMake projelerinizde yapılandırdığınız yürütülebilir hedefler oluşturuyor.
- Artık
annotationProcessor
bağımlılık yapılandırmasını kullanarak işlemci sınıf yoluna ek açıklama işlemcileri eklemeniz gerekir. - Kullanımdan kaldırılan
ndkCompile
kullanımını artık daha kısıtlı hale getirebilirsiniz. APK'nıza paketlemek istediğiniz yerel kodu derlemek için bunun yerine, CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi edinmek için ndkcker'dan taşıma başlıklı makaleyi inceleyin.
3.0.0 (Ekim 2017)
Android Gradle eklentisi 3.0.0, büyük projelerin performans sorunlarını gidermeyi amaçlayan çeşitli değişiklikler içerir.
Örneğin, yaklaşık 130 modül ve çok sayıda harici bağımlılığa (ancak kod ya da kaynak içermeyen) sahip bir örnek iskelet projesinde aşağıdakine benzer performans iyileştirmeleri elde edebilirsiniz:
Android eklenti sürümü + Gradle sürümü | Android eklentisi 2.2.0 + Gradle 2.14.1 | Android eklentisi 2.3.0 + Gradle 3.3 | Android eklentisi 3.0.0 + Gradle 4.1 |
---|---|---|---|
Yapılandırma (ör. ./gradlew --help çalıştırma) |
~2 dk. | ~9 sn. | ~2,5 sn. |
1 satırlık Java değişikliği (uygulama değişikliği) | ~2 dk. 15 sn. | ~29 sn. | ~6,4 sn. |
Bu değişikliklerden bazıları mevcut derlemeleri bozuyor. Bu nedenle, yeni eklentiyi kullanmadan önce projenizi taşıma işlemini göz önünde bulundurmalısınız.
Yukarıda açıklanan performans iyileştirmelerinden memnun kalmazsanız lütfen hata bildiriminde bulunun ve Gradle Profiler'ı kullanarak derlemenizin izini ekleyin.
Android eklentisinin bu sürümü için gerekenler:
- Gradle 4.1 veya üzeri. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
Build Tools 26.0.2 veya daha yeni bir sürüme sahip olma. Bu güncellemeyle birlikte artık derleme araçları için sürüm belirtmenize gerek yoktur. Eklenti, varsayılan olarak gerekli minimum sürümü kullanır.
Dolayısıyla artık
android.buildToolsVersion
özelliğini kaldırabilirsiniz.
3.0.1 (Kasım 2017)
Bu, Android Studio 3.0.1'i destekleyen küçük bir güncellemedir ve genel hata düzeltmelerini ve performans iyileştirmelerini içerir.
Optimizasyonlar
- Ayrıntılı bir görev grafiği sayesinde, çok modüllü projelerde daha iyi paralellik.
- Bağımlılıkta değişiklik yaparken Gradle, söz konusu bağımlılığın API'sine erişimi olmayan modülleri yeniden derlemeyerek daha hızlı derlemeler gerçekleştirir.
Gradle'ın yeni bağımlılık yapılandırmalarını kullanarak API'lerini diğer modüllere sızdıran bağımlılıkları kısıtlamanız gerekir:
implementation
,api
,compileOnly
veruntimeOnly
. - Sınıf başına veri işleme sayesinde daha yüksek artımlı derleme hızı. Her sınıf artık ayrı DEX dosyalarında derleniyor ve yalnızca değiştirilen sınıflar yeniden dizinleniyor. Ayrıca
minSdkVersion
değerini 20 veya daha düşük bir değere ayarlayan ve eski multi-dex kullanan uygulamalar için de iyileştirilmiş derleme hızları bekleyebilirsiniz. - Belirli görevleri önbelleğe alınmış çıkışları kullanacak şekilde optimize ederek derleme hızları artırıldı. Bu optimizasyondan yararlanmak için önce Gradle oluşturma önbelleğini etkinleştirmeniz gerekir.
- Artık varsayılan olarak etkin olan AAPT2 kullanılarak iyileştirilmiş artımlı kaynak işleme. AAPT2 kullanırken sorun yaşıyorsanız lütfen hata bildiriminde bulunun. Ayrıca
gradle.properties
dosyanızdaandroid.enableAapt2=false
ayarını yaparak ve komut satırından./gradlew --stop
komutunu çalıştırarak Gradle arka plan programını yeniden başlatarak AAPT2'yi devre dışı bırakabilirsiniz.
Yeni özellikler
- Varyanta duyarlı bağımlılık yönetimi. Eklenti, bir modülün belirli bir varyantını oluştururken artık yerel kitaplık modülü bağımlılıklarının varyantlarını, oluşturduğunuz modülün varyantıyla otomatik olarak eşleştirir.
- Android Hazır Uygulamalar'ı ve Android Hazır Uygulamalar SDK'sını (SDK yöneticisini kullanarak indirebilirsiniz) destekleyen yeni bir Özellik modülü eklentisi içerir. Yeni eklentiyle Özellik modülleri oluşturma hakkında daha fazla bilgi edinmek için Birden çok özelliğe sahip hazır bir uygulamanın yapısı başlıklı makaleyi okuyun.
- Belirli Java 8 dili özelliklerini ve Java 8 kitaplıklarını kullanmak için yerleşik destek. Jack kullanımdan kaldırıldı ve artık gerekli değil. Varsayılan araç zincirinde yerleşik olarak bulunan iyileştirilmiş Java 8 desteğini kullanmak için önce Jack'i devre dışı bırakmanız gerekir. Daha fazla bilgi için Java 8 dili özelliklerini kullanma konusunu okuyun.
-
Android Test Orchestrator ile test çalıştırma desteği eklendi. Bu destek, uygulamanızın her testini kendi Enstrümantasyon çağrısı ile çalıştırmanıza olanak tanır. Her test kendi Enstrümantasyon örneğinde çalıştığı için testler arasında paylaşılan durum, cihazınızın CPU veya belleğinde birikmez. Bir test çökse bile yalnızca kendi Enstrümantasyon örneğini kaldırır. Böylece diğer testleriniz çalışmaya devam eder.
- Cihaz üzerinde test düzenlemesinin kullanılıp kullanılmayacağını belirlemek için
testOptions.execution
eklendi. Android Test Orchestrator'ı kullanmak istiyorsanız aşağıda gösterildiği gibiANDROID_TEST_ORCHESTRATOR
belirtmeniz gerekir. Varsayılan olarak bu özellik, cihaz üzerinde düzenlemeyi devre dışı bırakan ve test çalıştırmanın standart yöntemi olanHOST
değerine ayarlanmıştır.
Modern
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- Cihaz üzerinde test düzenlemesinin kullanılıp kullanılmayacağını belirlemek için
-
Yeni
androidTestUtil
bağımlılık yapılandırması, araç testlerinizi çalıştırmadan önce Android Test Orchestrator gibi başka bir test yardımcı APK'sı yüklemenize olanak tanır:Modern
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
RoboElektrik gibi Android kaynakları gerektiren birim testlerini desteklemek için
testOptions.unitTests.includeAndroidResources
eklendi. Bu özelliğitrue
olarak ayarladığınızda eklenti, birim testlerinizi çalıştırmadan önce kaynak, öğe ve manifest birleştirme işlemi gerçekleştirir. Daha sonra testleriniz, aşağıdaki anahtarlar için sınıf yolundacom/android/tools/test_config.properties
öğesini inceleyebilir:-
android_merged_assets
: Birleştirilmiş öğe dizininin mutlak yolu.Not: Kitaplık modüllerinde, birleştirilen öğeler bağımlılık öğelerini içermez (65550419 numaralı sorunu inceleyin).
-
android_merged_manifest
: Birleştirilmiş manifest dosyasının mutlak yolu. -
android_merged_resources
: Birleştirilmiş kaynak dizininin mutlak yolu. Bu dizin, modüldeki tüm kaynakları ve tüm bağımlılıklarını içerir. -
android_custom_package
: Son R sınıfının paket adı. Uygulama kimliğini dinamik olarak değiştirirseniz bu paket adı, uygulamanın manifest dosyasındakipackage
özelliğiyle eşleşmeyebilir.
-
- Kaynak olarak yazı tipleri desteği (Android 8.0 (API seviyesi 26) sürümünde kullanıma sunulan yeni bir özelliktir).
- Android Hazır Uygulamalar SDK'sı 1.1 ve sonraki sürümlere sahip dile özgü APK'lar için destek.
-
Artık harici yerel derleme projenizin çıkış dizinini aşağıda gösterildiği gibi değiştirebilirsiniz:
Modern
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- Artık Android Studio'dan yerel projeler oluştururken CMake 3.7 veya sonraki bir sürümü kullanabilirsiniz.
-
Yeni
lintChecks
bağımlılık yapılandırması, özel lint kurallarını tanımlayan bir JAR oluşturup bunu AAR ve APK projelerinizde paketlemenize olanak tanır.Özel lint kurallarınız, tek bir JAR üreten ve yalnızca
compileOnly
bağımlılıkları içeren ayrı bir projeye ait olmalıdır. Böylece diğer uygulama ve kitaplık modülleri,lintChecks
yapılandırmasını kullanarak lint projenize bağlanabilir:Modern
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
Davranış değişiklikleri
- Android eklentisi 3.0.0 belirli API'leri kaldırır ve bu API'leri kullanırsanız derlemeniz bozulur. Örneğin, artık
outputFile()
nesnelerine erişmek için Variants API'yi kullanamaz veya her bir varyantın manifest dosyasını almak içinprocessManifest.manifestOutputFile()
kullanamazsınız. Daha fazla bilgi için API değişiklikleri bölümünü okuyun. - Artık derleme araçları için bir sürüm belirtmeniz gerekmez (böylece artık
android.buildToolsVersion
özelliğini kaldırabilirsiniz). Varsayılan olarak eklenti, kullandığınız Android eklentisinin sürümü için gereken minimum derleme araçları sürümünü kullanır. - Artık aşağıda gösterildiği gibi
buildTypes
blokunda PNG dosyalarını önceden etkinleştirebilir veya devre dışı bırakabilirsiniz. PNG dosyası oluşturma, hata ayıklama derlemeleri hariç tüm derlemeler için varsayılan olarak etkindir. Bunun nedeni, çok sayıda PNG dosyası içeren projelerin derleme süresini uzatmasıdır. Bu nedenle, diğer derleme türlerinin derleme sürelerini iyileştirmek için PNG şablon işlemeyi devre dışı bırakmalı veya resimlerinizi WebP'ye dönüştürmelisiniz.Modern
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- Android eklentisi artık otomatik olarak harici CMake projelerinizde yapılandırdığınız yürütülebilir hedefler oluşturuyor.
- Artık
annotationProcessor
bağımlılık yapılandırmasını kullanarak işlemci sınıf yoluna ek açıklama işlemcileri eklemeniz gerekir. - Kullanımdan kaldırılan
ndkCompile
kullanımını artık daha kısıtlı hale getirebilirsiniz. APK'nıza paketlemek istediğiniz yerel kodu derlemek için bunun yerine, CMake veya ndk-build kullanarak geçiş yapmanız gerekir. Daha fazla bilgi edinmek için ndkcker'dan taşıma başlıklı makaleyi inceleyin.
2.3.0 (Şubat 2017)
2.3.3 (Haziran 2017)
Bu, Android Studio 2.3.3 ile uyumluluk sağlayan küçük bir güncellemedir.
2.3.2 (Mayıs 2017)
Bu, Android Studio 2.3.2 ile uyumluluk sağlayan küçük bir güncellemedir.
2.3.1 (Nisan 2017)
Bu, Android eklentisi 2.3.0 için, bazı fiziksel Android cihazların Anında Çalıştırma ile düzgün çalışmamasına neden olan bir sorunu gideren küçük bir güncellemedir (bkz. 235879 numaralı sorun).
- Bağımlılıklar:
-
- Gradle 3.3 veya sonraki sürümleri.
- Build Tools 25.0.0 veya daha yeni bir sürüme sahip olma.
- Yeni:
-
- Performans iyileştirmelerini ve yeni özellikleri içeren Gradle 3.3'ü kullanıyor. Daha fazla bilgi için Gradle sürüm notlarına göz atın.
- Önbellek oluşturma: Android eklentisinin projenizi oluştururken oluşturduğu belirli çıkışları (paketlenmemiş AAR'ler ve önceden dizinlenmiş uzaktan bağımlılıklar) depolar. Temiz derlemeleriniz, önbelleği kullanırken çok daha hızlıdır. Çünkü derleme sistemi, önbelleğe alınan dosyaları sonraki derlemeler sırasında yeniden oluşturmak yerine kolayca yeniden kullanabilir. Android eklentisi 2.3.0 ve sonraki sürümleri kullanan projeler varsayılan olarak derleme önbelleğini kullanır. Daha fazla bilgi edinmek için Derleme Önbelleği ile Derleme Hızını Artırma konusunu okuyun.
- Derleme önbelleğini temizleyen bir
cleanBuildCache
görevi içerir. - Derleme önbelleğinin deneysel sürümünü (eklentinin önceki sürümlerinde bulunur) kullanıyorsanız eklentinizi en son sürüme güncellemeniz gerekir.
- Derleme önbelleğini temizleyen bir
- Değişiklikler:
-
- Android Studio 2.3'te bulunan Anında Çalıştırma değişikliklerini destekler.
- Çok büyük projeler için yapılandırma süreleri önemli ölçüde daha kısa olmalıdır.
- Kısıtlı düzen kitaplığı için otomatik indirmeyle ilgili sorunlar düzeltildi.
- Eklenti artık ProGuard 5.3.2 sürümünü kullanıyor.
- Bildirilen hatalar için birçok düzeltme içerir. Sorunla 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ümleri.
- Build Tools 23.0.2 veya üzeri.
- Yeni:
-
- Performans iyileştirmelerini ve yeni özellikleri içeren Gradle 2.14.1'i kullanır ve Gradle arka plan programı kullanılırken yerel ayrıcalık artırmaya izin veren bir güvenlik açığını düzeltir. Daha fazla bilgi için Gradle sürüm notlarına göz atın.
-
externalNativeBuild {}
DSL kullanan Gradle, artık yerel kaynaklarınıza bağlantı oluşturmanıza ve CMake veya ndk-build kullanarak yerel kitaplıkları derlemenize olanak tanır. Gradle, yerel kitaplıklarınızı oluşturduktan sonra bunları APK'nızda paketler. CMake ve Gradle ile ndk-build kullanımı hakkında daha fazla bilgi edinmek için Projenize C ve C++ Kodu Ekleme başlıklı makaleyi okuyun. - Komut satırından bir derleme çalıştırdığınızda, Gradle artık projenizin bağımlı olduğu eksik SDK bileşenlerini veya güncellemeleri otomatik olarak indirmeyi dener. Daha fazla bilgi edinmek için Gradle ile eksik paketleri otomatik olarak indirme bölümünü okuyun.
- Yeni deneysel önbelleğe alma özelliği, Gradle'ın kitaplıklarınızın önceden dizine alınmış sürümlerini depolayarak, depolayarak ve yeniden kullanarak derleme sürelerini hızlandırmasını sağlar. Bu deneysel özelliği kullanma hakkında daha fazla bilgi edinmek için Önbellek Oluşturma kılavuzunu okuyun.
- Tek bir görevde sıkıştırma, imzalama ve zipaligning işlemlerini gerçekleştiren yeni bir varsayılan paketleme ardışık düzenini benimseyerek derleme performansını iyileştirir.
gradle.properties
dosyanızaandroid.useOldPackaging=true
ekleyerek eski paketleme araçlarını kullanmaya geri dönebilirsiniz. Yeni sunum aracı kullanılırkenzipalignDebug
görevi kullanılamaz. AncakcreateZipAlignTask(String taskName, File inputFile, File outputFile)
yöntemini çağırarak kendiniz bir tane oluşturabilirsiniz. - APK imzalama özelliği, artık geleneksel JAR imzalamasının yanı sıra APK İmza Şeması v2'yi de kullanıyor. Tüm Android platformları oluşturulan APK'ları kabul eder. İmzalandıktan sonra bu APK'larda yapılacak herhangi bir değişiklik, v2 imzalarını geçersiz kılar ve bir cihaza yüklenmesini engeller. Bu özelliği devre dışı bırakmak için modül düzeyindeki
build.gradle
dosyanıza aşağıdakileri ekleyin:Modern
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- Multidex derlemelerinde artık ProGuard kurallarını kullanarak Gradle'ın uygulamanızın ana DEX dosyasında hangi sınıfları derleyeceğini belirleyebilirsiniz. Uygulamanızı başlatırken önce Android sistemi ana DEX dosyasını yüklediğinden, başlangıçta belirli sınıfları ana DEX dosyasında derleyerek öncelik sırasına koyabilirsiniz. Özel olarak ana DEX dosyanız için bir ProGuard yapılandırma dosyası oluşturduktan sonra,
buildTypes.multiDexKeepProguard
kullanarak yapılandırma dosyasının yolunu Gradle'a iletin. Bu DSL'yi kullanmak, uygulamanız için genel ProGuard kuralları sağlayan ve ana DEX dosyası için sınıf belirtmeyenbuildTypes.proguardFiles
kullanımından farklıdır. - Uygulamanızı bir cihaza yükleyeceğiniz zaman boyutunu küçültebilen
android:extractNativeLibs
işareti için destek ekler. Uygulama manifestinizin<application>
öğesinde bu işaretifalse
olarak ayarladığınızda Gradle, yerel kitaplıklarınızın sıkıştırılmamış ve APK'nızla uyumlu sürümlerini paketler. Bu,PackageManager
'in yükleme sırasında yerel kitaplıklarınızı APK'dan cihazın dosya sistemine kopyalamasını engeller ve uygulamanızın delta güncellemelerini küçültme avantajını sunar. - Artık ürün aromaları için
versionNameSuffix
veapplicationIdSuffix
değerlerini belirtebilirsiniz. (Sorun 59614)
- Değişiklikler:
-
-
getDefaultProguardFile
artık Gradle için Android eklentisinin sağladığı varsayılan ProGuard dosyalarını döndürüyor ve artık Android SDK'daki dosyaları kullanmıyor. - İyileştirilmiş Jack derleyici performansı ve özellikleri:
- Jack artık
testCoverageEnabled
değerinitrue
olarak ayarlarken Jacoco test kapsamını destekliyor. - Ek açıklama işlemcileri için geliştirilmiş destek. Sınıf yolunuzdaki ek açıklama işlemcileri (tüm
compile
bağımlılıkları gibi) derlemenize otomatik olarak uygulanır. Ayrıca derlemenizde bir ek açıklama işlemcisi belirtebilir ve modül düzeyindekibuild.gradle
dosyanızdajavaCompileOptions.annotationProcessorOptions {}
DSL'yi kullanarak bağımsız değişkenler iletebilirsiniz:Modern
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } }
Kotlin
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } }
Derleme sırasında bir ek açıklama işlemcisi uygulamak ancak APK'nıza dahil etmek istemiyorsanız
annotationProcessor
bağımlılık kapsamını kullanın:Modern
dependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant }
Kotlin
dependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant }
Ayarlayabileceğiniz parametrelerin listesi için komut satırından aşağıdaki komutu çalıştırın:
java -jar /build-tools/jack.jar --help-properties
- Jack artık
- Varsayılan olarak, Gradle arka plan programının yığın boyutu en az 1, 5 GB ise Jack artık Gradle ile aynı süreçte çalışır. Arka plan programı yığın boyutunu ayarlamak için
gradle.properties
dosyanıza aşağıdakileri ekleyin:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M
-
2.1.0 (Nisan 2016)
2.1.3 (Ağustos 2016)
Bu güncelleme Gradle 2.14.1 ve sonraki sürümlerini gerektirir. Gradle 2.14.1, performans iyileştirmelerini, yeni özellikleri ve önemli bir güvenlik düzeltmesini içerir. Daha fazla bilgi için Gradle sürüm notlarına göz atın.
- Bağımlılıklar:
-
- Gradle 2.10 veya sonraki sürümler.
- Build Tools 23.0.2 veya üzeri.
- Yeni:
-
- Jack araç zinciri kullanılarak N Developer Preview, JDK 8 ve Java 8 dil özellikleri için destek eklendi. Daha fazla bilgi edinmek için N Önizleme kılavuzunu okuyun.
Not: Anında Çalıştırma şu anda Jack ile çalışmamaktadır ve yeni araç zinciri kullanılırken devre dışı bırakılır. Jack'i yalnızca N Preview için geliştiriyorsanız ve desteklenen Java 8 dili özelliklerini kullanmak istiyorsanız kullanmanız gerekir.
- Geliştirme sırasında derleme süresini kısaltmak amacıyla artımlı Java derlemesi için varsayılan destek eklendi. Bu işlemi, kaynağın yalnızca değişen veya yeniden derlenmesi gereken bölümlerini yeniden derleyerek yapar. Bu özelliği devre dışı bırakmak için modül düzeyindeki
build.gradle
dosyanıza aşağıdaki kodu ekleyin:Modern
android { ... compileOptions { incremental false } }
Kotlin
android { ... compileOptions { incremental = false } }
-
Ayrı, harici sanal makine işlemleri yerine derleme işleminin içinde dexing işlemini gerçekleştiren işlem içinde dexing desteği eklendi. Bu hem artımlı derlemeleri hem de tam derlemeleri hızlandırır. Bu özellik, Gradle arka plan programının maksimum yığın boyutunu en az 2.048 MB olarak ayarlayan projeler için varsayılan olarak etkindir. Projenizin
```none org.gradle.jvmargs = -Xmx2048m ```gradle.properties
dosyasına aşağıdakini ekleyerek bu işlemi gerçekleştirebilirsiniz:Modül düzeyindeki
```none org.gradle.jvmargs = -Xmx3072m ```build.gradle
dosyanızdajavaMaxHeapSize
için bir değer tanımladıysanızorg.gradle.jvmargs
öğesinijavaMaxHeapSize
+ 1024 MB değerine ayarlamanız gerekir. Örneğin,javaMaxHeapSize
öğesini "2048m" olarak ayarlarsanız projenizingradle.properties
dosyasına aşağıdakileri eklemeniz gerekir:İşlemde dexing'i devre dışı bırakmak için modül düzeyindeki
build.gradle
dosyanıza aşağıdaki kodu ekleyin:Modern
android { ... dexOptions { dexInProcess false } }
Kotlin
android { ... dexOptions { dexInProcess = false } }
- Jack araç zinciri kullanılarak N Developer Preview, JDK 8 ve Java 8 dil özellikleri için destek eklendi. Daha fazla bilgi edinmek için N Önizleme kılavuzunu okuyun.
2.0.0 (Nisan 2016)
- Bağımlılıklar:
-
- Gradle 2.10 veya sonraki sürümler.
- Derleme Araçları 21.1.1 veya üzeri.
- Yeni:
-
- Bayt kodu yerleştirmeyi destekleyerek ve kod ve kaynak güncellemelerini emülatördeki veya fiziksel bir cihazdaki çalışan uygulamaya aktararak Anında Çalıştırma'yı etkinleştirir.
- Uygulama çalışmıyorken bile artımlı derlemeler için destek eklendi. Android Debug Bridge üzerinden artımlı değişikliklerin bağlı cihaza aktarılmasıyla tam derleme süreleri iyileştirilir.
- Eşzamanlı olarak kaç çalışan dex işleminin üretilebileceğini kontrol etmek için
maxProcessCount
eklendi. Modül düzeyindekibuild.gradle
dosyasında bulunan aşağıdaki kod, maksimum eşzamanlı işlem sayısını 4 olarak ayarlar:Modern
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
Kotlin
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
</li> <li>Added an experimental code shrinker to support pre-dexing and reduce re-dexing of dependencies, which are not supported with Proguard. This improves the build speed of your debug build variant. Because the experimental shrinker does not support optimization and obfuscation, you should enable Proguard for your release builds. To enable the experimental shrinker for your debug builds, add the following to your module-level <code>build.gradle</code> file:
Modern
android { ... buildTypes { debug { minifyEnabled true useProguard false } release { minifyEnabled true useProguard true // this is a default setting } } }
Kotlin
android { ... buildTypes { getByName("debug") { minifyEnabled = true useProguard = false } getByName("release") { minifyEnabled = true useProguard = true // this is a default setting } } }
</li> <li>Added logging support and improved performance for the resource shrinker. The resource shrinker now logs all of its operations into a <code>resources.txt</code> file located in the same folder as the Proguard log files. </li> </ul>
- Değişen davranış:
-
minSdkVersion
, 18 veya daha yüksek bir değere ayarlandığında APK imzalaması SHA256 kullanır.
<li>DSA and ECDSA keys can now sign APK packages. <p class="note"> <strong>Note:</strong> The <a href= "/training/articles/keystore.html">Android keystore</a> provider no longer supports <a href= "/about/versions/marshmallow/android-6.0-changes.html#behavior-keystore"> DSA keys on Android 6.0</a> (API level 23) and higher. </p> </li> </ul>
- Düzeltilen sorunlar:
-
- Hem test hem de ana derleme yapılandırmalarında yinelenen AAR bağımlılıklarına neden olan bir sorun düzeltildi.
Gradle için Android eklentisi, düzeltme 1.5.0 (Kasım 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Veri Bağlama eklentisi Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje başına
build.gradle
dosyasına aşağıdaki kodu ekleyin: - Üçüncü taraf eklentilerinin, derlenen
.class
dosyalarını.dex
dosyasına dönüştürülmeden önce müdahale etmesini sağlamak için yeni bir Transform API'si eklendi. Transform API, özel sınıf işleme eklemeyi basitleştirirken neleri değiştirebileceğiniz konusunda daha fazla esneklik sunar. Derlemeye dönüştürme eklemek içinTransform
arayüzlerinden birini uygulayarak yeni bir sınıf oluşturun veandroid.registerTransform(theTransform)
veyaandroid.registerTransform(theTransform, dependencies)
ile kaydedin. Görevleri birbirine bağlamaya gerek yoktur. Transform API ile ilgili olarak aşağıdakilere dikkat edin: - Dönüşüm şunlardan biri veya birkaçına uygulanabilir: mevcut proje, alt projeler ve harici kitaplıklar.
- Dönüşüm, genel olarak kaydedilmelidir ve tüm varyantlara uygulanmalıdır.
- Java Code Kapsam Kitaplığı (JaCoCo), ProGuard ve MultiDex aracılığıyla dahili kod işleme, artık Transform API'yi kullanıyor. Ancak Java Android Derleyici Kiti (Jack) bu API'yi kullanmaz. Yalnızca
javac/dx
kod yolu kullanır. - Gradle, dönüşümleri şu sırayla yürütür: JaCoCo, üçüncü taraf eklentiler, ProGuard. Üçüncü taraf eklentilerinin yürütme sırası, dönüşümlerin üçüncü taraf eklentileri tarafından eklenme sırasıyla eşleşir. Üçüncü taraf eklenti geliştiricileri, API aracılığıyla dönüşümlerin yürütme sırasını kontrol edemez.
ApplicationVariant
sınıfındadex
alıcısını kullanımdan kaldırdık. Artık değişken API'si aracılığıylaDex
görevine erişemezsiniz çünkü bu görev artık bir dönüşüm aracılığıyla gerçekleştiriliyor. Şu anda dex işlemini kontrol etmenin yerini alan bir yöntem yoktur.- Öğeler için sabit artımlı destek.
- Test projeleri için kullanılabilir hale getirilerek MultiDex desteği iyileştirildi ve artık testlerde
com.android.support:multidex-instrumentation
bağımlılığı otomatik olarak sunuluyor. - Gradle derlemesi eşzamansız görevleri çağırdığında ve çalışan sürecinde bir hata oluştuğunda Gradle derlemesinde düzgün şekilde başarısız olma ve temel hata nedenini bildirme özelliği eklendi.
- Birden fazla ABI içeren varyantlarda belirli bir Uygulama İkili Arabirimi'ni (ABI) yapılandırma desteği eklendi.
- Test yükleme veya çalıştırma sırasında
ANDROID_SERIAL
ortam değişkeni için cihaz seri numaralarının virgülle ayrılmış listesi desteği eklendi. - Android 5.0 (API düzeyi 20) ve sonraki sürümleri çalıştıran cihazlarda APK adı boşluk içerdiğinde oluşan yükleme hatası düzeltildi.
- Android Öğe Paketleme Aracı (AAPT) hata çıktısıyla ilgili çeşitli sorunlar düzeltildi.
- Daha hızlı artımlı derlemeler için JaCoCo artımlı enstrümantasyon desteği eklendi. Gradle için Android eklentisi artık JaCoCo enstrümanı doğrudan çağırıyor. JaCoCo aracının daha yeni bir sürümünü zorunlu kılmak için bunu derleme komut dosyası bağımlılığı olarak eklemeniz gerekir.
- JaCoCo desteği, sınıf olmayan dosyaları yok sayacak şekilde düzeltildi.
- Geriye dönük uyumluluk için derleme zamanında PNG oluşturma vektörel çekilebilir desteği eklendi.
Gradle için Android eklentisi, API sürümü belirtmeyen veya uygulama manifestindeki
<uses-sdk>
öğesinde 20 ya da daha düşük birandroid:minSdkVersion
özelliği belirten bir kaynak dizininde bulunan her vektör için PNG oluşturur. PNG yoğunluklarını, birbuild.gradle
dosyasınındefaultConfig
veyaproductFlavor
bölümlerindekigeneratedDensities
özelliğini kullanarak ayarlayabilirsiniz. - Eklentinin yalnızca bir kez oluşturduğu ve birim testi için kullandığı sahte
android.jar
paylaşımı eklendi.app
velib
gibi birden çok modül artık bu öğeyi paylaşıyor. Yeniden oluşturmak için$rootDir/build
öğesini silin. - APK'nın paketlenmesi yerine kod karartma görevlerinden önce gerçekleşecek olan Java kaynaklarının işlenmesi değiştirildi. Bu değişiklik, kod karartma görevlerinin, paketlerde kod karartma işlemini takiben Java kaynaklarını uyarlama fırsatı elde etmesini sağlar.
- Deneysel kitaplık eklentisinde Java Yerel Arayüzü (JNI) kodunun kullanılmasıyla ilgili bir sorun düzeltildi.
- Platform sürümünü, deneysel kitaplık eklentisindeki
android:compileSdkVersion
özelliğinden ayrı olarak ayarlama özelliği eklendi.
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 başına
Gradle için Android eklentisi, düzeltme 1.3.1 (Ağustos 2015)
Bağımlılıklar:- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Özelleştirilmiş bir dosya adı kullanılırken ZipHi görevinin önceki görevin çıkışını doğru şekilde tüketmesi için düzeltme uygulandı.
- NDK içeren Renderscript paketi düzeltildi.
createDebugCoverageReport
derleme görevi için destek sürdürüldü.build.gradle
derleme dosyasındaarchiveBaseName
özelliğinin özelleştirilmiş kullanımı için sağlanan destek düzeltildi.- Android Studio dışında lint çalıştırırken parametre yöntemi ek açıklaması aramasının neden olduğu
Invalid ResourceType
lint uyarısı düzeltildi.
Gradle için Android eklentisi, düzeltme 1.3.0 (Temmuz 2015)
Bağımlılıklar:- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
-
Android
görev iş parçacığı havuz boyutunugradle.properties
dosyasından veya komut satırından kontrol etmek içincom.android.build.threadPoolSize
özelliği desteği eklendi. Aşağıdaki örnekte bu özellik 4 olarak ayarlanmıştır.-Pcom.android.build.threadPoolSize=4
- Varsayılan derleme davranışını,
LICENSE
veLICENSE.txt
dosyalarını APK'lardan hariç tutacak şekilde ayarlayın. Bu dosyaları bir APK'ya eklemek içinbuild.gradle
dosyasındakipackagingOptions.excludes
özelliğinden kaldırın. Örneğin:android { packagingOptions.excludes = [] }
android { packagingOptions.excludes.clear() }
- Kullanılabilir tüm kaynak kümelerinin incelenmesi için
sourceSets
görevi eklendi. - Çoklu çeşni tanıma ve
derleme değişkeni kaynak klasörleri için geliştirilmiş birim test desteği. Örneğin,
Debug
derleme türüyleflavor1
veflavorA
çoklu çeşitleri içeren bir uygulamayı test etmek için test kaynağı grupları şunlardır:- test
- testAroma1
- testAromaA
- testAroma1AromaA
- testAroma1FlavorADebug
Android, halihazırda tanınan çoklu aroma kaynak klasörlerini test eder.
- Birim testi desteği şu amaçlarla geliştirildi:
- Derleme dosyanızda
useJack
özelliğitrue
olarak ayarlanmış olsa bilejavac
aracını ana kaynaklar ve test kaynaklarında çalıştırın. - Her derleme türü için bağımlılıkları doğru şekilde tanıyın.
- Derleme dosyanızda
- Komut satırından araç test çalıştırıcısı bağımsız değişkenlerinin belirtilmesi için destek eklendi.
Örneğin:
./gradlew connectedCheck \ -Pandroid.testInstrumentationRunnerArguments.size=medium \ -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB
build.gradle
dosyasına rastgele ek Android Öğe Paketleme Aracı (AAPT) parametreleri için destek eklendi. Örneğin:android { aaptOptions { additionalParameters "--custom_option", "value" } }
android { aaptOptions { additionalParameters += listOf("--custom_option", "value") } }
- APK yolunu ve hedef varyantı ayarlamak için
targetProjectPath
vetargetVariant
özellikleri kullanılarak ayrı bir test modülü olarak test APK modülü desteği eklendi.Not: Test APK'sı modülü ürün çeşitlerini desteklemez ve yalnızca tek bir varyantı hedefleyebilir. Ayrıca Jacoco henüz desteklenmiyor.
- Kaynakları birleştirmeden önce kaynak adı doğrulaması eklendi.
- Kitaplık modülleri için AAR (Android ARchive) paketi oluştururken manifest birleştirme ayarlarında otomatik
@{applicationId}
yer tutucusu sağlamayın. Bunun yerine,@{libApplicationId}
gibi farklı bir yer tutucu kullanın ve arşiv kitaplığına uygulama kimlikleri eklemek istiyorsanız bunun için bir değer sağlayın.
Gradle için Android eklentisi, düzeltme 1.2.0 (Nisan 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Gradle ile birim testlerini çalıştırmak için gelişmiş destek.
- Birim testlerini doğrudan Gradle'dan çalıştırırken sınıf yoluna Java stili kaynakları dahil etme desteği eklendi.
- Android Arşivi (AAR) yapıları için birim testi bağımlılık desteği eklendi.
- Birim testi varyantlarının
build.gradle
dosyası kullanılarak değiştirilebilmesi amacıylaunitTestVariants
özelliği için destek eklendi. - Birim testi için özelleştirilmiş görevleri yapılandırmak amacıyla
testOptions
altınaunitTest.all
kod bloğu eklendi. Aşağıdaki örnek kod, bu yeni seçeneği kullanarak birim testi yapılandırma ayarlarının nasıl ekleneceğini göstermektedir:android { testOptions { unitTest.all { jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option. } } }
android { testOptions { unitTest.all { jvmArgs += listOf("-XX:MaxPermSize=256m") // Or any other gradle option. } } }
mockable-android.jar
dosyasının paketindeki numaralandırmaların ve genel örnek alanlarının işlenmesi düzeltildi.- Kitaplık projesi görevi bağımlılıkları düzeltildi. Böylece test sınıfları, değişikliklerden sonra yeniden derlenebilir.
- Bir test APK'sını küçültürken ProGuard dosyalarını uygulamak için
testProguardFile
özelliği eklendi. - Android Debug Bridge ekran kaydı için maksimum kayıt süresini ayarlamak amacıyla
adbOptions
kod bloğunatimeOut
özelliği eklendi. - 280 dpi kaynaklar için destek eklendi.
- Proje değerlendirmesi sırasında performans artırıldı.
- Gradle ile birim testlerini çalıştırmak için gelişmiş destek.
Gradle için Android eklentisi, düzeltme 1.1.3 (Mart 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Bir test uygulamasında ProGuard hatasını tetikleyen yinelenen bağımlılıklarla ilgili sorun düzeltildi.
- JDK Karşılaştırıcı sözleşmesine uymayan ve JDK 7 hatası veren Karşılaştırıcı uygulaması düzeltildi.
Gradle için Android eklentisi, düzeltme 1.1.2 (Şubat 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Birim testi için sahte bir JAR oluştururken normalleştirilmiş yol.
build.gradle
dosyasındakiarchivesBaseName
ayarı düzeltildi.- Kitaplık test uygulaması oluştururken manifest birleştirmedeki çözülmemiş yer tutucu hatası düzeltildi.
Gradle için Android eklentisi, düzeltme 1.1.1 (Şubat 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Yalnızca Wear uygulamasını paketleyen varyantların Wear'a özel derleme görevlerini tetiklemesi için değiştirilmiş derleme varyantları.
- Bağımlılıkla ilgili sorunlar, hata ayıklama zamanında değil, derleme zamanında başarısız olacak şekilde değiştirildi. Bu davranış, çakışmanın çözülmesine yardımcı olmak için teşhis görevlerini ("bağımlılıklar" gibi) çalıştırmanıza olanak tanır.
android.getBootClasspath()
yöntemi, değer döndürecek şekilde düzeltildi.
Gradle için Android eklentisi, düzeltme 1.1.0 (Şubat 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Yeni birim testi desteği eklendi
- Birim testlerinin,
android.jar
dosyasının popüler sahtecilik çerçeveleriyle (ör. Mockito) uyumlu özel bir sürümüne göre yerel JVM'de çalışması etkinleştirildi. - Ürün aromalarını kullanırken
testDebug
,testRelease
vetestMyFlavorDebug
adlı yeni test görevleri eklendi. - Birim testi olarak tanınan yeni kaynak klasörler eklendi:
src/test/java/
,src/testDebug/java/
,src/testMyFlavor/java/
. build.gradle
dosyasına, yalnızca test amaçlı bağımlılıkları tanımlamak için yeni yapılandırmalar eklendi. Örneğin,testCompile 'junit:junit:4.11'
,testMyFlavorCompile 'some:library:1.0'
.Not: Yalnızca test amaçlı bağımlılıklar şu anda Jack (Java Android Derleyici Kiti) ile uyumlu değildir.
- Sahte android.jar dosyasının davranışını kontrol etmek için
android.testOptions.unitTests.returnDefaultValues
seçeneği eklendi. - Test görevi adlarındaki
Test
,AndroidTest
ile değiştirildi. Örneğin,assembleDebugTest
görevi artıkassembleDebugAndroidTest
görevidir. Birim testi görevlerinin görev adında hâlâUnitTest
öğesi vardır (örneğin,assembleDebugUnitTest
). - ProGuard yapılandırma dosyaları, artık test APK'sına uygulanmayacak şekilde değiştirildi. Küçültme etkinleştirilirse ProGuard, test APK'sını işler ve yalnızca ana APK'yı küçültürken oluşturulan eşleme dosyasını uygular.
- Bağımlılık yönetimi güncellendi
provided
vepackage
kapsamlarının kullanımıyla ilgili sorunlar düzeltildi.Not: Bu kapsamlar, AAR (Android ARchive) paketleriyle uyumlu değildir ve AAR paketleri içeren bir derlemenin başarısız olmasına neden olur.
- Test edilen uygulama ile test uygulamasının bağımlılıklarını karşılaştırmak için bağımlılık çözümü değiştirildi. Her iki uygulamada da aynı sürüme sahip bir yapı bulunursa bu yapı test uygulamasına dahil edilmez ve yalnızca test edilen uygulamayla birlikte paketlenir. Her iki uygulama için farklı sürüme sahip bir yapı bulunursa derleme başarısız olur.
- Kaynak birleştirme işleminde
anyDpi
kaynak niteleyici desteği eklendi. - Çok sayıda Android modülüne sahip projeler için iyileştirilmiş değerlendirme ve IDE senkronizasyon hızları.
Gradle için Android eklentisi, düzeltme 1.0.1 (Ocak 2015)
- Bağımlılıklar:
-
-
Gradle 2.2.1'den 2.3.x'e kadar.
Not: Gradle için Android eklentisinin bu sürümü, Gradle 2.4 ve sonraki sürümleriyle uyumlu değildir.
- Derleme Araçları 21.1.1 veya üzeri.
-
- Genel Notlar:
-
extractReleaseAnnotations
modülüne erişilirken Gradle derleme hatasıyla ilgili sorun düzeltildi. (Sorun 81638).Disable
ürününün--no-optimize
ayarını Dalvik Yürütülebilir (dex) bayt koduna iletmesiyle ilgili sorun düzeltildi. (Sorun 82662).targetSdkVersion
değeri 16'dan küçük olan kitaplıkları içe aktarırken manifest birleştirme sorunları düzeltildi.- Android Studio'yu JDK 8 ile kullanırken yoğunluk sıralaması sorunu düzeltildi.
Gradle için Android eklentisi, düzeltme 1.0.0 (Aralık 2014)
- Bağımlılıklar:
-
-
Gradle 2.2.1'den 2.3.x'e kadar.
Not: Gradle için Android eklentisinin bu sürümü, Gradle 2.4 ve sonraki sürümleriyle uyumlu değildir.
- Derleme Araçları 21.1.1 veya üzeri.
-
- Genel Notlar:
-
- İlk eklenti sürümü.