Android Studio ve Android Gradle Eklentisi ile ilgili bilinen sorunlar

Bu sayfada, Android Studio Koala ve Android Gradle eklentisi 8.5.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ığı ve performansı iyileştirip yeni özellikler eklemeyi amaçlar. Yakında yayınlanacak 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ündeki bilinen sorunlar açıklanmaktadır.

Android Studio'da Gemini .aiexclude davranış farklılıkları

Android Studio'da Gemini için bağlam paylaşımını yapılandırırken .aiexclude dosyaları, aşağıdaki istisnalar hariç .gitignore dosyalarıyla aynı şekilde davranır:

  • Boş bir .aiexclude dosyası, dizinindeki ve tüm alt dizinlerindeki tüm dosyaları engeller. Bu, yalnızca "*" içeren bir dosyayla aynıdır.
  • .aiexclude dosyaları, olumsuzluğu (! ile önek kalıpları) desteklemez.

Firebase asistan penceresinde hata mesajı gösteriliyor

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

Düzen Denetleyicisi kullanılarak bir görünüm izole edilemez

Yerleşik Düzen Denetleyici'yi kullanarak bir görünümü ayırma özelliği geçici olarak kullanılamamaktadır. Bu sorunu gelecekteki bir sürümde düzeltmek için çalışıyoruz.

Oluşturma düğümlerinin tümü Düzen Denetleyicisi kullanılarak incelenemez

Düzen Denetleyicisi'ni 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üzeltilmiş olan bir hatadır. Bu sorunla karşılaşıyorsanız Compose'un 1.5.0-alpha04 veya sonraki sürümüne geçtiğinizden emin olun.

Oluşturma Önizlemesi oluşturulurken hata oluştu

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 ifadesini görüyorsanız modülünüze androidx.lifecycle:lifecycle-viewmodel-savedstate öğesine debugImplementation bağımlılığı eklediğinizden emin olun.

Sorunlar panelinde java.lang.NoSuchFieldError: view_tree_lifecycle_owner görüyorsanız modülünüze androidx.lifecycle:lifecycle-runtime öğesine 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 görüyorsanız modülünüze androidx.customview:customview-poolingcontainer debugImplementation bağımlılığı 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 ile çalışmaktadır. Bu güncelleme, imzalama anahtarları ile ilgili temel bir davranış değişikliğine neden olur.

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 hatayı verebilir:

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

Bu sorunu çözmek amacıyla hem anahtar hem de anahtar deposu için 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 arındırmaya ç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ılmayabilir.

Bu sorunu çözmek için .vmoptions içindeki özel seçenekleri ("#" karakterini kullanarak) yorumlamanı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ü denedikten sonra Studio hâlâ başlamıyorsa aşağıdaki Yükseltme işleminden sonra Studio başlamıyor konusuna bakın.

Android 11 emülatöründe Veritabanı İnceleyici kilitlenmesi kullanan uygulamalar

Veritabanı İnceleyici'yi kullanan uygulamalar, Android 11 emülatörüyle çalışırken kilitlenebilir. Bunun için logcat'te aşağıdaki gibi bir hatayla karşılaşabilirsiniz:

 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.

Yeni sürüme geçişten sonra Studio açılmıyor

Yeni sürüme geçişten sonra Studio çalışmıyorsa sorunun nedeni Android Studio'nun önceki 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şlatmayı deneyin. 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, Sürüm Adayları ve Kararlı sürümleri için kullanılan AndroidStudio4.1 dizini yerine AndroidStudioPreview4.1 yöntemini kullanır.

Kotlin çok platformlu projelerinde derleme sorunu

Kotlin MPP kodunda eksik simgeler nedeniyle derleme hataları ortaya çıkabilir. Kotlin eklentinizi 1.4 sürümüne yükseltmek bu sorunu çözecektir.

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

Linux'ta belirli klavye kısayolları, varsayılan Linux klavye kısayolları ile KDE ve GNOME gibi popüler pencere yöneticilerinin kısayollarıyla ç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.

Klavye girişi dondu - Linux'ta "iBus" sorunları

Linux ve Android Studio'daki 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 tetiklenmiştir ve yukarı akış yönünde JetBrains ve iBus'a bildirilmiştir. Bu sorun için üç geçici çözüm vardır:

  • Geçici Çözüm 1: iBus'u eşzamanlı modda kullanmaya zorlayın. Android Studio'yu başlatmadan önce komut satırında aşağıdaki 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 için devre dışı bırakmak üzere 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. Android Studio çalışırken arka planı yeniden başlatırsanız (örneğin, ibus-daemon -rd çalıştırarak) diğer tüm uygulamalar için giriş yöntemlerini etkili bir şekilde devre dışı bırakır ve ayrıca, segmentasyon hatasıyla Android Studio'nun JVM'sini kilitleyebilirsiniz.
  • Geçici Çözüm 3: Sonraki giriş kısayolu, aynı zamanda Android Studio'daki kod tamamlama kısayolu olduğundan Ctrl+Boşluk tuşu 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 haline getirir ancak önceki sürümlerin ayarları hâlâ mevcut olabilir. 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ı bölümünde Sonraki giriş yöntemi'ni işaretleyin. Control+Boşluk tuşu olarak ayarlanmışsa 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 senkronizasyonuyla ilgili bilinen sorunlar açıklanmaktadır.

Gradle Senkronizasyonu Başarısız: 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 komutu girin:
    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ı şu şekilde değiştirin: -Djava.net.preferIPv6Addresses=true Daha fazla bilgi için Ağ iletişimi IPv6 Kullanıcı Rehberi'ne bakın.

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

Bu hataların temel nedeni, $JAVA_HOME/jre/lib/certificates/cacerts ürünündeki bir sertifikanın eksik olmasıdır. Bu hataları gidermek için aşağıdaki adımları uygulayın:

  • Bir proxy kullanıyorsanız doğrudan bağlanmayı deneyin. Doğrudan bağlantı çalışıyorsa proxy aracılığıyla 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 durum boş /etc/ssl/certs/java/cacerts ile sonuçlanır. Bu sorunu çözmek için komut satırında aşağıdaki komutu yürütü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ğıtmayla ilgili bilinen sorunlar açıklanmaktadır.

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

Gradle sorunu 18149, Gradle 7.0 ve sonraki sürümleri gerektirdiğinden Android Gradle eklentisi 7.0 ve sonraki sürümlerini etkilemektedir. Gradle 7.0'dan itibaren dosya izleme varsayılan olarak etkindir. Mac OS'te çalışıyorsanız ve projeniz /System/Volumes/Data altına kaydedildiyse, Gradle dosyası izleme dosya değişikliklerini düzgün şekilde izlemez. Bu, Derleme Sistemi'nin herhangi bir dosya değişikliği görmemesine neden olur ve APK'ları güncellemez. Yerel APK durumu cihazdaki durumla aynı olduğundan artımlı dağıtım kodu hiçbir şey yapmaz.

Bu sorunu çözmek için projenizin dizinini, /Users/username altındaki kullanıcı dizininize taşımalısınız. Ardından Build Sistemi, Gradle dosya izleme yoluyla dosya değişiklikleri hakkında doğru bir ş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 veya daha yeni bir sürüm gerektirir. Ancak macOS 10.13'te, HAXM gibi çekirdek uzantılarının yüklenmesi daha karmaşık bir süreçtir. Çekirdek uzantısının yüklenmesine aşağıdaki şekilde 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 bölümüne 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 ardından bu değişikliği uygulamaya çalışırsanız güncellenen ad yansıtılmayabilir. Bu sorunu çözmek için ÇalıştırÇalıştır simgesi tıklayarak uygulamanızı yeniden dağıtın ve değişikliklerinizi görün.

Android Çalışma Zamanı'ndaki 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) "VERIFICATION_ERROR" mesajlarıyla karşılaşabilirsiniz. Bu mesaj, Android 9.0 ve sonraki sürümlerde düzeltilen bir Android Çalışma Zamanı sorunundan kaynaklanmaktadır. Bu sorun, Değişiklikleri Uygula'nın başarısız olmasına yol açsa da değişikliklerinizi görmek için uygulamanızı Çalıştır simgesi tekrar çalıştırabilirsiniz. Ancak cihazınızı Android 9.0 veya sonraki bir sürüme yükseltmenizi öneririz.

Hata ayıklama ve test etme

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

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

Java modüllerinizde belirli kaynak klasörleriniz varsa IDE'den test çalıştırırken bu kaynaklar bulunamaz. Komut satırından Gradle ile testler yapmak işe yarayacaktır. Gradle check görevini entegre geliştirme ortamından yürütülmek de işe yarayacaktır. Daha fazla ayrıntı için 64887 numaralı sorunu inceleyin.

Bu sorunun nedeni, sınıf yolu olarak yalnızca tek bir klasörün olmasını gerektiren IntelliJ 13'ten itibaren geçerlidir. IntelliJ'in oluşturucusu, tüm kaynakları bu derleme klasörüne kopyalar ancak Gradle, kaynakları kopyalamaz.

  • 1. Geçici Çözüm: Birim testi çalıştırmak yerine Gradle check görevini IDE'den ç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 testlerini çalıştırmak, kodu iki kez derleyebilir

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

  • Mevcut projeyle ilgili sorunu 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-Duyarlı 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öreceksiniz. 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-Aware Yapma adımını içerecek şekilde değiştirin.

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

Bir test yöntemini sağ tıkladığınızda 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) çalışmaz.
  • JUnit çalıştırma yapılandırmaları (yeşil Android simgesi olmadan), 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ıklayarak) ve gelecekte farklı bir yapılandırmada çalıştırmayı teklif etmez. Bu sorunu 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 ayrılma noktaları ekleme

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

Yerel hata ayıklayıcıdan çıkma

AutoAutoAutoJava adresli Java satır kodunuzda bir yerel işlevde hata ayıklayıp duraklatmak üzere Java ve yerel kodda hata ayıklayıcı</br class="ph-1-1"> hata ayıklayıcıyı kullanın: Java ve yerel kodda hata ayıklamak için Java ve yerel kodunuzda hata ayıklamak için <br class="ph-1-1-10 ile JavaScript. ile.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 sürümlere geçtikten sonra yerel hata ayıklayıcıyı ilk kez kullanırken yerel hata ayıklayıcı, Android cihazdan kitaplık 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ı" mesajıyla yerel hata ayıklayıcı kilitleniyor.

Bu hata, Linux tabanlı platformlarda yerel hata ayıklayıcıyı başlatırken ortaya çıkar. 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 zaten yazdırılmış olabilir. Öyle değilse 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ı yürütebilirsiniz. Yakın zamanda kullanılan bazı Linux dağıtımları zaten ncurses6 sürümüne yükseltildiğinden eksik kitaplık genellikle ncurses5 şeklindedir.

Profil düzenleyiciler

Bu bölümde, Profilers'la 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 Profiler'da "Kayıt duramadı" 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ı, örneklenen yöntemlere kıyasla izleme yöntemlerinden daha fazla ve kısa kayıtlara kıyasla uzun kayıtları 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 faydalı olabilir.

Profiler'da zaman aşımı sorunları yaşıyorsanız lütfen cihazlarınızın marka/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 kullanıcıları düzgün çalışmayabilir. Bu nedenle, Yardım > Günlüğü Göster'i seçtiğinizde idea.log dosyasında "AdbCommandReddedilenException" veya "Bağlantı noktası bağlanamadı" ifadesini görebilirsiniz. Platform Tools'u 29.0.4 veya sonraki bir sürüme yükseltmek her iki sorunu da düzeltir.

Platform Araçları'nı yükseltmek için aşağıdakileri yapın:

  1. Android Studio'da Araçlar > SDK Yöneticisi'ni veya araç çubuğunda SDK Yöneticisi'ni tıklayarak SDK Manager'ı açın.
  2. Android SDK Platform Araçları'nın yanındaki onay kutusunu işaretleyerek bir onay işareti görüntülenmesini sağlayın. Sol sütunda bir indirme simgesi görünecektir.
  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ıştırılır ve Derleme Çıkışı sekmesi görüntülenir ancak yazdırılmış bir çıkış yoktur (sorun numarası 204791544).

Yükleme siparişi başlatmayı engelliyor

Android Studio'nun eski bir sürümden önce yeni bir sürümünü yüklemek, eski sürümün başlatılmasını engelleyebilir. Örneğin, önce Android Studio'nun canary sürümünü yükler, ardından kararlı sürümü yükleyip çalıştırmayı denerseniz kararlı sürüm başlatılmayabilir. Bu gibi durumlarda kararlı (eski) sürümün başlatılması 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, Oluşturma işleviyle çalışmıyor

Espresso Test Kaydedici, Compose'u içeren projelerde çalışmaz. Compose'u içeren projeler için kullanıcı arayüzü testleri oluşturmak istiyorsanız Oluşturma 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 Logcat klavye kısayolu, düzenle çakışabilir ve Android Studio'da metin düzenlerken belirli karakterleri yazmanıza engel olabilir. 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şleme listesinde Logcat öğesini arayın. Daha fazla bilgi için sorun #263475910'a bakın.

Bu sorun, Android Studio Elektrikli 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ündeki bilinen sorunlar açıklanmaktadır.

Dinamik özellik kitaplığı bağımlılıklarının hepsi için hata analizi yapılmamış

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

Satır başı karakteri ile adlandırılmış imzalama dosyası

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

Derleme sırasında varyant çıkışlarını değiştirmek düzgün çalışmayabilir.

Varyant çıkışlarını değiştirmek için Variant API'yi kullanma yeni eklentiyle bozulur. Bu yöntemle, derleme sırasında APK adını değiştirmek gibi basit görevlerde de (aşağıda gösterildiği gibi) çalışmaya devam eder:

// 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ışmamaktadır. Bunun nedeni, artık yapılandırma aşamasında varyanta özel görevlerin oluşturulmamasıdır. Bu, eklentinin tüm çıkışlarını önceden bilmemesine neden olur ancak yapılandırma sürelerini kısaltır.

manifestÇıkışFile artık kullanılamıyor

processManifest.manifestOutputFile() yöntemi artık kullanılamıyor ve yöntemi çağırdığınızda şu hatayı alıyorsunuz:

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() çağrısı yapmak yerine, oluşturulan tüm manifestleri içeren dizinin yolunu döndürmek için processManifest.manifestOutputDirectory() yöntemini çağırabilirsiniz. Daha sonra bir manifesto bulabilir ve mantığınızı ona uygulayabilirsiniz. Aşağıdaki örnek, manifest'teki 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 sürümünde AGP 7.3.0 ile KAPT kullanımı, belirli derleme varyantları için AIDL kaynak gruplarının kaldırılmasına neden olur. main/, derleme türleri, ürün çeşitleri ve ürün aroma 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 giderildi

Bu bölümde, yakın zamanda yayınlanan 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 çıkışı: lint görevi UP-TO-DATE olduğunda, stdout ürününe yazdırılan lint metni çıkışı olmaz (sorun numarası 191897708). AGP 7.1.0-alpha05 sürümünde düzeltilmiştir.
  • Hilt eklentisini kullanan bir uygulama projesinin birim testiyle ilgili sorunlar: Birim test sınıf yolu, araçsız 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 ekleme işlemini yapacak şekilde ayarlamaz (213534628 numaralı sorun). 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ı veya hatalarıyla karşılaşabilir (sorun numarası 158777858).

Android Studio 4.2'de düzeltildi

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

Android Studio 4.1'de düzeltildi

  • IDE'nin önceki sürümünden bellek ayarlarını uygulamak için yeniden başlatma: 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 dizeleri içeren manifest sınıfı artık varsayılan olarak oluşturulmuyor: 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 INSTALL_PARSE_FAILED_NOT_APK istisnasına yol açabilir.

    Android Studio 3.6 Beta 1 ve sonraki sürümlerde IDE, bu istisnayı uygulamak için uygulamanızı LineageOS veya CyanogenMod cihazlara dağıttığınızda tam uygulama yükleme gerçekleştirerek daha uzun dağıtım sürelerine neden olabilir.

Android Studio 3.5.2'de düzeltildi

  • Bozuk XML kod stili: Menü çubuğundan Kod > Kodu Yeniden Biçimlendir seçeneğini belirlediğinizde XML kodunu düzenlerken IDE yanlış bir kod stili uyguluyordu.

Android Studio 3.3.1'de düzeltildi

  • C++ tabanlı projeler taranırken bellek yetersiz hataları: 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ği hatalarına neden olabilir.

    Bu sorunla ilgili daha fazla bilgi için sorunla ilişkili hatayı okuyun.