Android Studio ve Android Gradle Eklentisi ile ilgili bilinen sorunlar

Bu sayfada Android Studio Iguana ve Android Gradle eklentisi 8.3.0 ile ilgili bilinen sorunlar izlenir. Burada belirtilmeyen bir sorunla karşılaşırsanız lütfen hata bildiriminde bulunun.

Önizlemek için yükseltme: Android Studio ve Android Gradle eklentisinin her sürümü, kararlılıkla performansı iyileştirmeyi ve yeni özellikler eklemeyi amaçlar. Yakında yayınlanacak sürümlerin avantajlarını hemen denemek için Android Studio Preview'u indirip yükleyin.

Android Studio ile İlgili Bilinen Sorunlar

Bu bölümde, Android Studio'nun en son kararlı sürümünde bulunan bilinen sorunlar açıklanmaktadır.

Firebase asistan penceresinde hata mesajı gösteriliyor

Firebase Asistan Penceresi (Araçlar > Ana menüden Firebase) hata mesajı gösterirse önbellekleri geçersiz kılın ve hatayı düzeltmek için Android Studio'yu yeniden başlatın.

Oluşturma düğümlerinin tümü Layout Inspector ile denetlenemez

Layout Inspector'ı kullanırken tüm Compose düğümlerinin denetlenebilir olmadığını fark ederseniz bunun nedeni büyük olasılıkla Compose 1.5.0-alpha04 sürümünde düzeltilen bir hatadır. Bu sorunu yaşıyorsanız Compose'un 1.5.0-alpha04 veya sonraki bir sürümüne geçtiğinizden emin olun.

Oluşturma Önizlemesi oluşturulurken hata meydana geldi

Android Studio Chipmunk'tan başlayarak sorunlar panelinde java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner veya java.lang.ClassNotFoundException: androidx.savedstate.R$id öğelerini görüyorsanız modülünüze debugImplementation androidx.lifecycle:lifecycle-viewmodel-savedstate bağımlılığı eklediğinizden emin olun.

Sorunlar panelinde java.lang.NoSuchFieldError: view_tree_lifecycle_owner öğesini görüyorsanız modülünüze androidx.lifecycle:lifecycle-runtime için debugImplementation bağımlılığı eklediğinizden emin olun.

Sorunlar panelinde java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer veya java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener öğelerini görüyorsanız modülünüze debugImplementation androidx.customview:customview-poolingcontainer bağımlılığı eklediğinizden emin olun.

Anahtar ve anahtar deposu için farklı şifreler kullanılırken hata oluştu

Sürüm 4.2'den itibaren Android Studio artık JDK 11 üzerinde çalışmaktadır. Bu güncelleme, imzalama anahtarlarıyla ilgili temel davranış değişikliğine neden olur.

Derleme > İmzalanmış Paket / APK bölümüne gidip uygulama paketi veya APK için uygulama imzalamayı yapılandırmaya çalıştığınızda anahtar ve anahtar deposu için farklı şifreler girmeniz aşağıdaki hataya neden olabilir:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Bu sorunu çözmek için hem anahtar hem de anahtar deposu için aynı şifreyi girin.

4.2 sürümü yüklendikten sonra Android Studio başlamıyor

Studio, önceki .vmoptions dosyasını içe aktarmaya ve bunları JDK 11 tarafından kullanılan çöp toplayıcıyla çalışacak şekilde temizlemeye çalışır. Bu işlem başarısız olursa IDE, .vmoptions dosyasında özel sanal makine seçenekleri ayarlayan belirli kullanıcılar için başlatılamayabilir.

Bu sorunu çözmek için .vmoptions bölümündeki özel seçenekleri "#" karakterini kullanarak açıklamanızı öneririz. .vmoptions dosyası aşağıdaki konumlarda bulunabilir:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Bu geçici çözüm denetlendikten sonra Studio hâlâ başlamıyorsa aşağıdaki Studio yeni sürüme geçirme işleminden sonra başlamıyor konusuna bakın.

Veritabanı Denetleyicisi kullanan uygulamaların Android 11 emülatöründe kilitlenmesi

Veritabanı Denetleyicisi'ni kullanan uygulamalar, Android 11 emülatöründe çalışırken logcat'te aşağıdakine benzer bir hata nedeniyle kilitlenebilir:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

Bu sorunu düzeltmek için Araçlar > SDK Yöneticisi'ne giderek Android 11 emülatörünüzü sürüm 9 veya sonraki bir sürüme yükseltin. SDK Platformları sekmesinde Paket Ayrıntılarını Göster etiketli kutuyu işaretleyin ve Android 11 emülatörünün düzeltme 9 veya sonraki bir sürümünü seçin.

Studio yeni sürüme geçişten sonra başlamıyor

Studio, yeni sürüme geçtikten sonra başlamıyorsa sorunun nedeni, Android Studio'nun önceki bir sürümünden içe aktarılan geçersiz bir Android Studio yapılandırması veya uyumsuz bir eklenti olabilir. Geçici bir çözüm olarak, Android Studio sürümüne ve işletim sistemine bağlı olarak aşağıdaki dizini silmeyi (veya yedekleme amacıyla yeniden adlandırmayı) deneyin ve Android Studio'yu yeniden başlatın. Bu işlem, Android Studio'yu tüm üçüncü taraf eklentileri kaldırılmış olarak varsayılan durumuna sıfırlar.

Android Studio 4.1 ve sonraki sürümler için:

  • Windows: %APPDATA%\Google\AndroidStudio<version>
    Örnek: C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1

  • macOS: ~/Library/Application Support/Google/AndroidStudio<version>
    Örnek: ~/Library/Application Support/Google/AndroidStudio4.1

  • Linux: ~/.config/Google/AndroidStudio<version> ve ~/.local/share/Google/AndroidStudio<version>
    Örnek: ~/.config/Google/AndroidStudio4.1 ve ~/.local/share/Google/AndroidStudio4.1

Android Studio 4.0 ve önceki sürümler için:

  • Windows: %HOMEPATH%\.AndroidStudio<version>\config
    Örnek: C:\Users\your_user_name\.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio<version>
    Örnek: ~/Library/Preferences/AndroidStudio3.6

  • Linux: ~/.AndroidStudio<version>/config
    Örnek: ~/.AndroidStudio3.6/config

Android Studio'nun Canary ve Beta sürümleri için yapılandırma dizininin, <version> için X.Y yerine PreviewX.Y olduğunu unutmayın. Örneğin, Android Studio 4.1 Canary derlemeleri, Yayın Adayları ve Kararlı sürümleri için kullanılan AndroidStudio4.1 dizini yerine AndroidStudioPreview4.1 kullanır.

Kotlin çoklu platform projelerinde derleme sorunu

Eksik semboller nedeniyle Kotlin MPP kodunda derleme hataları oluşabilir. Kotlin eklentinizi 1.4 sürümüne yükseltmek bu sorunu çözecektir.

Linux'ta anahtar eşleme çakışmaları

Linux'ta belirli klavye kısayolları, varsayılan Linux klavye kısayollarıyla ve KDE ile GNOME gibi popüler pencere yöneticileriyle çakışır. Bu çakışan klavye kısayolları Android Studio'da beklendiği gibi çalışmayabilir.

Bu sorunla ilgili daha fazla bilgiyi (potansiyel geçici çözümler dahil) IntelliJ'in hata izleyicisinde bulabilirsiniz.

ChromeOS'te küçük kullanıcı arayüzü metni

ChromeOS'te metin, önceki sürümlerden çok daha küçük görünebilir. Bu sorunu çözmek için aşağıdakileri yapın:

  1. Dosya > Ayarlar'ı tıklayarak Ayarlar penceresini açın.
  2. Görünüm ve Davranış > Görünüm'e gidin.
  3. Özel yazı tipi kullan'ı seçin.
  4. Yazı tipi boyutunu artırın.
  5. Ayarlar penceresinde Düzenleyici > Yazı tipi'ne gidin.
  6. Yazı tipi boyutunu artırın.
  7. Tamam'ı tıklayın.

Kod düzenleme

Bu bölümde, kod düzenleyiciyle ilgili bilinen sorunlar açıklanmaktadır.

Donmuş klavye girişi - Linux'ta "iBus" sorunları

Linux ve Android Studio'da iBus arka plan programı arasında bilinen bazı etkileşimler vardır. Bazı senaryolarda IDE, klavye girişine yanıt vermeyi bırakır veya rastgele karakterler girmeye başlar. Bu hata, iBus ile XLib + AWT arasında bazı senkronizasyon eksiklikleri nedeniyle tetiklenmiştir ve yukarı akış için JetBrains ve iBus'a önceden bildirilmiştir. Bu sorun için şu anda üç geçici çözüm vardır:

  • Geçici Çözüm 1: iBus'ı eşzamanlı modda kullanmaya zorlayın. Android Studio'yu başlatmadan önce komut satırında şu komutu çalıştırın:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • Geçici Çözüm 2: Android Studio'da iBus girişini devre dışı bırakın. iBus girişini yalnızca Android Studio'da devre dışı bırakmak için komut satırında aşağıdaki komutu çalıştırın:
    $ XMODIFIERS= ./bin/studio.sh
    Bu çözüm yalnızca Android Studio için giriş yöntemlerini devre dışı bırakır, çalıştırdığınız diğer uygulamaları devre dışı bırakır. Android Studio çalışırken arka plan programını yeniden başlatırsanız (örneğin, ibus-daemon -rd çalışarak) diğer tüm uygulamalar için giriş yöntemlerini etkili bir şekilde devre dışı bırakır ve Android Studio'nun JVM'sini bir segmentasyon hatasıyla kilitleyebilirsiniz.
  • Geçici Çözüm 3: Aynı zamanda Android Studio'daki kod tamamlama kısayolu olduğundan Sonraki giriş kısayolu'nun Control+Space'e ayarlanmadığından emin olmak için kısayol bağlantılarını tekrar kontrol edin. Ubuntu 14.04 (Trusty), Super+Space'i varsayılan kısayol haline getirir ancak önceki sürümlerin ayarları kullanılmaya devam edebilir. Kısayol bağlamalarınızı kontrol etmek için komut satırında ibus-setup komutunu çalıştırarak IBus Tercihleri penceresini açın. Klavye Kısayolları altında Sonraki giriş yöntemi'ni işaretleyin. Control+Boşluk tuşu olarak ayarlandıysa, bunu Süper+Boşluk veya istediğiniz başka bir kısayol olarak değiştirin.

Proje yapılandırması

Bu bölümde, proje yapılandırması ve Gradle senkronizasyonu ile ilgili bilinen sorunlar açıklanmaktadır.

Gradle Senkronizasyonu Başarısız Oldu: Bozuk Boru

Sorun, Gradle arka plan programının IPv6 yerine IPv4 kullanmaya çalışmasıdır.

  • Geçici Çözüm 1: Linux'ta, ~/.profile veya ~/.bash_profile bölümüne aşağıdaki kodu yerleştirin:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • Geçici çözüm 2: Android Studio'nun vmoptions dosyasında -Djava.net.preferIPv4Addresses=true satırını -Djava.net.preferIPv6Addresses=true olarak değiştirin. Daha fazla bilgi için Ağ İletişimi IPv6 Kullanıcı Rehberi'ne bakın.

Gradle senkronizasyonu veya SDK Manager'daki "eş kimliği doğrulanmamış" hataları

Bu hataların temel nedeni $JAVA_HOME/jre/lib/certificates/cacerts projesinde sertifika eksikliğidir. Bu hataları gidermek için aşağıdaki adımları uygulayın:

  • Proxy kullanıyorsanız doğrudan bağlanmayı deneyin. Doğrudan bağlantı çalışıyorsa proxy üzerinden bağlanmak için keytool kullanarak proxy sunucusunun sertifikasını cacerts dosyasına eklemeniz gerekebilir.
  • Desteklenen, değiştirilmemiş bir JDK'yı yeniden yükleyin. Ubuntu kullanıcılarını etkileyen bilinen bir sorun vardır ve bu da boş /etc/ssl/certs/java/cacerts ile sonuçlanır. Bu sorunu çözmek için komut satırında aşağıdaki komutu çalıştırın:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

Dağıtılıyor

Bu bölümde, uygulamanızın bağlı bir cihaza dağıtımıyla ilgili bilinen sorunlar açıklanmaktadır.

[Yalnızca Mac OS] /System/Volumes/Data altına kaydedilen projelerde Gradle dosyası izlemeyle ilgili bir sorun nedeniyle ek güncellemeler uygulanmaz

Gradle sorunu 18149, Gradle'ın 7.0 ve sonraki sürümlerini gerektirdiği için Android Gradle Eklentisi'nin 7.0 ve sonraki sürümlerini etkiler. Dosya izleme, Gradle 7.0 sürümünden itibaren varsayılan olarak etkinleştirilmiştir. Mac OS üzerinde çalışıyorsanız ve projeniz /System/Volumes/Data altında kayıtlıysa, Gradle dosya izleme özelliği dosya değişikliklerini düzgün şekilde izlemez. Bu, Derleme Sisteminin dosya değişikliklerini görmemesine neden olur ve dolayısıyla APK'ları güncellemez. Yerel APK durumu cihazdakiyle aynı olduğundan artımlı dağıtım kodu hiçbir şey yapmaz.

Bu sorunu çözmek için projenizin dizinini /Users/username altına kullanıcı dizininize taşımanız gerekir. Ardından Derleme Sistemi, Gradle dosya izleme özelliği tarafından yapılan dosya değişiklikleri hakkında doğru şekilde bilgilendirilir ve artımlı değişiklikler başarıyla uygulanır.

macOS High Sierra'da Android Emülatörü HAXM

macOS High Sierra'daki (10.13) Android Emulator, macOS ile en iyi uyumluluk ve kararlılık için HAXM 6.2.1+ sürümünü gerektirir. Ancak macOS 10.13, HAXM gibi çekirdek uzantılarını yüklemek için daha karmaşık bir sürece sahiptir. Çekirdek uzantısının aşağıdaki gibi yüklenmesine manuel olarak izin vermeniz gerekir:

  1. Öncelikle SDK Yöneticisi'nden HAXM'nin en son sürümünü yüklemeyi deneyin.
  2. MacOS'te Sistem Tercihleri > Güvenlik ve Gizlilik'e gidin.
  3. "Intel Corporation Apps" geliştiricisine ait sistem yazılımının yüklenmesinin engellendiğini belirten bir uyarı görürseniz İzin ver'i tıklayın:

Daha fazla bilgi ve geçici çözümler için bu Apple web sayfasına ve 62395878 numaralı sorunu inceleyin.

Değişiklikleri Uygulama

Bu bölümde, Değişiklikleri Uygulama ile ilgili bilinen sorunlar açıklanmaktadır.

Yeni uygulama adı uygulanmadı

Uygulamanızı yeniden adlandırıp daha sonra bu değişikliği uygulamaya çalışırsanız güncellenen ad yansıtılmayabilir. Bu sorunu çözmek için ÇalıştırRun simgesi tıklayarak uygulamanızı yeniden dağıtın ve yaptığınız değişiklikleri görün.

Android Çalışma Zamanı'nda hata mesajı veriyor

Android 8.0 veya 8.1 çalıştıran bir cihaz kullanıyorsanız belirli değişiklik türlerini uygulamaya çalışırken (özellikle Kotlin kullanıyorsanız) "VERIFICATION_ERROR" mesajlarıyla karşılaşabilirsiniz. Bu mesaj, Android 9.0 ve sonraki sürümlerde düzeltilen Android Çalışma Zamanı sorunundan kaynaklanmaktadır. Sorun, Değişiklikleri Uygulama işleminin başarısız olmasına neden olsa da Run simgesi uygulamanızı tekrar çalıştırarak değişikliklerinizi görebilirsiniz. Ancak, cihazı Android 9.0 veya sonraki bir sürüme geçirmenizi öneririz.

Hata ayıklama ve test

Bu bölümde, uygulamanızın hatalarını ayıklama ve test etmeyle ilgili bilinen sorunlar açıklanmaktadır.

JUnit, Android Studio'dan çalıştırıldığında sınıf yolundaki eksik kaynakları test eder

Java modüllerinizde belirli kaynak klasörleriniz varsa IDE'den test çalıştırırken bu kaynaklar bulunamaz. Testleri, Gradle kullanarak komut satırından çalıştırmak işe yarar. Gradle check görevini IDE'den yürütmek de işe yarayacaktır. Daha fazla ayrıntı için 64887 numaralı sorunu inceleyin.

Bu sorun, sınıf yolu olarak yalnızca tek bir klasörün olmasını gerektiren IntelliJ 13 sürümünden itibaren ortaya çıkar. IntelliJ'in derleyicisi, tüm kaynakları bu derleme klasörüne kopyalar ancak Gradle, kaynakları kopyalamaz.

  • Geçici Çözüm 1: Birim testi çalıştırmak yerine IDE'den Gradle check görevini çalıştırın.
  • 2. Geçici Çözüm: Kaynakları derleme klasörüne manuel olarak kopyalamak için derleme komut dosyanızı güncelleyin. Daha fazla bilgi için 13. yoruma bakın.

JUnit testleri çalıştırmak, kodu iki kez derleyebilir

Yeni bir proje oluştururken JUnit şablonu yapılandırması, iki "Lansmandan önce" adımıyla oluşturulabilir: Yapma ve Gradle'a Duyarlı Yapma. Bu yapılandırma daha sonra, oluşturulan tüm JUnit çalıştırma yapılandırmalarına uygulanır.

  • Geçerli projenin sorununu düzeltmek için Çalıştır > Yapılandırmaları Düzenle'yi tıklayın ve varsayılan JUnit yapılandırmasını yalnızca Gradle-aware Make adımını içerecek şekilde değiştirin.
  • Gelecekteki tüm projeler için bu sorunu düzeltmek amacıyla Dosya > Projeyi Kapat'ı tıklayın. Karşılama ekranını göreceksiniz. Ardından Configure (Yapılandır) > Project Defaults > Run Configurations'ı (Yapılandırmaları Çalıştır) tıklayın ve JUnit yapılandırmasını, yalnızca Gradle-aware Make adımını içerecek şekilde değiştirin.

Bazı test çalıştırma yapılandırmaları çalışmıyor

Test yöntemi sağ tıklandığında kullanılabilen tüm çalıştırma yapılandırmaları geçerli değildir. Özellikle, aşağıdaki yapılandırmalar geçerli değildir:

  • Gradle çalıştırma yapılandırmaları (simge olarak Gradle logosu bulunan) çalışmaz.
  • Yeşil Android içermeyen bir simgeye sahip JUnit çalıştırma yapılandırmaları, yerel JVM'de çalıştırılamayan araç testlerine uygulanmaz.
Android Studio, belirli bir bağlamda oluşturulan çalıştırma yapılandırmasını da hatırlar (örneğin, belirli bir sınıfı veya yöntemi sağ tıklama) ve gelecekte farklı bir yapılandırmada çalışma seçeneği sunmaz. Bunu düzeltmek için Çalıştır > Yapılandırmaları Düzenle'yi tıklayın ve yanlış oluşturulan yapılandırmaları kaldırın.

Yerel kodda hata ayıklarken Java kesme noktaları ekleme

Uygulamanız yerel kodunuzdaki bir ayrılma noktasında duraklatıldığında Otomatik ve Çift hata ayıklayıcıları, ayarladığınız yeni Java kesme noktalarını hemen tanımayabilir. Bu sorunu önlemek için hata ayıklama oturumu başlatmadan önce veya uygulama bir Java ayrılma noktasında duraklatılmışken Java ayrılma noktaları ekleyin. Daha fazla bilgi için 229949 numaralı sorunu inceleyin.

Yerel hata ayıklayıcısını devre dışı bırakma

Java'da ve yerel kodda hata ayıklamak için Otomatik veya İkili hata ayıklayıcısını kullanırken Java kodunuzdan yerel bir işleve adım atarsanız (örneğin, hata ayıklayıcı, Java kodunuzdaki bir yerel işlevi çağıran bir satırda yürütmeyi duraklatır ve siz Adım Adım 'ı tıklarsanız) Java kodunuza geri dönmek isterseniz Java için Devam Et'i tıklayın (Java için İleri Adımlandır yerine veya Java'yı Devam Et yerine , Programı Devam Ettir'i tıklayın.) your-module Daha fazla bilgi için 224385 numaralı sorunu inceleyin.

Kitaplıklar yüklenirken yerel hata ayıklayıcı kilitleniyor

Android Studio 4.2 ve sonraki bir sürüme geçtikten sonra yerel hata ayıklayıcıyı ilk kez kullanırken yerel hata ayıklayıcı, Android cihazdan kitaplıklar yüklerken yanıt vermeyi durdurabilir. Bu sorun, hata ayıklayıcısını durdurup yeniden başlatsanız bile devam eden sabit bir sorundur. Bu sorunu düzeltmek için $USER/.lldb/module-cache/ adresindeki LLDB önbelleğini silin.

"Hata ayıklayıcı işlemi çıkış kodu 127 ile tamamlandı" mesajıyla yerel hata ayıklayıcı kilitleniyor

Bu hata, yerel hata ayıklayıcısı başlatılırken Linux tabanlı platformlarda ortaya çıkar. Bu hata, yerel hata ayıklayıcının gerektirdiği kitaplıklardan birinin yerel sistemde yüklü olmadığını gösterir. Eksik kitaplığın adı idea.log dosyasında önceden yazılmış olabilir. Aksi takdirde, bir terminal kullanarak Android Studio yükleme dizinine gidebilir ve hangi kitaplıkların eksik olduğunu öğrenmek için bin/lldb/bin/LLDBFrontend --version komut satırını çalıştırabilirsiniz. Son Linux dağıtımları ncurses6 sürümüne yükseltildiğinden genellikle eksik kitaplık ncurses5 şeklindedir.

Profil araçları

Bu bölümde, Profil Oluşturucularla ilgili bilinen sorunlar açıklanmaktadır.

Yerel Bellek Profil Aracı: Uygulama başlatılırken profil oluşturma kullanılamaz

Yerel Bellek Profil Aracı şu anda uygulama başlatılırken kullanılamaz. Bu seçenek gelecekteki bir sürümde kullanıma sunulacaktır.

Geçici bir çözüm olarak, başlangıç profillerini yakalamak için Perfetto bağımsız komut satırı profil aracını kullanabilirsiniz.

CPU Profiler'da zaman aşımı hataları

Örnek Java Yöntemleri veya Trace Java Yöntemleri yapılandırmalarını seçtiğinizde Android Studio CPU Profili Aracı'nda "Kayıt durdurulamadı" hatalarıyla karşılaşabilirsiniz. Bunlar, özellikle idea.log dosyasında aşağıdaki hata mesajını görüyorsanız genellikle zaman aşımı hatalarıdır:

Wait for ART trace file timed out

Zaman aşımı hataları, izlenen yöntemleri örneklenmiş yöntemlerden daha çok, uzun kayıtları ise kısa kayıtlardan daha çok etkiler. Geçici bir çözüm olarak, hatanın ortadan kalkıp kalkmadığını görmek için daha kısa kayıtlar denemeniz yararlı olabilir.

Profiler ile ilgili zaman aşımı sorunları yaşıyorsanız lütfen cihazlarınızın markasını/modelini ve idea.log ile logcat'teki ilgili girişleri içeren bir hata bildiriminde bulunun.

Hata ayıklama veya profil oluşturma sırasında ADB istisnası

Platform Araçları 29.0.3 kullanılırken yerel hata ayıklama ve Android Studio Profil Oluşturucular düzgün çalışmayabilir ve Yardım > Günlüğü Göster'i seçtiğinizde idea.log dosyasında "AdbCommandRejectedException" veya "Bağlantı noktası bağlanamadı" ifadelerinden birini görebilirsiniz. Platform Araçları'nı 29.0.4 veya daha yeni bir sürüme geçirmek iki sorunu da çözer.

Platform Araçları'nı yeni sürüme geçirmek için aşağıdakileri yapın:

  1. Araçlar > SDK Yöneticisi'ni tıklayarak Android Studio'da SDK Yöneticisi'ni açın veya araç çubuğundan SDK Yöneticisi'ni tıklayın.
  2. Android SDK Platform Araçları'nın yanındaki onay kutusunu tıklayarak onay işaretinin görünmesini sağlayın. Sol sütunda indir simgesi görünür.
  3. Uygula veya Tamam'ı tıklayın.

Eklenti, Derleme Çıkışı penceresinin çalışmasını engelliyor

CMake basit vurgulayıcı eklentisinin kullanılması, içeriğin Çıktı Derleme penceresinde görüntülenmesini engeller. Derleme çalışır ve Derleme Çıktısı sekmesi görünür, ancak yazdırılan bir çıkış yoktur (sorun #204791544).

Yükleme siparişi başlatmayı engelliyor

Android Studio'nun yeni bir sürümünün eski bir sürümden önce yüklenmesi, eski sürümün başlatılmasını engelleyebilir. Örneğin, önce Android Studio'nun canary sürümünü yükler ve ardından kararlı sürümü yükleyip başlatmaya çalışırsanız kararlı sürüm başlatılmayabilir. Bu gibi durumlarda, çalışmaya başlamak için kararlı (eski) sürümü edinmek üzere önbelleği temizlemeniz gerekir. macOS'te, önbelleği temizlemek için Library/ApplicationSupport/Google/AndroidStudioversion_number dizinini silin. Windows'da önbelleği temizlemek için Disk Temizleme'yi kullanın.

Espresso Test Kaydedici, Compose ile çalışmıyor

Espresso Test Kaydedici, Oluşturma özelliğini içeren projelerle çalışmaz. Oluşturma özelliğini içeren projeler için kullanıcı arayüzü testleri oluşturmak istiyorsanız Compose düzeninizi test etme bölümüne bakın.

Logcat kısayolu, İngilizce olmayan klavye düzenleriyle çakışıyor

İngilizce olmayan bir klavye düzeni kullanıyorsanız varsayılan bir Logcat klavye kısayolu, düzenle çakışabilir ve Android Studio'da metin düzenlerken belirli karakterleri yazmanızı engelleyebilir. Bu sorunu çözmek için çakışan Logcat tuş eşlemesini silin veya yeniden eşleyin. Android Studio'da Logcat tuş eşlemelerini düzenlemek için Android Studio > Ayarlar > Tuş Eşleme'ye gidin ve tuş eşlemeleri listesinde Logcat araması yapın. Daha fazla bilgi için 263475910 numaralı sorunu inceleyin.

Bu sorun, Android Studio Electric Eel Patch 1'deki Logcat kısayolunun kaldırılmasıyla çözülecektir.

Android Gradle Eklentisi ile ilgili bilinen sorunlar

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

Dinamik özellik kitaplığı bağımlılıklarının tümü lint kontrolünden alınmaz

Bir uygulama modülünden checkDependencies = true ile lint çalıştırırken, aynı zamanda uygulamaya bağımlı olmayan dinamik özellik kitaplığı bağımlılıkları kontrol edilmez (sorun #191977888). Çözüm olarak, lint görevi bu kitaplıklarda çalıştırılabilir.

Satır başı karakterleriyle adlandırılmış imza dosyası

JAR imzalaması (v1 şeması), satır başı karakterleri içeren dosya adlarını desteklemez (sorun no. 63885809).

Derleme zamanında varyant çıkışlarını değiştirmek işe yaramayabilir

Varyant çıkışlarını değiştirmek için Variant API'nin kullanılması, yeni eklentiyle çalışmamaktadır. Bu araç, aşağıda gösterildiği gibi, derleme süresi sırasında APK adını değiştirmek gibi basit görevler için de kullanılabilir:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

Bununla birlikte, outputFile nesnelerine erişimi içeren daha karmaşık görevler artık işe yaramaz. Bunun nedeni, varyanta özel görevlerin artık yapılandırma aşamasında oluşturulmamasıdır. Bu, eklentinin tüm çıkışlarını önceden bilmemesine neden olur, ancak aynı zamanda yapılandırma süreleri de daha hızlıdır.

manifestExitFile artık kullanılamıyor

processManifest.manifestOutputFile() yöntemi artık kullanılamıyor. Bu yöntemi çağırdığınızda aşağıdaki hatayı alırsınız:

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

Her varyant için manifest dosyasını almak üzere manifestOutputFile() yöntemini çağırmak yerine, oluşturulan tüm manifestleri içeren dizin yolunu döndürmek için processManifest.manifestOutputDirectory() yöntemini çağırabilirsiniz. Sonra bir manifest yerini bulup mantığınızı ona uygulayabilirsiniz. Aşağıdaki örnek, manifest dosyasındaki sürüm kodunu dinamik olarak değiştirir:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

AGP 7.3.0 AIDL desteği ve Kotlin 1.7.x ile ilgili sorunlar

Kotlin 1.7.x'te AGP 7.3.0'ın KAPT ile kullanılması, belirli derleme varyantları için AIDL kaynak kümelerinin kaldırılmasına neden olur. main/, yapı türleri, ürün çeşitleri ve ürün aromalarının kombinasyonları dahil olmak üzere diğer AIDL kaynak gruplarını kullanmaya devam edebilirsiniz. Varyanta özgü AIDL kaynak gruplarını kullanmanız gerekiyorsa Kotlin 1.6.21'i kullanmaya devam edin.

Bilinen sorunlar düzeltildi

Bu bölümde, son bir sürümde düzeltilen bilinen sorunlar açıklanmaktadır. Bu sorunlardan birini yaşıyorsanız Android Studio'yu en son kararlı sürüme veya önizleme sürümüne güncellemeniz gerekir.

Android Studio 2021.1.1'de düzeltildi

  • Eksik lint çıkışı: Lint görevi UP-TO-DATE olduğunda stdout için yazdırılan lint metin çıkışı yok (sorun no. 191897708). AGP 7.1.0-alpha05'te düzeltilmiştir.
  • Hilt eklentisini kullanan bir uygulama projesinde birim testiyle ilgili sorunlar: Birim testi sınıf yolu, araç içermeyen uygulama sınıflarını içerir. Diğer bir deyişle Hilt, birim testlerini çalıştırırken uygulama sınıflarını bağımlılık yerleştirmeyi ele alacak şekilde ayarlamaz (213534628). AGP 7.1.1'de düzeltilmiştir.

Android Studio 2020.3.1 sürümünde düzeltildi

  • Kotlin projelerinde hata analizi istisnaları: checkDependencies = true değerini ayarlayan Kotlin projeleri, boş işaretçi istisnaları veya hatalarıyla karşılaşabilir (sorun numarası: 158777858).

Android Studio 4.2 sürümünde düzeltilmiştir

  • IDE, macOS Big Sur'da donuyor: Bir iletişim kutusu açtığınızda Android Studio 4.1 donabilir.

Android Studio 4.1'de düzeltildi

  • Önceki IDE sürümündeki bellek ayarlarını uygulamayı yeniden başlat: Android Studio'yu güncelledikten sonra, IDE'nin önceki bir sürümünden taşınan bellek ayarlarını uygulamak için Android Studio'yu yeniden başlatmanız gerekir.
  • Özel izin dizelerine sahip manifest sınıfı artık varsayılan olarak oluşturulmamaktadır: Sınıfı oluşturmak istiyorsanız android.generateManifestClass = true değerini ayarlayın.

Android Studio 3.6 sürümünde düzeltilmiştir

  • LineageOS'te APK yükleme hatası: Uygulamanızı LineageOS veya CyanogenMod'un belirli sürümlerini çalıştıran cihazlara dağıtmak, başarısız olabilir ve INSTALL_PARSE_FAILED_NOT_APK istisnasına yol açabilir.

    Android Studio 3.6 Beta 1 ve sonraki sürümlerde IDE, uygulamanızı LineageOS veya CyanogenMod cihazlarına dağıttığınızda tam uygulama yükleme işlemi gerçekleştirerek bu istisnayı yönetir. Bu durum, dağıtım sürelerinin uzamasına neden olabilir.

Android Studio 3.5.2 sürümünde düzeltilmiştir

  • Bozuk XML kodu stili: XML kodunu düzenlerken menü çubuğundan Kod > Kodu Yeniden Biçimlendir'i seçtiğinizde IDE yanlış bir kod stili uygular.

Android Studio 3.3.1 sürümünde düzeltildi

  • C++ tabanlı projeleri tararken bellek hataları bitti: Gradle, aynı sürücüde birden fazla konumda C++ koduna sahip bir projeyi taradığında, tarama ilk ortak dizinin altındaki tüm dizinleri içerir. Çok sayıda dizinin ve dosyanın taranması, bellek hatalarının olmamasına neden olabilir.

    Bu sorun hakkında daha fazla bilgi için sorunla ilişkili hata bölümünü okuyun.