Android Studio ve Android Gradle Eklentisi ile ilgili bilinen sorunlar

Bu sayfada, Android Studio Giraffe ve Android Gradle eklentisi 8.1.0 ile ilgili bilinen sorunlar izleniyor. Burada belirtilmeyen bir sorunla karşılaşırsanız lütfen hata bildirin.

Önizlemek için yükseltme yapın: Android Studio ve Android Gradle eklentisinin her sürümü kararlılığı ve performansı iyileştirip yeni özellikler eklemeyi amaçlar. Kullanıma sunulacak sürümlerin avantajlarından hemen yararlanmak için Android Studio Önizlemesi'ni 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 bir hata mesajı gösteriliyor

Firebase Asistan penceresinde (Araçlar > Ana menüden Firebase) hata mesajı gösteriliyorsa ö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 incelenemiyor

Layout Inspector kullanırken tüm Compose düğümlerinin incelenemediğini 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 1.5.0-alpha04 veya daha üst bir sürüme 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 simgesini görüyorsanız modülünüze bir debugImplementation bağımlılığı androidx.lifecycle:lifecycle-viewmodel-savedstate eklediğinizden emin olun.

Sorunlar panelinde java.lang.NoSuchFieldError: view_tree_lifecycle_owner öğelerini 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 bağımlılığı androidx.customview:customview-poolingcontainer eklediğinizden emin olun.

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

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

Derleme > İmzalı Paket / APK Oluştur'a gidip bir 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 deposunda aynı şifreyi girin.

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

Studio, önceki .vmoptions dosyasını içe aktarmaya ve bunları JDK 11 tarafından kullanılan çöp toplayıcı ile ç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 dosyasındaki özel seçenekleri ("#" karakterini kullanarak) yorumlayabilirsiniz. .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 çözümü denedikten sonra Studio hâlâ başlamazsa aşağıdaki Studio yeni sürüme geçişten sonra başlamıyor konusuna bakın.

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

Veritabanı Denetleyicisi'ni kullanan uygulamalar Android 11 emülatöründe çalışırken logcat'te aşağıdaki gibi bir hata mesajıyla 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 9 veya sonraki bir sürümünü seçin.

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

Studio yeni sürüme geçtikten sonra da başlamazsa 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 tekrar başlatın. Bu işlem, Android Studio'yu varsayılan durumuna sıfırlar ve tüm üçüncü taraf eklentileri kaldırılır.

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ümler için kullanılan AndroidStudio4.1 dizini yerine AndroidStudioPreview4.1 kullanır.

Kotlin çok platformlu projelerinde derleme sorunu

Eksik simgeler nedeniyle Kotlin MPP kodunda derleme hataları ortaya çıkabilir. 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ı 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 bilgi (olası geçici çözümler dahil) IntelliJ'in hata izleyicisinde bulunabilir.

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

ChromeOS'te metinler, önceki sürümlere kıyasla ç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 büyütün.
  5. Ayarlar penceresinde, Düzenleyici > Yazı Tipi'ne gidin.
  6. Yazı tipi boyutunu büyütün.
  7. Tamam'ı tıklayın.

Kod düzenleme

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

Klavye girişi dondu - 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ındaki bazı eksik senkronizasyonlar nedeniyle tetiklenir ve veriler yukarı akışla JetBrains ve iBus'a önceden bildirilmiştir. Bu sorun için hâlihazırda üç çözüm vardır:

  • Geçici Çözüm 1: iBus'ı eşzamanlı moda 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 geçici çö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ıştırarak) giriş yöntemlerini diğer tüm uygulamalar için etkili bir şekilde devre dışı bırakır ve Android Studio'nun JVM'sini bir segmentasyon hatasıyla kilitleyebilirsiniz.
  • Geçici Çözüm 3: Sonraki giriş kısayolu'nun aynı zamanda Android Studio'daki kod tamamlama kısayolu olduğundan Control+Boşluk olarak ayarlanmadığından emin olmak için kısayol bağlamalarını tekrar kontrol edin. Ubuntu 14.04 (Trusty), Super+Space'i varsayılan kısayol yapar 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 olarak ayarlandıysa bunu Süper+Boşluk olarak veya tercih ettiğ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 ekleyin:
    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ğ iletişimi IPv6 Kullanıcı Kılavuzu'na bakın.

Gradle senkronizasyonu veya SDK Yöneticisi'nden gelen "eş kimliği doğrulanmamış" hataları

Bu hataların temel nedeni, $JAVA_HOME/jre/lib/certificates/cacerts ürününde eksik bir sertifikadır. Bu hataları çözmek 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'yi 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ı bağlı bir cihaza dağıtmakla ilgili bilinen sorunlar açıklanmaktadır.

[Yalnızca Mac OS] /System/Volumes/Data kapsamında kaydedilen projelerde Gradle dosya 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 Plugin 7.0 ve sonraki sürümlerini etkiler. Gradle 7.0'dan itibaren dosya izleme varsayılan olarak etkindir. Mac OS üzerinde çalışıyorsanız ve projeniz /System/Volumes/Data altına kaydedildiyse Gradle dosya izleme, 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 cihazdaki ile aynı olduğundan artımlı dağıtım kodu hiçbir şey yapmaz.

Bu sorunu çözmek için projenizin dizinini /Users/username dizini altındaki kullanıcı dizininize taşımanız gerekir. Ardından Derleme Sistemine, dosya değişiklikleri hakkında Gradle dosya izleme özelliği tarafından doğru şekilde bildirilir 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 Emülatör, macOS ile en iyi uyumluluk ve kararlılık için HAXM 6.2.1 ve sonraki sürümleri gerektirir. Ancak macOS 10.13'te, HAXM gibi çekirdek uzantılarını yükleme işlemi daha karmaşıktır. Ç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ğine dair bir uyarı görürseniz İzin ver'ü 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ırdıktan sonra bu değişikliği uygulamaya çalışırsanız güncellenen ad yansıtılmayabilir. Bu sorunu çözmek için Çalıştır'ı tıklayarak Çalıştır simgesi uygulamanızı yeniden dağıtıp yaptığınız değişiklikleri görebilirsiniz.

Android Çalışma Zamanı'ndaki bir sorun hata 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) "DOĞRU_HATA" mesajlarıyla karşılaşabilirsiniz. Bu mesajın nedeni, Android 9.0 ve sonraki sürümlerde düzeltilen Android Çalışma Zamanı sorunudur. Sorun, Değişiklikleri Uygula'nın başarısız olmasına neden olsa da değişikliklerinizi görmek için uygulamanızı Çalıştır simgesiÇalıştır'ı tekrar çalıştırabilirsiniz. Ancak, cihazınızı Android 9.0 veya sonraki bir sürüme geçirmenizi öneririz.

Hata ayıklama ve test

Bu bölümde, uygulamanızla ilgili hata ayıklama ve test etme ile 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 testler çalıştırılırken bu kaynaklar bulunamaz. Komut satırından Gradle kullanılarak testler yapılabilir. Gradle check görevini IDE'den yürütmek de işe yarar. Daha fazla ayrıntı için 64887 numaralı soruna bakın.

Bu sorun, sınıf yolu olarak yalnızca tek bir klasöre sahip olmanızı 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 yapmak yerine IDE'den Gradle check görevini çalıştırın.
  • Geçici Çözüm 2: 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, kod iki kez derlenebilir

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.

  • Mevcut 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 Yapma adımını içerecek şekilde değiştirin.
  • Gelecekteki tüm projelerde bu sorunu düzeltmek için Dosya > Projeyi Kapat'ı tıklayın. Karşılama ekranını görürsünüz. Ardından Yapılandır > Proje Varsayılanları > Yapılandırmaları Çalıştır'ı tıklayın ve JUnit yapılandırmasını, yalnızca Gradle'a Uyumlu Yapma 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.
  • JUnit çalıştırma yapılandırmaları (yeşil Android içermeyen bir simgeye sahiptir) enstrümantasyon testlerine uygulanmaz ve bu testler yerel JVM'de çalıştırılamaz.
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ıklayarak) ve ileride farklı bir yapılandırmada çalışma teklifi 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 kesme 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ıdan çıkma

Java'da ve yerel kodda hata ayıklamak için Otomatik veya İkili hata ayıklayıcıyı kullanırken Java kodunuzdan gelen 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 Adım İle'yi tıklarsanız) Java kodunuza geri dönmek isterseniz Programı Devam Ettir'i tıklayın (Java işlemini devam ettirirseniz uygulama işlemi devam ettirilir 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ının takılması

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ı, kitaplıkları Android cihazdan yüklerken yanıt vermeyi durdurabilir. Bu sorun, hata ayıklayıcıyı 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ı" hatasıyla yerel hata ayıklayıcı kilitleniyor

Bu hata, yerel hata ayıklayıcıyı başlatırken Linux tabanlı platformlarda ortaya çıkar. Yerel hata ayıklayıcının gerektirdiği kitaplıklardan birinin yerel sistemde yüklü olmadığını belirtir. Eksik kitaplığın adı idea.log dosyasında zaten yazdırılmış olabilir. Aksi takdirde, Android Studio yükleme dizinine gitmek için bir terminal kullanabilir ve hangi kitaplıkların eksik olduğunu öğrenmek için bin/lldb/bin/LLDBFrontend --version komut satırını yürütebilirsiniz. Son Linux dağıtımlarının bazıları ncurses6 sürümüne yükseltildiği için genellikle eksik kitaplık ncurses5 olur.

Profilciler

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 Profil Aracı'nda zaman aşımı hataları

Örnek Java Yöntemleri veya İzleme Java Yöntemleri yapılandırmalarını seçtiğinizde Android Studio CPU Profiler'da "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öntemlerin örneklenmiş yöntemlerden daha fazla, uzun kayıtları ise kısa kayıtlardan daha fazla etkileme eğilimindedir. Geçici bir çözüm olarak, hatanın ortadan kalkıp kalkmadığını görmek için daha kısa kayıtlar denemek yararlı olabilir.

Profiler ile ilgili zaman aşımı sorunları yaşıyorsanız lütfen cihazlarınızın markası/modeli ile idea.log ve 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 Profiller düzgün çalışmayabilir ve Yardım > Günlüğü Göster'i seçtiğinizde idea.log dosyasında "AdbCommandReddedilen İstisna" veya "Bağlantı noktası bağlanamadı" mesajı görebilirsiniz. Platform Araçları'nın 29.0.4 veya daha yeni bir sürüme yükseltilmesi her iki sorunu da çözer.

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

  1. Android Studio'da Araçlar > SDK Yöneticisi'ni tıklayarak SDK Yöneticisi'ni açın veya araç çubuğunda SDK Yöneticisi simgesini 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 Derleme Çıkışı penceresinde görünmesini engeller. Derleme çalışır ve Derleme Çıktısı sekmesi görünür, ancak yazdırılmış herhangi bir çıkış yoktur (204791544 numaralı sorun).

Yükleme sırası, başlatmayı engelliyor

Android Studio'nun eski bir sürümünden önce yeni bir sürümün yüklenmesi, eski sürümün başlatılmasını engelleyebilir. Örneğin, önce Android Studio'nun canary sürümünü yükledikten sonra kararlı sürümü yükleyip başlatmayı denerseniz kararlı sürüm başlatılmayabilir. Bu gibi durumlarda, kararlı (eski) sürümü başlatmak için ö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, Compose içeren projelerde çalışmaz. Oluşturma'yı içeren projeler için kullanıcı arayüzü testleri oluşturmak üzere Oluşturma düzeninizi test etme konusuna bakın.

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

İngilizce dışında 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ülür.

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.

Tüm dinamik özellik kitaplığı bağımlılıkları lint kontrolünde bulunmaz

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

Satır başı karakteriyle adlandırılmış imzalama dosyası

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

Derleme sırası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 birlikte çalışmamaktadır. Bu işlev, aşağıda gösterildiği gibi, derleme süresi sırasında APK adını değiştirmek gibi basit görevlerde 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 çalışmaz. Bunun nedeni, varyanta özel görevlerin artık yapılandırma aşamasında oluşturulmamasıdır. Bu durum, eklentinin tüm çıkışlarını önceden bilmemesine neden olur ancak aynı zamanda yapılandırma süreleri de daha kısa olur.

manifestExitFile artık kullanılamıyor

processManifest.manifestOutputFile() yöntemi artık kullanılamayacak ve ç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 bir varyantın manifest dosyasını almak için 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. Daha sonra bir manifestin 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 gruplarının kaldırılmasına neden olur. main/, derleme türleri, ürün aromaları ve ürün aroma kombinasyonları dahil olmak üzere diğer AIDL kaynak gruplarını kullanmaya devam edebilirsiniz. Varyanta özel AIDL kaynak gruplarını kullanmanız gerekiyorsa Kotlin 1.6.21'i kullanmaya devam edin.

Bilinen sorunlar giderildi

Bu bölümde, yeni bir sürümde düzeltilmiş olan bilinen sorunlar açıklanmaktadır. Bu sorunlardan herhangi 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 çıktısı: Little görevi UP-TO-DATE olduğunda stdout dosyasına yazdırılan lint metin çıkışı yok (sorun #191897708). AGP 7.1.0-alpha05 sürümünde düzeltilmiştir.
  • Hilt eklentisini kullanan bir uygulama projesinin birim testiyle ilgili sorunlar: Birim testi sınıf yolu, araç içermeyen uygulama sınıflarını içeriyor. Yani Hilt, birim testlerini çalıştırırken uygulama sınıflarını bağımlılık yerleştirmeyi işlemek için ayarlamaz (sorun #213534628). AGP 7.1.1'de düzeltildi.

Android Studio 2020.3.1'de düzeltildi

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

Android Studio 4.2'de düzeltildi

  • macOS Big Sur'da IDE 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ı uygulamak için yeniden başlatın: 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şturulmaz: Sınıfı oluşturmak istiyorsanız android.generateManifestClass = true değerini ayarlayın.

Android Studio 3.6'da düzeltildi

  • 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 bir INSTALL_PARSE_FAILED_NOT_APK istisnası neden olabilir.

    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'de düzeltildi

  • 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 uyguluyordu.

Android Studio 3.3.1'de düzeltildi

  • C++ tabanlı projeleri tararken bellek yetersiz: Gradle, aynı sürücüde birden fazla konumda C++ kodu bulunan bir projeyi taradığında tarama, ilk ortak dizinin altındaki tüm dizinleri içerir. Çok sayıda dizin ve dosyanın taranması, bellek yetersizliğine yol açabilir.

    Bu sorunla ilgili daha fazla bilgi edinmek için sorunla ilişkili hata bölümünü okuyun.