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 bildirin.
Ö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ü 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.
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
için debugImplementation
bağımlılık 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ırken hata
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.
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 mağazası 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 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 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 çok platformlu projelerde 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. Çakışan bu klavye kısayolları Android Studio'da beklendiği gibi çalışmayabilir.
Bu sorunla ilgili daha fazla bilgiyi (olası geçici çözümler dahil) IntelliJ'in hata takipçisinde 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ırmak.
- 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.
Donmuş klavye girişi - Linux'da "iBus" sorunları
Linux'daki iBus daemon ile Android Studio 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ında eksik senkronizasyon nedeniyle tetiklenir ve JetBrains ile iBus'a bildirilmiştir. Bu sorun için şu anda üç geçici çözüm mevcuttur:
- 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
- 2. geçici çözüm: 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 için giriş yöntemlerini devre dışı bırakır, çalıştırmakta olabileceğiniz diğer uygulamaları etkilemez. 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 segmentasyon hatasıyla kilitleyebileceğinizi unutmayın. - 3. geçici çözüm: Sonraki giriş kısayolu'nun Android Studio'daki kod tamamlama kısayolu da olduğundan, bu kısayolun Kontrol+Boşluk tuşlarına ayarlanmadığından 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 daemon'ı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 senkronizasyonundan 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 ve
/etc/ssl/certs/java/cacerts
'nin boş görünmesine yol açan bilinen bir sorun vardı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ım
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ında kaydedilen projelerde Gradle dosya izlemeyle ilgili bir sorun nedeniyle artımlı güncellemeler uygulanmıyor
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 kayıtlıysa 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, Gradle dosya izleme özelliğiyle derleme sistemi dosya değişiklikleri hakkında gerektiği gibi 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ığı sunması 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 süreci 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ü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 Uygulama
Bu bölümde, Değişiklikleri Uygula 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 gidermek için uygulamanızı yeniden dağıtmak ve değişikliklerinizi görmek üzere Çalıştır'ı tıklayın.
Android Runtime'daki sorun hata veriyor
Android 8.0 veya 8.1 yüklü bir cihaz kullanıyorsanız belirli türde değişiklikleri uygulamaya çalışırken (özellikle Kotlin kullanıyorsanız) "VERIFICATION_ERROR" mesajlarıyla karşılaşabilirsiniz. Bu mesaj, Android Runtime'ta bulunan ve Android 9.0 ve sonraki sürümlerde düzeltilen bir sorundan kaynaklanmaktadır. 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ı tekrar Çalıştırabilirsiniz . Ancak cihazı Android 9.0 veya sonraki bir sürüme yükseltmenizi öneririz.
Hata ayıklama ve test
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. Gradle'i komut satırından kullanarak test ç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 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 göz atı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örürsünüz. 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ıklama sırasında Java durma 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 simgesini 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 yükselttikten 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, Linux tabanlı platformlarda yerel hata ayıklayıcı başlatılırken ortaya çıkar. Bu hata, yerel hata ayıklayıcının ihtiyaç duyduğu kitaplıklardan birinin yerel sisteme yüklenmediğini 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. Bazı yeni Linux dağıtımları ncurses6
'a yükseltildiğinden, eksik kitaplık genellikle ncurses5
olur.
Profil oluşturucular
Bu bölümde, profilleyicilerle ilgili bilinen sorunlar açıklanmaktadır.
Yerel Bellek Profilleyici: Uygulama başlatılırken profil oluşturma kullanılamaz
Yerel Bellek Profilleyici, uygulama başlatılırken şu anda kullanılamıyor. 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 genellikle zaman aşımı hatası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ı, izlenen yöntemleri örneklenen yöntemlere göre daha fazla, uzun kayıtları ise kısa kayıtlara göre daha fazla etkiler. 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 Tools 29.0.3 kullanılırken yerel hata ayıklama ve Android Studio profilleyicileri düzgün çalışmayabilir. Ayrıca, Yardım > Günlüğü Göster'i seçtiğinizde idea.log
dosyasında "AdbCommandRejectedException" 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-Tools'un yanındaki onay kutusunu tıklayarak onay işareti görünmesini sağlayın. Sol sütunda bir indirme simgesi görünür.
- Uygula veya Tamam'ı tıklayın.
Eklenti, Derleme Çıktısı 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ü 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 Recorder, Oluştur ile çalışmaz
Espresso Test Recorder, Oluştur'u 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ızı engelleyebilir. Bu sorunu gidermek için çakışan Logcat tuş haritasını silin veya yeniden eşleyin. Android Studio'da Logcat tuş haritalarını düzenlemek için Android Studio > Ayarlar > Tuş Haritası'na gidin ve tuş haritası listesinde Logcat
simgesini 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.
Tüm dinamik özellik kitaplığı bağımlılıkları lint denetiminden geçmez
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örevler için ç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 durum, eklentinin tüm çıkışlarını önceden bilmemesine neden olur ancak yapılandırma sürelerinin de kısalmasını 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ırsınız:
A problem occurred configuring project ':myapp'. Could not get unknown property 'manifestOutputFile' for task ':myapp:processDebugManifest' of type com.android.build.gradle.tasks.ProcessManifest.
Her varyantın manifest dosyasını almak için manifestOutputFile()
işlevini çağırmanın yerine, oluşturulan tüm manifest dosyalarını içeren dizinin yolunu döndürmek için processManifest.manifestOutputDirectory()
işlevini ç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 kümelerini 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ğundastdout
'ye lint metni çıkışı yazdırılmaz (sorun #191897708). AGP 7.1.0-alpha05'te düzeltildi. - 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. Bu, Hilt'in birim testleri çalıştırırken uygulama sınıflarını bağımlılık eklemeyi işlemesi için enstrümante etmediği anlamına gelir (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.