Bu sayfada, Android Studio Ladybug ve Android Gradle eklentisi 8.7.0 ile ilgili bilinen sorunlar takip edilir. Burada belirtilmeyen bir sorunla karşılaşırsanız lütfen hata bildiriminde bulunun.
Öniz sürüme yükseltme: Android Studio ve Android Gradle eklentisinin her sürümü, kararlılığı ve performansı iyileştirmeyi ve yeni özellikler eklemeyi amaçlar. Yaklaşan sürümlerin avantajlarından hemen yararlanmak için Android Studio Önizlemesi'ni indirip yükleyin.
Android Studio ile ilgili bilinen sorunlar
Bu bölümde, Android Studio'nun en son kararlı sürümünde bulunan bilinen sorunlar açıklanmaktadır.
"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
"Değişiklikleri Uygula ve Etkinliği Yeniden Başlat" seçeneğini kullanarak API 35 cihazına kod değişiklikleri dağıttığınızda uygulama yeniden başlatılmaz ve değişikliklerin etkisini görmezsiniz. Uygulamayı yeniden çalıştırırsanız kod değişikliklerinin etkisini görürsünüz. Ekibimiz bu konuyu aktif olarak araştırıyor.
Firebase asistan penceresinde hata mesajı gösteriliyor
Firebase Asistanı penceresinde (ana menüden Araçlar > Firebase) bir hata mesajı gösteriliyorsa hatayı düzeltmek için önbellekleri geçersiz kılıp Android Studio'yu yeniden başlatın.
Düzen Denetleyici'yi kullanarak bir görünümü ayırama
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ışmalarımızı sürdürüyoruz.
Compose düğümlerinin tümü Layout Inspector ile denetlenememektedir
Düzen Denetleyici'yi kullanırken tüm Oluştur düğümlerinin incelenemediğini fark ederseniz bunun nedeni muhtemelen Oluştur 1.5.0-alpha04 sürümünde düzeltilen bir hatadır. Bu sorunla karşılaşıyorsanız Compose 1.5.0-alpha04 veya sonraki bir sürüme yükseltme yaptığınızdan emin olun.
Oluşturma önizlemesi oluşturulurken hata
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 debugImplementation
bağımlılık 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
için debugImplementation
bağımlılık 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ıyla 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 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 dosyası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 ayarlayan belirli kullanıcılar için başlatılmayabilir.
Bu sorunu gidermek için .vmoptions dosyasında özel seçenekleri ("#" karakterini kullanarak) yorumlamanız önerilir. .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ılamıyorsa aşağıdaki Yükseltme sonrası Studio başlatılamıyor bölümüne bakın.
Veritabanı İnceleyici'yi kullanan uygulamalar Android 11 emülatöründe kilitleniyor
Veritabanı İnceleyici'yi kullanan uygulamalar, Android 11 emülatöründe çalışırken kilitlenebilir ve logcat'te aşağıdaki gibi bir hata gösterilebilir:
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ü 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 düzeltmesini seçin.
Studio, yükseltme işleminden sonra başlatılmıyor
Studio, yükseltme işleminden sonra başlatılamıyorsa sorun, Android Studio'nun önceki bir sürümünden içe aktarılan geçersiz bir Android Studio yapılandırması veya uyumlu olmayan bir eklentiden kaynaklanıyor olabilir. Geçici çö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 tüm üçüncü taraf eklentileri kaldırılmış şekilde 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ü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 çok platformlu projelerinde derleme sorunu
Kotlin MPP kodunda eksik semboller nedeniyle derleme hataları oluşabilir. Kotlin eklentinizi 1.4 sürümüne yükseltmek bu sorunu çözecektir.
Linux'da tuş eşleme çakışmaları
Linux'da belirli klavye kısayolları, varsayılan Linux klavye kısayollarıyla ve 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 metinler önceki sürümlere kıyasla çok daha küçük görünebilir. Bu sorunu gidermek için aşağıdakileri yapın:
- Dosya > Ayarlar'ı tıklayarak Ayarlar penceresini açın.
- Görünüm ve Davranış > Görünüm'e gidin.
- Özel yazı tipi kullan'ı seçin.
- Yazı tipi boyutunu artırın.
- Ayarlar penceresinde Düzenleyici > Yazı tipi'ne gidin.
- Yazı tipi boyutunu artırmak.
- 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 durdurur 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:
- 1. Geçici çözüm: iBus'u senkronize moda zorlama. Android Studio'yu başlatmadan önce komut satırında aşağıdakileri ç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. Yalnızca Android Studio için iBus girişini devre dışı bırakmak istiyorsanız komut satırında aşağıdakileri çalıştırın:
Bu geçici çözüm yalnızca Android Studio'nun giriş yöntemlerini devre dışı bırakır, çalıştırmakta olabileceğiniz diğer uygulamaların giriş yöntemlerini devre dışı bırakmaz. Android Studio çalışırken daemon'u yeniden başlatırsanız (örneğin,$ XMODIFIERS= ./bin/studio.sh
ibus-daemon -rd
çalıştırarak) diğer tüm uygulamaların giriş yöntemlerini devre dışı bıraktığınızı ve Android Studio'nun JVM'sini bir segmentasyon hatasıyla kilitleyebileceğinizi unutmayın. - Geçici Çözüm 3: Sonraki giriş kısayolunun Control+Boşluk tuşu aynı zamanda Android Studio'daki kod tamamlama kısayolu olduğundan emin olmak için kısayol bağlamalarını tekrar kontrol edin. Ubuntu 14.04 (Trusty), Super+Space tuş kombinasyonunu varsayılan kısayol olarak belirler ancak önceki sürümlerdeki 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 Tercihler 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ı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.
- 1. geçici çözüm: Linux'ta
~/.profile
veya~/.bash_profile
dosyanıza şunları 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 Yöneticisi'nden gelen "eş kimliği doğrulanmadı" hataları
Bu hataların temel nedeni, $JAVA_HOME/jre/lib/certificates/cacerts
alanında eksik bir sertifikadır. 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 proxy sunucusunun sertifikasını cacerts dosyasına eklemek üzere
keytool
'ü kullanmanız gerekebilir. - Desteklenen, değiştirilmemiş bir JDK'yi 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 gidermek için komut satırında aşağıdakileri 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 18149 sorunu, Gradle 7.0 ve sonraki sürümleri gerektirdiği için Android Gradle eklentisinin 7.0 ve sonraki sürümlerini etkiler. Gradle 7.0'dan itibaren dosya izleme varsayılan olarak etkindir.
Mac OS'te çalışıyorsanız ve projeniz /System/Volumes/Data
altında kaydedilmişse Gradle dosya izleme, dosya değişikliklerini düzgün şekilde izlemez.
Bu, derleme sisteminin dosya değişikliklerini görmemesine neden olur ve bu nedenle APK'lar güncellenmez. Yerel APK durumu cihazdakiyle aynı olduğu için artımlı dağıtım kodu hiçbir şey yapmaz.
Bu sorunu gidermek için projenizin dizinini kullanıcı dizininize (yani /Users/username
altına) taşımanız gerekir. Ardından Derleme 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 Emulator HAXM
macOS High Sierra (10.13)'daki Android Emülatör'ün macOS ile en iyi uyumluluğu ve kararlılığı için HAXM 6.2.1 veya sonraki bir sürüm gerekir. Ancak macOS 10.13'te HAXM gibi çekirdek uzantılarını yükleme işlemi daha karmaşıktır. Çekirdek uzantısının yüklenmesine aşağıdaki gibi manuel olarak izin vermeniz gerekir:
- Öncelikle, SDK Yöneticisi'nden HAXM'ın en son sürümünü yüklemeyi deneyin.
- MacOS'te Sistem Tercihleri > Güvenlik ve Gizlilik'e gidin.
"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ı soruna göz atın.
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 uygulamayı denerseniz güncellenen ad yansıtılmayabilir. Bu sorunu çözmek için Çalıştır'ı tıklayarak uygulamanızı yeniden dağıtın ve değişikliklerinizi görün.
Android Runtime'daki 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 Runtime ile ilgili bir sorundan kaynaklanıyor. Bu sorun Android 9.0 ve sonraki sürümlerde düzeltilmiştir. Sorun, Değişiklikleri Uygula işleminin başarısız olmasına neden olsa da değişikliklerinizi görmek için uygulamanızı tekrar Çalıştırabilirsiniz. Ancak cihazı Android 9.0 veya sonraki bir sürüme yükseltmenizi öneririz.
Hata ayıklama ve test etme
Bu bölümde, uygulamanızın hata ayıklama ve test edilmesiyle ilgili bilinen sorunlar açıklanmaktadır.
Android Studio'dan çalıştırıldığında JUnit, sınıf yolu içinde 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 kullanarak test çalıştırabilirsiniz. Gradle check
görevini entegre geliştirme ortamından
yürütülmek de işe yarayacaktır. 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 olmasını gerektirdiği için ortaya çıkar. IntelliJ'in derleyicisi tüm kaynakları bu derleme klasörüne kopyalar ancak Gradle kaynakları kopyamaz.
- 1. geçici çözüm: Birim testi çalıştırmak yerine Gradle
check
görevini IDE'den çalıştırın. - 2. Geçici çözüm: Kaynakları derleme klasörüne manuel olarak kopyalayacak şekilde derleme komut dosyanızı güncelleyin. Daha fazla bilgi için 13. yoruma bakın.
JUnit testlerinin çalıştırılması kodu iki kez derleyebilir
Yeni bir proje oluştururken şablon JUnit yapılandırması, iki "Başlamadan önce" adımı (Make ve Gradle'ye duyarlı Make) ile oluşturulabilir. Bu yapılandırma daha sonra oluşturulan tüm JUnit çalıştırma yapılandırmalarına dağıtılır.
- Mevcut projedeki 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'den haberdar Make adımını içerecek şekilde değiştirin.
- Sorunu gelecekteki tüm projelerde düzeltmek için Dosya > Projeyi Kapat'ı tıklayın. Karşılama ekranını göreceksiniz. Ardından Yapılandır > Proje Varsayanları > Çalıştırma Yapılandırmaları'nı tıklayın ve JUnit yapılandırmasını yalnızca Gradle'den haberdar 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ı (simgesinde Gradle logosu bulunan) çalışmaz.
- JUnit çalıştırma yapılandırmaları (yeşil Android simgesi olmayan bir simgeyle gösterilir), yerel JVM'de çalıştırılamayacak enstrümantasyon testleri için geçerli değildir.
Yerel kodda hata ayıklarken Java ayrılma noktaları ekleme
Uygulamanız, yerel kodunuzdaki bir kesme noktasında duraklatıldığında otomatik ve çift hata ayıklayıcılar, belirlediğiniz yeni Java kesme 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ı soruna bakın.
Yerel hata ayıklayıcıdan çıkma
Java ve yerel kodu hata ayıklamak için Otomatik veya Çift hata ayıklayıcıyı kullanırken Java kodunuzdan yerel bir işleve adım atarsanız (örneğin, hata ayıklayıcı, Java kodunuzdaki yerel işlevi çağıran bir satırda yürütmeyi duraklatır ve Adım düğmesini tıklarsanız) ve Java kodunuza dönmek isterseniz Programı Devam ettir 'i (Dışarı Çık veya Atla yerine) tıklayın. 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üklenirken takılıyor
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 bir sorundur. Bu sorunu düzeltmek için $USER/.lldb/module-cache/
adresindeki LLDB önbelleğini silin.
Yerel hata ayıklayıcı, "Hata ayıklayıcı işlemi 127 çıkış koduyla sonlandırıldı" hatasıyla 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ı gösterir. Eksik kitaplığın adı idea.log
dosyasında basılı 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ı çalıştırabilirsiniz. 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 oluşturucular
Bu bölümde, Profilers'la ilgili bilinen sorunlar açıklanmaktadır.
Yerel Bellek Profilleyici: 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.
Çözüm olarak, başlangıç profillerini yakalamak için Perfetto bağımsız komut satırı profilleyicisini 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 Profilleyici'de "Kayıt durdurulamadı" hataları görebilirsiniz. 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 göre izlenen yöntemleri ve daha kısa kayıtlara göre daha uzun kayıtları etkileme eğilimindedir. Geçici bir çözüm olarak, hatanın kaybolup kaybolmadığını görmek için daha kısa kayıtlar deneyebilirsiniz.
Profilleyici 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 raporu gönderin.
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 Araçları'nı 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:
- Android Studio'da Araçlar > SDK Yöneticisi'ni veya araç çubuğundaki SDK Yöneticisi'ni tıklayarak SDK Yöneticisi'ni açın.
- 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ünür.
- Uygula veya Tamam'ı tıklayın.
Eklenti, Derleme Çıkışı penceresinin çalışmasını engelliyor
CMake basit vurgulayıcı eklentisi, içeriğin Derleme Çıktısı penceresinde gösterilmesini engeller. Derleme çalışır ve Derleme Çıktısı sekmesi görünür ancak hiçbir çıktı yazdırılmaz (sorun #204791544).
Yükleme sırası, uygulamanın başlatılmasını 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 kanarya sürümünü yükler ve ardından kararlı sürümü yükleyip başlatmayı 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 Recorder, Compose içeren projelerde çalışmaz. Oluştur'u içeren projeler için kullanıcı arayüzü testleri oluşturmak istiyorsanız Oluştur 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 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 263475910 numaralı soruna bakın.
Bu sorun, Android Studio Electric Eel Patch 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 bulunan 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ıldığında, dinamik özellik kitaplığı bağımlılıkları uygulama bağımlılıkları da olmadıkları sürece kontrol edilmez (sorun #191977888).
Geçici çözüm olarak, bu kitaplıklarda lint görevi çalıştırılabilir.
İmzalama dosyası satır sonu karakterleriyle adlandırılmış
JAR imzalama (v1 şeması), satır sonu karakterleri içeren dosya adlarını desteklemez (sorun #63885809).
Varyant çıkışlarını derleme sırasında değiştirmek işe yaramayabilir
Varyant çıkışlarını değiştirmek için Variant API'nin kullanılması yeni eklentide desteklenmiyor. Aşağıda gösterildiği gibi, derleme sırasında APK adını değiştirmek gibi basit görevlerde ç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" } }
Ancak outputFile
nesnelerine erişmeyi içeren daha karmaşık görevler artık çalışmıyor. Bunun nedeni, varyantlara ö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 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 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 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. Ardından bir manifest bulabilir ve mantığınızı buna uygulayabilirsiniz. Aşağıdaki örnekte, manifest'teki sürüm kodu dinamik olarak değiştirilmektedir:
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 kullanılması, belirli derleme varyantlarının AIDL kaynak kümelerinin kaldırılmasına neden olur. main/
, derleme türleri, ürün aromaları ve ürün aromalarının kombinasyonları dahil olmak üzere diğer AIDL kaynak kümelerini 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, yakın zamandaki bir 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 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 testi sınıf yolu, enstrümante edilmemiş uygulama sınıflarını içerir. Yani Hilt, birim testleri çalıştırıldığında uygulama sınıflarını bağımlılık eklemeyi işlemesi için enstrümante etmez (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, null işaretçi istisnaları veya hatalarıyla karşılaşabilir (sorun #158777858).
Android Studio 4.2'de düzeltildi
- IDE, macOS Big Sur'da donuyor: Android Studio 4.1, bir iletişim kutusunu açtığınızda donabilir.
Android Studio 4.1'de düzeltildi
- IDE'nin önceki sürümünden aktarılan 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ı atılabilir.Android Studio 3.6 Beta 1 ve sonraki sürümlerde IDE, uygulamanızı LineageOS veya CyanogenMod cihazlara dağıttığınızda tam uygulama yüklemesi gerçekleştirerek bu istisnayı ele alır. Bu işlem, dağıtım sürelerinin uzamasına neden olabilir.
Android Studio 3.5.2'de düzeltildi
- Bozuk XML kod stili: XML kodunu düzenlerken, menü çubuğundan Kod > Kodu Yeniden Biçimlendir'i seçtiğinizde IDE yanlış bir kod stili uyguladı.
Android Studio 3.3.1'de düzeltildi
C++ tabanlı projeleri tararken bellek yetersizliği 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ı, bellek yetersizliği hatalarına neden olabilir.
Bu sorun hakkında daha fazla bilgi edinmek için sorunla ilişkili hatayı okuyun.