Android Studio ve Android Gradle Eklentisi ile ilgili bilinen sorunlar

Bu sayfada, Android Studio ve Android Gradle eklentisiyle ilgili bilinen sorunlar takip edilir. Burada yer almayan bir sorunla karşılaşırsanız lütfen hata bildirin.

Önizleme sürümüne yükseltin: Android Studio ve Android Gradle eklentisinin her sürümü, kararlılığı ve performansı iyileştirmeyi ve yeni özellikler eklemeyi amaçlar. Gelecek sürümlerin avantajlarından şimdiden yararlanmak için Android Studio Preview'u indirip yükleyin.

Android Studio ile ilgili bilinen sorunlar

Bu bölümde, Android Studio'daki bilinen sorunlar açıklanmaktadır.

Android Studio Panda 3, IntelliJ Develocity eklentisi 1.2.0 ile uyumlu değil

Android Studio Panda 3 Canary 1'den itibaren Develocity IDE eklentisi 1.2.0 sürümü kullanılırken çalıştırma işlemi aşağıdaki hatayla başarısız oluyor (sorun #492439205):

Found interface com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvoker$Request, but class was expected

Develocity geliştiricileri yeni sürüm için bir düzeltme üzerinde çalışıyor.

Geçici çözüm: Develocity IDE eklentisi 1.2.0 sürümünü devre dışı bırakmak, bu uyumsuzluk eklentinin yeni bir sürümünde düzeltilene kadar sorunu çözer.

Kotlin 2.0: Lambdalar, Layout Inspector'da çözümlenemiyor

Kotlin 2.0 kullanılırken lambdalar çözümlenemez ve Layout Inspector, lambdanın kaynak koduna her zamanki gibi gidemez.

Geçici çözüm: Bu sorun düzeltilene kadar geçici çözüm olarak aşağıdaki derleyici seçeneğini ekleyin:

kotlin {
  compilerOptions {
    freeCompilerArgs.add("-Xlambdas=class")
  }
}

"Başlatmadan önce" Gradle uyumlu Make olmadan yapılandırmayı çalıştırmak dağıtım hatasına neden olur

Android Studio Ladybug Feature Drop Canary 9'da, bu sürümle açılan projelerden çalıştırma yapılandırması bilgilerini kaldıran bir sorun vardı. Projenizi bu sürümle açtıysanız ve uygulamanızı çalıştırdığınızda "derleme yapıları yükleniyor" hatası alıyorsanız etkin çalıştırma yapılandırmasının "Başlatmadan önce" bölümünde "Gradle uyumlu derleme" adımının bulunduğundan emin olun. Bunu doğrulamak için Run/Debug Configurations > Edit Configurations'ı (Çalıştırma/Hata Ayıklama Yapılandırmaları > Yapılandırmaları Düzenle) tıklayın, etkin çalıştırma yapılandırmasını tıklayın ve "Before launch" (Başlatmadan önce) bölümünde "Gradle-aware Make" (Gradle uyumlu derleme) adımı olduğunu onaylayın. Bazı çalıştırma yapılandırmaları kasıtlı olarak "Gradle uyumlu derleme" adımı olmadan ayarlanmış olabileceğinden Android Studio bu sorunu otomatik olarak düzeltemez.

"Değişiklikleri Uygula ve Etkinliği Yeniden Başlat" seçeneği, API düzeyi 35 cihazlarda veya emülatörlerde etkinliği yeniden başlatmıyor

Kod değişikliklerini "Değişiklikleri Uygula ve Etkinliği Yeniden Başlat" seçeneğiyle API 35 cihazına dağıttığınızda uygulama yeniden başlatılmaz ve değişikliklerin etkisini göremezsiniz. Uygulamayı yeniden çalıştırdığınızda kod değişikliklerinin etkisini görürsünüz. Ekibimiz bu sorunu aktif olarak araştırmaktadır.

Firebase asistanı penceresinde hata mesajı gösteriliyor

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

Layout Inspector kullanılarak bir görünüm izole edilemiyor

Yerleşik Layout Inspector'ı kullanarak bir görünümü izole etme özelliği geçici olarak kullanılamıyor. Bu sorunu gelecekteki bir sürümde düzeltmek için çalışmalarımızı sürdürüyoruz.

Oluşturma düğümlerinin tümü Layout Inspector kullanılarak incelenemez.

Layout Inspector'ı kullanırken tüm Compose düğümlerinin incelenemediğini fark ederseniz bu durum, Compose 1.5.0-alpha04 sürümünde düzeltilen bir hatadan kaynaklanıyor olabilir. Bu sorunu yaşıyorsanız Compose'un 1.5.0-alpha04 veya daha yeni bir sürümüne yükselttiğinizden emin olun.

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

Android Studio Chipmunk'tan itibaren, sorunlar panelinde java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner veya java.lang.ClassNotFoundException: androidx.savedstate.R$id görüyorsanız modülünüze androidx.lifecycle:lifecycle-viewmodel-savedstate için bir 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 için bir 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 için bir debugImplementation bağımlılığı eklediğinizden emin olun.

Anahtar ve anahtar deposu için farklı şifreler kullanıldığında hata oluşuyor

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

Build > Generate Signed Bundle / APK (Derle > İmzalı Paket/APK Oluştur) bölümüne 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 girerseniz aşağıdaki hatayla karşılaşabilirsiniz:

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

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

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

Studio, önceki .vmoptions dosyalarını içe aktarmaya ve 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 belirleyen bazı kullanıcılar için başlatılamayabilir.

Bu sorunu çözmek için .vmoptions dosyasındaki özel seçenekleri açıklama satırı yapmanızı ("#" karakterini kullanarak) ö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şlatılmıyorsa aşağıdaki Studio, yükseltme işleminden sonra başlatılmıyor bölümüne bakın.

Database Inspector'ı kullanan uygulamalar Android 11 emülatöründe kilitleniyor

Database Inspector'ı kullanan uygulamalar, Android 11 emülatöründe çalışırken kilitlenebilir ve logcat'te aşağıdaki gibi bir hata görünebilir:

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

Bu sorunu düzeltmek için Araçlar > SDK Manager'a giderek Android 11 emülatörünüzü 9 veya sonraki bir sürüme yükseltin. SDK Platforms (SDK Platformları) sekmesinde Show Package Details (Paket Ayrıntılarını Göster) etiketli kutuyu işaretleyin ve Android 11 emülatörünün 9 veya daha yeni bir düzeltmesini seçin.

Yükseltme işleminden sonra Studio başlatılmıyor

Studio, yükseltme işleminden sonra başlatılmazsa sorun, Android Studio'nun önceki bir sürümünden içe aktarılan geçersiz bir Android Studio yapılandırmasından veya uyumsuz bir eklentiden kaynaklanıyor 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ümlerinin 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ümler için kullanılan AndroidStudio4.1 dizini yerine AndroidStudioPreview4.1 dizinini 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 tuş 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ö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 bilgiye (olası geçici çözümler dahil) IntelliJ'nin hata izleyicisinden ulaşabilirsiniz.

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

ChromeOS'te metinler önceki sürümlere göre çok daha küçük görünebilir. Bu sorunu geçici olarak çözmek için aşağıdakileri yapın:

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

Kod düzenleme

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

Klavye girişinin donması: Linux'ta "iBus" sorunları

Linux'taki iBus daemon ile Android Studio arasında bilinen bazı etkileşimler vardır. Bazı durumlarda IDE, klavye girişine yanıt vermeyi durdurur veya rastgele karakterler girmeye başlar. Bu hata, iBus ile XLib + AWT arasındaki bazı eksik senkronizasyonlardan kaynaklanır ve JetBrains ile iBus'a bildirilmiştir. Bu sorun için şu anda üç geçici çözüm vardır:

  • 1. Geçici Çözüm: iBus'u eşzamanlı moda 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
  • 2. çözüm: Android Studio'da iBus girişini devre dışı bırakın. iBus girişini yalnızca Android Studio için devre dışı bırakmak istiyorsanız komut satırında aşağıdaki komutu çalıştırın:
    $ XMODIFIERS= ./bin/studio
    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ı etkilemez. Android Studio çalışırken arka plan programını yeniden başlatırsanız (örneğin, ibus-daemon -rd komutunu çalıştırarak) diğer tüm uygulamaların giriş yöntemlerini devre dışı bırakmış olursunuz ve Android Studio'nun JVM'si segmentasyon hatasıyla kilitlenebilir.
  • 3. geçici çözüm: Sonraki giriş kısayolu'nun Control+Boşluk olarak ayarlanmadığından emin olmak için kısayol bağlamalarını tekrar kontrol edin. Bu kısayol, Android Studio'da kod tamamlama kısayolu olarak da kullanılır. Ubuntu 14.04 (Trusty) varsayılan kısayol olarak Super+Boşluk tuşunu kullanır ancak önceki sürümlerden kalan ayarlar hâlâ geçerli 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 olarak ayarlanmışsa Super+Boşluk veya istediğiniz başka bir kısayolla 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 Veri Yolu

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

  • 1. Geçici Çözüm: Linux'ta, ~/.profile veya ~/.bash_profile dosyanıza aşağıdakileri ekleyin:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • 2. Geçici çözüm: 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ğ IPv6 Kullanıcı Kılavuzu'na bakın.

Gradle senkronizasyonu veya SDK Manager'dan "eş kimliği doğrulanmadı" hataları

Bu hataların temel nedeni, $JAVA_HOME/jre/lib/certificates/cacerts uygulamasında eksik bir sertifika olmasıdı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 ve boş bir /etc/ssl/certs/java/cacerts ile sonuçlanan bilinen bir sorun vardır. Bu sorunu gidermek için komut satırında aşağıdakileri çalıştırın:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

Dağıtma

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 dosya izleme ile ilgili bir sorun nedeniyle artımlı güncellemeler uygulanmıyor

Gradle sorunu 18149, Gradle 7.0 ve sonraki sürümleri gerektirdiği için Android Gradle eklentisi 7.0 ve sonraki sürümleri etkiler. Gradle 7.0'dan itibaren dosya izleme varsayılan olarak etkindir. Mac OS'te çalışıyorsanız ve projeniz /System/Volumes/Data dizinine kaydedildiyse Gradle dosya izleme özelliği, dosya değişikliklerini düzgün şekilde izlemez. Bu durum, derleme sisteminin dosya değişikliklerini görmemesine ve dolayısıyla APK'ları güncellememesine neden olur. Yerel APK durumu cihazdakiyle aynı olduğundan, artımlı dağıtım kodu hiçbir şey yapmaz.

Bu sorunu gidermek için projenizin dizinini kullanıcı dizininize (/Users/username altına) taşımanız gerekir. Ardından, derleme sistemi, Gradle dosya izleme tarafından 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 Emulator HAXM

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

  1. İlk olarak, SDK Manager'dan HAXM'nin en yeni sürümünü yüklemeyi deneyin.
  2. MacOS'te Sistem Tercihleri > Güvenlik ve Gizlilik'e gidin.
  3. "Intel Corporation Apps" geliştiricisinin sistem yazılımının yüklenmesi engellendi uyarısını 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ı soruna göz atın.

Değişiklikleri Uygula

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 bu değişikliği uygulamaya çalışırsanız güncellenen ad yansıtılmayabilir. Bu sorunu gidermek için Çalıştır'ı tıklayarak Run simgesi 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 türde değişiklikleri uygulamaya çalışırken "VERIFICATION_ERROR" mesajlarıyla karşılaşabilirsiniz (özellikle Kotlin kullanıyorsanız). Bu mesaj, Android 9.0 ve sonraki sürümlerde düzeltilen Android Çalışma Zamanı ile ilgili bir sorundan kaynaklanır. Bu sorun, Değişiklikleri Uygula özelliğinin başarısız olmasına neden olsa da değişikliklerinizi görmek için uygulamanızı tekrar çalıştırabilirsiniz.Run simgesi Ancak cihazı Android 9.0 veya daha yeni bir sürüme yükseltmenizi öneririz.

Hata ayıklama ve test etme

Bu bölümde, uygulamanızda hata ayıklama ve test etme ile ilgili bilinen sorunlar açıklanmaktadır.

Android Studio'dan çalıştırılan JUnit testlerinde sınıf yolunda kaynaklar eksik

Java modüllerinizde belirli kaynak klasörleriniz varsa IDE'den test çalıştırılırken bu kaynaklar bulunamaz. Testleri komut satırından Gradle kullanarak çalıştırabilirsiniz. Gradle check görevini IDE'den yürütmek de işe yarar. Daha fazla bilgi için 64887 numaralı soruna bakın.

Bu sorun, IntelliJ 13'ten itibaren sınıf yolu olarak yalnızca tek bir klasörünüzün olmasını gerektirmesinden kaynaklanır. IntelliJ'nin derleyicisi tüm kaynakları bu derleme klasörüne kopyalar ancak Gradle, kaynakları kopyalamaz.

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

JUnit testleri çalıştırıldığında kod iki kez derlenebilir

Yeni bir proje oluştururken JUnit şablon yapılandırması, iki "Başlatmadan önce" adımıyla oluşturulabilir: Make ve Gradle uyumlu Make. Bu yapılandırma daha sonra oluşturulan tüm JUnit çalıştırma yapılandırmalarına uygulanır.

  • Mevcut projedeki sorunu düzeltmek için Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) tıklayın ve varsayılan JUnit yapılandırmasını yalnızca Gradle uyumlu Make adımını içerecek şekilde değiştirin.
  • Sorunu gelecekteki tüm projeler için düzeltmek istiyorsanız Dosya > Projeyi Kapat'ı tıklayın. Karşılama ekranını görürsünüz. Ardından Configure > Project Defaults > Run Configurations'ı (Yapılandır > Proje Varsayılanları > Yapılandırmaları Çalıştır) tıklayın ve JUnit yapılandırmasını yalnızca Gradle uyumlu Make 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 bulunur) çalışmaz.
  • JUnit çalıştırma yapılandırmaları (yeşil Android simgesi olmayan bir simgeye sahiptir), yerel JVM'de çalıştırılamayan enstrümantasyon testleri için geçerli değildir.
Android Studio, belirli bir bağlamda (örneğin, belirli bir sınıfı veya yöntemi sağ tıklayarak) oluşturulan çalıştırma yapılandırmasını da hatırlar ve gelecekte farklı bir yapılandırmada çalıştırmayı önermez. Bu sorunu düzeltmek için Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) 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ılmışken Otomatik ve Çift hata ayıklayıcılar, ayarladığınız yeni Java kesme noktalarını hemen tanımayabilir. Bu sorunu önlemek için Java kesme noktalarını hata ayıklama oturumu başlatmadan önce veya uygulama bir Java kesme noktasında duraklatılmışken ekleyin. Daha fazla bilgi için 229949 numaralı soruna bakın.

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

Java ve yerel kodda hata ayıklamak için Otomatik veya Çift hata ayıklayıcıyı kullanırken Java kodunuzdan yerel bir işleve geçerseniz (örneğin, hata ayıklayıcı, Java kodunuzda yerel bir işlevi çağıran bir satırda yürütmeyi duraklatır ve İçine Atla'yı tıklarsanız) ve Java kodunuza dönmek isterseniz Programı Devam Ettir'i tıklayın (Dışına Atla veya Üzerinden Atla yerine). Uygulama işleminiz duraklatılmış olarak kalır. Bu nedenle, devam ettirmek için your-module-java sekmesinde Programı Devam Ettir'i tıklayın. Daha fazla bilgi için 224385 numaralı soruna bakın.

Yerel hata ayıklayıcı, kitaplıkları yüklerken kilitleniyor

Android Studio 4.2 ve sonraki sürümlere yükselttikten 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ıyı durdurup yeniden başlatsanız bile devam eden kalıcı bir sorundur. Bu sorunu düzeltmek için $USER/.lldb/module-cache/ konumundaki LLDB önbelleğini silin.

Yerel hata ayıklayıcı, "Hata ayıklayıcı işlemi 127 çıkış koduyla tamamlandı" hatasıyla kilitleniyor

Bu hata, yerel hata ayıklayıcı başlatılırken Linux tabanlı platformlarda oluşur. 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 zaten yazılı 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. Bazı yeni Linux dağıtımları ncurses6 sürümüne yükseltildiğinden eksik kitaplık genellikle ncurses5 olur.

Profil araçları

Bu bölümde, Profiler'larla ilgili bilinen sorunlar açıklanmaktadır.

Memory Profiler: Uygulama başlatılırken profil oluşturma kullanılamıyor

Yerel Bellek Profil Aracı şu anda uygulama başlatma sırasında kullanılamıyor. Bu seçenek, gelecekteki bir sürümde kullanıma sunulacaktır.

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

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

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

Wait for ART trace file timed out

Zaman aşımı hataları, örneklenen yöntemlerden ziyade izlenen yöntemleri ve kısa kayıtlardan ziyade uzun kayıtları etkiler. Geçici bir çözüm olarak, hatanın kaybolup kaybolmadığını görmek için daha kısa kayıtlar denemek faydalı olabilir.

Profiler ile 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ırken yerel hata ayıklama ve Android Studio Profiler'lar 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ı" hatasını görebilirsiniz. Platform Araçları'nı 29.0.4 veya sonraki bir sürüme yükseltmek her iki sorunu da çözer.

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

  1. Tools > SDK Manager'ı (Araçlar > SDK Manager) tıklayarak Android Studio'dan SDK Manager'ı açın veya araç çubuğunda SDK Manager'ı tıklayın.
  2. Android SDK Platform-Tools'un yanındaki onay kutusunu tıklayarak onay işaretinin görünmesini sağlayın. Sol sütunda bir indirme simgesi görünür.
  3. Uygula veya Tamam'ı tıklayın.

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

CMake simple highlighter eklentisinin kullanılması, içeriğin Derleme Çıkışı penceresinde görünmesini engeller. Derleme çalışır ve Derleme Çıkışı sekmesi görünür ancak yazdırılan bir çıkış olmaz (204791544 numaralı sorun).

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

Android Studio'nun daha yeni bir sürümünü eski bir sürümden önce yüklemek, eski sürümün başlatılmasını engelleyebilir. Örneğin, önce Android Studio'nun Canary sürümünü yükleyip ardından kararlı sürümü yükleyip başlatmaya çalışırsanız kararlı sürüm başlatılamayabilir. 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 Recorder, Compose ile çalışmaz.

Espresso Test Recorder, Compose içeren projelerde çalışmaz. Oluşturma içeren projeler için kullanıcı arayüzü testleri oluşturmak istiyorsanız Oluşturma düzeninizi test etme başlıklı makaleyi inceleyin.

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 gidermek 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 ifadesini arayın. Daha fazla bilgi için 263475910 numaralı soruna bakın.

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

Android Gradle eklentisiyle ilgili bilinen sorunlar

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

Tüm dinamik özellik kitaplığı bağımlılıkları hata analizi denetiminden geçirilmez

Bir uygulama modülünden checkDependencies = true ile hata analizi çalıştırıldığında, dinamik özellik kitaplığı bağımlılıkları uygulama bağımlılıkları da olmadıkları sürece kontrol edilmez (191977888 numaralı sorun). Geçici çözüm olarak, hata analizi görevi bu kitaplıklarda çalıştırılabilir.

Satır başı karakterleri içeren imzalama dosyası

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

Derleme sırasında varyant çıkışlarını değiştirme işlemi çalışmayabilir.

Varyant çıkışlarını değiştirmek için Variant API'nin kullanılması yeni eklentiyle birlikte bozuldu. Aşağıda gösterildiği gibi, derleme sırasında APK adını değiştirme gibi basit görevler için hâlâ 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"
    }
}

Ancak outputFile nesnelerine erişmeyi gerektiren daha karmaşık görevler artık çalışmaz. Bunun nedeni, yapılandırma aşamasında varyanta özgü görevlerin artık oluşturulmamasıdır. Bu durum, eklentinin tüm çıkışlarını önceden bilmemesine neden olur ancak yapılandırma sürelerinin daha kısa olmasını da sağlar.

manifestOutputFile artık kullanılamıyor

processManifest.manifestOutputFile() yöntemi artık kullanılamıyor ve bu yöntemi çağırdığınızda aşağıdaki 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 varyantın manifesto dosyasını almak için manifestOutputFile() yöntemini çağırmak yerine, oluşturulan tüm manifestoları içeren dizinin yolunu döndürmek için processManifest.manifestOutputDirectory() yöntemini çağırabilirsiniz. Ardından bir manifest dosyası bulup mantığınızı buna 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 KAPT ile AGP 7.3.0'un kullanılması, belirli derleme varyantları için AIDL kaynak gruplarının kaldırılmasına neden olur. main/, derleme türleri, ürün türleri ve ürün türü 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 düzeltildi

Bu bölümde, son sürümde düzeltilen 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 Rabbit 1 Canary 5'te düzeltildi

  • Paralel Gradle senkronizasyonu yürütme: Android Studio Quail 1'de, gradle.properties içindeki org.gradle.parallel=true özelliği, Gradle 9.4 veya sonraki sürümleri kullanırken Gradle senkronizasyonu sırasında paralel model getirmeyi artık etkinleştirmez. Bu durum, büyük projelerde senkronizasyon süresinde gerilemeye neden oldu. Yeni kullanıma sunulan org.gradle.tooling.parallel özelliği, paralel model getirmeyi etkinleştirir ancak IDEA'nın model oluşturucuları için etkinleştirmez. Bu kısıtlama kaldırıldı.

Android Studio 2021.1.1'de düzeltildi

  • Hata analizi çıkışı eksik: Hata analizi görevi UP-TO-DATE olduğunda stdout'ye hata analizi metin çıkışı yazdırılmıyor (191897708 numaralı sorun). AGP 7.1.0-alpha05'te düzeltildi.
  • Hilt eklentisini kullanan bir uygulama projesinde birim testiyle ilgili sorunlar: Birim testi sınıf yolu, enstrümantasyonu olmayan uygulama sınıflarını içerir. Bu nedenle, birim testleri çalıştırılırken Hilt, bağımlılık eklemeyi işlemek için uygulama sınıflarına enstrümantasyon uygulayamaz (sorun #213534628). AGP 7.1.1'de düzeltildi.

Android Studio 2020.3.1'de düzeltildi

  • Kotlin projelerinde Lint istisnaları: checkDependencies = true ayarını yapan Kotlin projelerinde boş işaretçi istisnaları veya hataları görülebilir (158777858 numaralı sorun).

Android Studio 4.2'de düzeltildi

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

Android Studio 4.1'de düzeltildi

  • IDE'nin önceki 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ş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ı oluşturabilir.

    Android Studio 3.6 Beta 1 ve sonraki sürümlerde IDE, uygulamanızı LineageOS veya CyanogenMod cihazlara dağıtırken tam uygulama yüklemesi gerçekleştirerek bu istisnayı işler. 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ı projeler taranırken yetersiz bellek hataları: Gradle, aynı sürücüde birden fazla konumda C++ kodu bulunan bir projeyi tararken tarama, ilk ortak dizinin altındaki tüm dizinleri içerir. Çok sayıda dizin ve dosyanın taranması, yetersiz bellek hatalarına yol açabilir.

    Bu sorun hakkında daha fazla bilgi için sorunla ilişkili hatayı okuyun.