Android Studio 3.1 (Mart 2018)

Android Studio 3.1.0, Android Studio 360'ta Android Studio 3.1.0 özellikleri ve iyileştirmeleri.

3.1.4 (Ağustos 2018)

Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki değişiklikleri ve düzeltmeleri içerir:

  • Paketlenmiş Kotlin'in sürümü 1.2.50 oldu.
  • kotlin-stdlib-jdk* artifacts ile yeni projeler oluşturulur, Bunlar kotlin-stdlib-jre* yapılar yerine desteği sonlandırıldı.
  • ProGuard kurallarının R8 ayrıştırması iyileştirildi.
  • Aşağıdaki hatalar düzeltildi:
    • Kotlin Main sınıfını çalıştırma girişimi şu hatayla başarısız oldu: "Error: Could not find or load main class..."
    • R8, bazı optimizasyonlar yaparken sonsuz döngüye girdi.
    • Çalıştır penceresindeki Başarısız testleri yeniden çalıştır komutu bazen yanlışlıkla "Test bulunamadı" mesajını döndürüyordu.
    • D8, invoke-virtual örneklerini doğru şekilde işlemediğinde VerifyError ile kilitlenme meydana gelir: invoke-super/virtual can't be used on private method
    • Veri Bağlama derleyicisi, com.android.tools:annotations'ın eski bir sürümüne bağlıydı. Derleyici artık temel projeden araç ek açıklamalarını içerir.
    • Android Studio, parça geçişleri sırasında çöküyordu profil düzenleyiciler.
    • Metin kutusu içeren bir düzende hata ayıklarken hata ayıklayıcı çöktü.
    • D8, özel karakter 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 hatalara yönelik düzeltmeler içerir:

  • Bellek sızıntıları Android Studio'nun yavaş çalışmasına ve yanıt vermemesine neden oldu daha sonra Düzen Düzenleyici'yi kullanabilirsiniz. Bu güncelleme, bu sorunların çoğunu giderir. Yakında, diğer bellek sızıntılarını gidermek için başka bir güncelleme yayınlamayı planlıyoruz.
  • D8 ile oluşturulan bazı uygulamalar, bazı Verizon Ellipsis tabletlerde kilitlendi.
  • D8 ile oluşturulan uygulamaların yüklenmesi başarısız oldu: Android 5.0 veya sonraki sürümleri çalıştıran cihazlarda INSTALL_FAILED_DEXOPT hatası 5.1 (API düzeyi 21 veya 22).
  • OkHttp kitaplığını kullanan ve D8 ile derlenen bazı uygulamalar , Android 4.4 (API düzeyi 19) çalıştıran cihazlarda kilitlendi.
  • Android Studio bazen Şunun için sınıf ilk kullanıma hazırlanırken: ProcessCanceledException com.intellij.psi.jsp.JspElementType.

3.1.2 (Nisan 2018)

Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hatalara yönelik düzeltmeler içerir:

  • Bazı durumlarda, Android Studio çıkış sırasında süresiz olarak askıya alındı.
  • Kaynak gruplarıyla yapılandırılan derlemeler Anında Çalıştırma etkinleştirildiğinde şu mesajla başarısız oldu:

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

  • Anında Çalıştırma etkinleştirildiğinde yeni Kotlin projelerinin derlemeleri aşağıdaki durumlarda başarısız oldu: Çalıştır komutuyla tetiklenir.
  • build.gradle dosyası düzenlenirken bazen bir karakterin yazılmasıyla ekranda görünmesi arasında belirgin bir gecikme yaşanıyordu.
  • Büyük boyutlu bazı projelerde dexing sırasında derleme hataları oluştu aşağıdaki hata ile, modül veya dış bağımlılık sayısı mesaj:

    "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

  • D8 ana DEX listesi hesaplanırken bazı noktalar dikkate alınmadı düşünmeyi kolaylaştırır.

Bu güncelleme, Gradle'dan çalışan lint kontrollerini yapan değişiklikleri de içerir bazı senaryolarda çok daha hızlı yürütülebiliyor.

3.1.1 (Nisan 2018)

Android Studio 3.1'e yapılan bu güncelleme, aşağıdaki hatalara yönelik düzeltmeler içerir:

  • Bazı durumlarda, Android Studio 3.0'da oluşturulan bir proje açıldığında ilk kez Android Studio 3.1'de kullanıma sunulan Gradle-Aware Yapma görevi , Çalıştır/Hata Ayıklama aracındaki Lansmandan önce alanından kaldırıldı Yapılandırmalar. Sonuç olarak, Çalıştır veya Hata Ayıklama düğmesi tıklandığında projeler derlenmedi. Bu da Hızlı Çalıştırma kullanılırken yanlış APK'ların dağıtılması ve kilitlenmeler gibi hatalara neden oldu.

    Android Studio 3.1.1, bu girişin eksik olduğu projelerin çalıştırma yapılandırmasına Gradle farkında Make görevini ekleyerek bu sorunu çözer. Bu değişiklik, ilk Gradle senkronizasyonundan sonra, proje yüklendi.

  • Gelişmiş profil oluşturma etkinse metin kutusu içeren bir düzende hata ayıklama yapılırken hata ayıklayıcı kilitleniyordu.
  • Derleme Varyantları'nı tıkladıktan sonra Android Studio dondu.
  • AAR (Android arşivi) dosyaları, Gradle sırasında bir kez olmak üzere iki kez çıkarıldı. senkronizasyon işlemi ve Gradle derleme işlemi sırasında da bir kez.
  • SVG dosyalarından içe aktarılan bazı vektör çekilebilirlerinde öğe eksikti.
  • compile ürününün kullanımdan kaldırılmasıyla ilgili uyarı bağımlılığı yapılandırması, şuna dair daha iyi rehberlik sağlayarak güncellendi: implementation ve api yapılandırmaları. Örneğin, compile kullanımından çıkma hakkında ayrıntılı bilgi daha fazla bilgi için dokümanlarına göz atın.

Kodlama/IDE

IntelliJ 2017.3.3

Temel Android Studio IDE'si, IntelliJ IDEA'daki 2017.3.3 sürümüne kadarki iyileştirmelerle güncellendi. Koleksiyonlar ve dizeler için daha iyi kontrol akışı analizi, daha iyi boşluk inferansı, yeni hızlı düzeltmeler ve daha fazlası bu iyileştirmeler arasındadır.

Ayrıntılar için IntelliJ IDEA sürümleri için JetBrains sürüm notlarına bakın 2017.2 ve 2017.3, için JetBrains sürüm notlarını hata düzeltme güncellemeleri.

ile SQL düzenleme iyileştirmeleri Oda

Room veritabanı kitaplığını kullandığınızda SQL düzenlemeyle ilgili çeşitli iyileştirmelerden yararlanabilirsiniz:

  • Şu kadar süre içinde kod tamamlama: Query SQL tablolarını (varlıkları), sütunları, sorgu parametrelerini, takma adları, birleştirmeler, alt sorgular ve WITH ifadeleri.
  • SQL söz dizimi vurgulama artık çalışıyor.
  • SQL'de bir tablo adını sağ tıklayıp yeniden adlandırabilirsiniz. Bu da karşılık gelen Java veya Kotlin kodunu yeniden yazar (örneğin, (sorgunun dönüş türü). Yeniden adlandırma bu yönde olur. Java sınıfını veya alanını yeniden adlandırmak, ilgili SQL'i de girin.
  • Kullanımları bul seçeneği kullanılırken SQL kullanımları 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ığının bildirimine gitmek için: varlığı tıklarken Control (Mac'te Command) tuşunu basılı tutabilirsiniz.

SQL'i Room ile kullanma hakkında bilgi edinmek için Room'u kullanarak verileri yerel bir veritabanına kaydetme başlıklı makaleyi inceleyin.

Verilerde yapılan güncellemeler bağlama

Bu güncelleme, veri bağlama:

  • Artık bir LiveData nesnesini veri bağlama ifadelerinde gözlemlenebilir bir alan olarak tanımlar. İlgili içeriği oluşturmak için kullanılan ViewDataBinding sınıfı artık kullandığınız yeni bir setLifecycle() yöntemi içeriyor gözlemlemek LiveData nesneler'i tıklayın.

  • İlgili içeriği oluşturmak için kullanılan ObservableField sınıf artık diğer Observable nesneleri oluşturur.

  • Veri bağlamanız için yeni bir artımlı derleyiciyi önizleyebilirsiniz sınıflar. Bu yeni derleyicinin ayrıntıları ve etkinleştirme talimatları için Veri Bağlama Derleyicisi V2 başlıklı makaleyi inceleyin.

    Yeni derleyicinin avantajları arasında şunlar yer alır:

    • Android tarafından ViewBinding sınıf oluşturuluyor Java derleyicisinden önceki Gradle eklentisi.
    • Uygulama etkinken kitaplıklar, oluşturulan bağlama sınıflarını saklar her seferinde yeniden oluşturulmak yerine derlenir. Bu, çok modüllü projelerin performansını büyük ölçüde artırabilir.

Derleyici ve Gradle

D8 varsayılan DEX'tir derleyici

Artık D8 derleyicisi, DEX bayt kodu oluşturmak için varsayılan olarak kullanılmaktadır.

Bu yeni DEX derleyici, aşağıdakileri de içeren çeşitli avantajlar sunar: takip etmek için:

  • Daha hızlı dizin oluşturma
  • Daha düşük bellek kullanımı
  • İyileştirilmiş kod oluşturma (daha iyi kayıt ayırma, daha akıllı dize tablolar)
  • Kodda adım atarken daha iyi hata ayıklama deneyimi

Kodunuzda veya geliştirmenizde herhangi bir değişiklik yapmanız gerekmez. bu avantajları elde etmek için iş akışı oluşturun. D8 derleyiciyi devre dışı bıraktı.

Şurada android.enableD8 değerini false olarak ayarlarsanız: gradle.properties, bu işareti silin veya şuna ayarlayın: true:

        android.enableD8=true
      

Ayrıntılar için bkz. Yeni DEX derleyici.

Artımlı şekeri arındırma

Java 8 dil özelliklerini kullanan projelerde, artımlı şeker azaltma işlemi varsayılan olarak etkindir. Bu, derleme sürelerini iyileştirebilir.

Şekeri arındırma dönüşüm söz dizimsel şeker bir forma dönüştürmenizi sağlar.

Aşağıdakileri projenizin gradle.properties dosyası:

        android.enableIncrementalDesugaring=false
      

Basitleştirilmiş çıkış penceresi

Gradle Konsolu, Derleme olarak değiştirildi Sync ve Build sekmelerini içeren yeni bir pencere görürsünüz.

Basitleştirilmiş yeni Derleme penceresinin nasıl kullanılacağıyla ilgili ayrıntılar için bkz.Derlemeyi izleme öğrenin.

Toplu güncellemeler ve dizine ekleme işlemlerinin eşzamanlılığı

Gradle senkronizasyonu ve IDE dizine ekleme işlemleri artık çok daha verimli olduğundan, birçok gereksiz dizine ekleme işleminde boşa harcanan süre azalıyor.

C++ ve LLDB

Kodlama, senkronizasyon, oluşturma ve hata ayıklama aşamalarını ele aldık. İyileştirmeler şunları içerir: takip etmek için:

  • Büyük C++ projeleriyle çalışıyorsanız simge oluşturmak için harcanan sürenin azalmasında önemli bir iyileşme fark edeceksiniz. Senkronizasyon zamanı da azaltılmış olur.

  • CMake ile derleme ve senkronizasyon performansı artırıldı önbelleğe alınan sonuçların daha agresif bir şekilde yeniden kullanılması anlamına gelir.

  • 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ışır.

Not: Android Studio 3.0 veya 32 bit Windows'da çalışmaz. 32 bit Windows kullanıyorsanız ve yerel kodda hata ayıklaması 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 şununla analiz ediliyor: komut satırı lint kontrolü

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

lint çalıştırmak istediğiniz her proje için Google'ın Maven'i deposu, üst düzey build.gradle öğesine dahil edilmelidir dosyası olarak kaydedebilirsiniz. Maven deposu, şurada oluşturulan projeler için zaten dahil edildi: Android Studio 3.0 ve sonraki sürümler.

Performans araçları

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

CPU Profiler artık örneklenmiş izlerini kaydetmek için varsayılan bir yapılandırma içerir. yerel mesaj dizileri. Bu yapılandırmayı, uygulamanızı bir yüklü olan ve CPU Profiler kaydından örneklenmiş (Yerel) yapılandırma açılır menüsü. Ardından, normalde yaptığınız gibi bir izleme kaydetme ve inceleme

Örnekleme aralığı gibi varsayılan ayarları oluşturarak Kayıt yapılandırmasına dokunun.

Java ileti dizilerinizi izlemeye geri dönmek için aşağıdakilerden birini seçin: Örneklenmiş (Java) veya Araçlı (Java) yapılandırma.

CPU izlerini ve belleği filtrele ayırma sonuçları ve yığın dökümleri

CPU Profiler ve Bellek Profil Aracı şunları içerir: bir yöntemi kaydederken sonuçları filtrelemenizi sağlayan bir arama özelliği bellek ayırmaları veya yığın dökümü.

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

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

CPU Profil Aracı'nın Flame Grafiği sekmesinde, arama sorgunuzla ilgili yöntemler vurgulanır ve sola taşınır bir grafiktir.

Yöntem, sınıf veya paket adına göre filtreleme hakkında daha fazla bilgi için Yöntem izlemelerini kaydetme ve inceleme başlıklı makaleyi inceleyin.

Network Profiler'daki Request (İstek) sekmesi

Ağ Profil Aracı artık ağla ilgili ayrıntıların yer aldığı bir İstek sekmesi içeriyor istekleri için ödeme yaparsınız. Önceki sürümlerde, Ağ Profiler yalnızca ağ yanıtları hakkında bilgi sağladı.

Network Profiler'da İş Parçacığı Görünümü

Zaman çizelgesinin bir bölümünü seçtikten sonra Network Profiler ise aşağıdakilerden birini seçebilirsiniz: ağ etkinliğiyle ilgili daha fazla ayrıntıya ulaşmak için aşağıdaki sekmeleri zaman aralığı:

  • 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çili kısmı sırasında gönderilen veya alınan dosyaları listeler. Her istek için boyutu, türü, durumu ve aktarım süresini inceleyebilirsiniz.
  • İleti dizisi 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, uygulamanızın ileti dizilerinden hangilerinin sorumlu olduğunu incelemenize olanak tanır her ağ isteği için kullanabilirsiniz.

Düzen Denetleyicisi

Layout Inspector, desteği sonlandırılan hiyerarşi görüntüleyici ve Pixel Perfect araçları tarafından daha önce sağlanan bazı işlevler de dahil olmak üzere yeni özellikler kazandı:

  • Düzenleri incelemek ve incelemek için yakınlaştırma düğmeleri ve klavye kısayolları
  • Referans ızgara yer paylaşımı
  • Referans resim yükleyip yer paylaşımı olarak kullanabilme (düzenlemenizi bir kullanıcı arayüzü taslağıyla 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şturma

Düzen Düzenleyici

Düzenleyici'deki Palet'te birçok iyileştirme yapıldı:

  • Görünümler ve düzenler için kategorilerin yeniden düzenlenmesi.
  • Görünümler ve düzenler için kullanabileceğiniz yeni Ortak kategorisi Favorite komutuyla ekleme yapabilirsiniz.
  • İyileştirilmiş görünümleri ara ve düzenler hakkında daha fazla bilgi edinin.
  • Şunun için yeni komutlar: açılış dokümanlarına göz atın.

Yeni Dönüşüm görünümünü kullanabilirsiniz komutuna ekleyerek bir görünümü veya düzeni dönüştürmek için Bileşen ağacı'nda veya tasarım düzenleyicide geçiş yapabilirsiniz.

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

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

Gelecekte aynı seçimi kullan Dağıtım hedefi seçin bölümündeki lansmanları başlatın. iletişim kutusu daha tutarlı hale getirildi. seçeneği etkinleştirildiğinde Dağıtım seç'i tıklayın. hedef iletişim kutusu yalnızca Seçili cihaz kaldırılana kadar çalıştır komutu bağlı.

Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir cihazı hedeflerken Anında Çalıştırma, uygulamanızı uygulamanın yeniden başlatılmasına neden olmadan kaynaklarda değişiklik yapılmasını sağlar. Bu mümkündür. Çünkü kaynaklar bölünmüş bir APK'da yer almaktadır.

Emülatör

Android'den bu yana emülatördeki yenilikler ve değişiklikler hakkında ayrıntılı bilgi için Studio 3.0 için Android Emulator sürüm notlarına bakın. sürüm 27.0.2 27.1.12 sürümüne erişebilirsiniz.

Önemli iyileştirmeler şunlardır:

  • Özel bir başlangıç durumunu kaydetmek için Şimdi kaydet komutunu kullanarak emülatör durumunu kaydetmek ve daha hızlı başlatmak için Hızlı Başlatma anlık görüntüleri.
  • Penceresiz emülatör ekranı.
  • Android 8.0 (API düzeyi 26), Android 8.1 (API düzeyi 27) ve Android P Developer Preview için sistem resimleri.

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

Diğer ipuçları, klavye kısayolları, ve faydalı mesajlar

Android Studio'nun birçok yerine ipucu ve faydalı mesaj yer paylaşımları ekledik.

Birçok komutun klavye kısayolunu görmek için fareyi basılı tutmanız yeterlidir İpucu görünene kadar işaretçiyi bir düğmenin üzerinde tutun.

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

Araçlar > Android menüsü kaldırılmıştır. Komutlar daha önce bu menüde bulunan öğeler taşındı.

  • Birçok komut doğrudan Araçlar'ın altına taşındı tıklayın.
  • Sync project with gradle files (Projeyi gradle dosyalarıyla senkronize et) komutu Dosya menüsünü kullanarak
  • Cihaz İzleme komutu bakın.

Cihaz Monitörü kullanılabilir komut satırından

Android Studio 3.1'de Cihaz Monitörü, işlevinden daha az bir role sahiptir yaptık. Cihaz İzleyici aracılığıyla sunulan işlevlerin çoğu artık yeni ve iyileştirilmiş araçlar tarafından sağlanmaktadır.

Cihaz İzleyici'yi komut satırından çağırma talimatları ve Cihaz İzleyici üzerinden kullanılabilen araçlarla ilgili ayrıntılar için Cihaz İzleyici dokümanlarına bakın.