Bu sayfada Android Studio Iguana ve Android Gradle eklentisi 8.3.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ıkla performansı iyileştirmeyi ve yeni özellikler eklemeyi amaçlar. Yakında yayınlanacak sürümlerin avantajlarını hemen denemek için Android Studio Preview'u indirip yükleyin.
Android Studio ile İlgili Bilinen Sorunlar
Bu bölümde, Android Studio'nun en son kararlı sürümünde bulunan bilinen sorunlar açıklanmaktadır.
Firebase asistan penceresinde hata mesajı gösteriliyor
Firebase Asistan Penceresi (Araçlar > Ana menüden Firebase) hata mesajı gösterirse önbellekleri geçersiz kılın ve hatayı düzeltmek için Android Studio'yu yeniden başlatın.
Oluşturma düğümlerinin tümü Layout Inspector ile denetlenemez
Layout Inspector'ı 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üzeltilen bir hatadır. Bu sorunu yaşıyorsanız Compose'un 1.5.0-alpha04 veya sonraki bir sürümüne geçtiğinizden emin olun.
Oluşturma Önizlemesi oluşturulurken hata meydana geldi
Android Studio Chipmunk'tan başlayarak sorunlar panelinde java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner
veya java.lang.ClassNotFoundException: androidx.savedstate.R$id
öğelerini görüyorsanız modülünüze debugImplementation
androidx.lifecycle:lifecycle-viewmodel-savedstate
bağımlılığı eklediğinizden emin olun.
Sorunlar panelinde java.lang.NoSuchFieldError: view_tree_lifecycle_owner
öğesini görüyorsanız modülünüze androidx.lifecycle:lifecycle-runtime
için debugImplementation
bağımlılığı eklediğinizden emin olun.
Sorunlar panelinde java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer
veya java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener
öğelerini görüyorsanız modülünüze debugImplementation
androidx.customview:customview-poolingcontainer
bağımlılığı eklediğinizden emin olun.
Anahtar ve anahtar deposu için farklı şifreler kullanılırken hata oluştu
Sürüm 4.2'den itibaren Android Studio artık JDK 11 üzerinde çalışmaktadır. Bu güncelleme, imzalama anahtarlarıyla ilgili temel davranış değişikliğine neden olur.
Derleme > İmzalanmış Paket / APK bölümüne gidip uygulama paketi veya APK için uygulama imzalamayı yapılandırmaya çalıştığınızda anahtar ve anahtar deposu için farklı şifreler girmeniz aşağıdaki hataya neden olabilir:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
Bu sorunu çözmek için hem anahtar hem de anahtar deposu için aynı şifreyi girin.
4.2 sürümü yüklendikten sonra Android Studio başlamıyor
Studio, önceki .vmoptions dosyasını içe aktarmaya ve bunları 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ılamayabilir.
Bu sorunu çözmek için .vmoptions bölümündeki özel seçenekleri "#" karakterini kullanarak açıklamanı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 denetlendikten sonra Studio hâlâ başlamıyorsa aşağıdaki Studio yeni sürüme geçirme işleminden sonra başlamıyor konusuna bakın.
Veritabanı Denetleyicisi kullanan uygulamaların Android 11 emülatöründe kilitlenmesi
Veritabanı Denetleyicisi'ni kullanan uygulamalar, Android 11 emülatöründe çalışırken logcat'te aşağıdakine benzer bir hata nedeniyle kilitlenebilir:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
Bu sorunu düzeltmek için Araçlar > SDK Yöneticisi'ne giderek Android 11 emülatörünüzü sürüm 9 veya sonraki bir sürüme yükseltin. SDK Platformları sekmesinde Paket Ayrıntılarını Göster etiketli kutuyu işaretleyin ve Android 11 emülatörünün düzeltme 9 veya sonraki bir sürümünü seçin.
Studio yeni sürüme geçişten sonra başlamıyor
Studio, yeni sürüme geçtikten sonra başlamıyorsa sorunun nedeni, Android Studio'nun önceki bir sürümünden içe aktarılan geçersiz bir Android Studio yapılandırması veya uyumsuz bir eklenti olabilir. Geçici bir çözüm olarak, Android Studio sürümüne ve işletim sistemine bağlı olarak aşağıdaki dizini silmeyi (veya yedekleme amacıyla yeniden adlandırmayı) deneyin ve Android Studio'yu yeniden başlatın. 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, Yayın Adayları ve Kararlı sürümleri için kullanılan AndroidStudio4.1
dizini yerine AndroidStudioPreview4.1
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 anahtar 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öneticileriyle ç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:
- 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ırın.
- 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'ta "iBus" sorunları
Linux ve Android Studio'da iBus arka plan programı arasında bilinen bazı etkileşimler vardır. Bazı senaryolarda IDE, klavye girişine yanıt vermeyi bırakır veya rastgele karakterler girmeye başlar. Bu hata, iBus ile XLib + AWT arasında bazı senkronizasyon eksiklikleri nedeniyle tetiklenmiştir ve yukarı akış için JetBrains ve iBus'a önceden bildirilmiştir. Bu sorun için şu anda üç geçici çözüm vardır:
- Geçici Çözüm 1: iBus'ı eşzamanlı modda kullanmaya zorlayın. Android Studio'yu başlatmadan önce komut satırında şu komutu çalıştırın:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- Geçici Çözüm 2: Android Studio'da iBus girişini devre dışı bırakın. iBus girişini yalnızca Android Studio'da devre dışı bırakmak için komut satırında aşağıdaki komutu çalıştırın:
$ XMODIFIERS= ./bin/studio.sh
Bu çözüm yalnızca Android Studio için giriş yöntemlerini devre dışı bırakır, çalıştırdığınız diğer uygulamaları devre dışı bırakır. Android Studio çalışırken arka plan programını yeniden başlatırsanız (örneğin,ibus-daemon -rd
çalışarak) diğer tüm uygulamalar için giriş yöntemlerini etkili bir şekilde devre dışı bırakır ve Android Studio'nun JVM'sini bir segmentasyon hatasıyla kilitleyebilirsiniz. - Geçici Çözüm 3: Aynı zamanda Android Studio'daki kod tamamlama kısayolu olduğundan Sonraki giriş kısayolu'nun Control+Space'e ayarlanmadığından emin olmak için kısayol bağlantılarını tekrar kontrol edin. Ubuntu 14.04 (Trusty),
Super+Space'i varsayılan kısayol haline getirir ancak önceki sürümlerin ayarları kullanılmaya devam edebilir. Kısayol bağlamalarınızı kontrol etmek için komut satırında
ibus-setup
komutunu çalıştırarak IBus Tercihleri penceresini açın. Klavye Kısayolları altında Sonraki giriş yöntemi'ni işaretleyin. Control+Boşluk tuşu olarak ayarlandıysa, 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 senkronizasyonu ile ilgili bilinen sorunlar açıklanmaktadır.
Gradle Senkronizasyonu Başarısız Oldu: Bozuk Boru
Sorun, Gradle arka plan programının IPv6 yerine IPv4 kullanmaya çalışmasıdır.
- Geçici Çözüm 1: Linux'ta,
~/.profile
veya~/.bash_profile
bölümüne aşağıdaki kodu yerleştirin:export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
- Geçici çözüm 2: Android Studio'nun vmoptions dosyasında
-Djava.net.preferIPv4Addresses=true
satırını-Djava.net.preferIPv6Addresses=true
olarak değiştirin. Daha fazla bilgi için Ağ İletişimi IPv6 Kullanıcı Rehberi'ne bakın.
Gradle senkronizasyonu veya SDK Manager'daki "eş kimliği doğrulanmamış" hataları
Bu hataların temel nedeni $JAVA_HOME/jre/lib/certificates/cacerts
projesinde sertifika eksikliğidir. 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
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 da boş
/etc/ssl/certs/java/cacerts
ile sonuçlanır. Bu sorunu çözmek için komut satırında aşağıdaki komutu çalıştırın:sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
Dağıtılıyor
Bu bölümde, uygulamanızın bağlı bir cihaza dağıtımıyla ilgili bilinen sorunlar açıklanmaktadır.
[Yalnızca Mac OS] /System/Volumes/Data
altına kaydedilen projelerde Gradle dosyası izlemeyle ilgili bir sorun nedeniyle ek güncellemeler uygulanmaz
Gradle sorunu 18149, Gradle'ın 7.0 ve sonraki sürümlerini gerektirdiği için Android Gradle Eklentisi'nin 7.0 ve sonraki sürümlerini etkiler. Dosya izleme, Gradle 7.0 sürümünden itibaren varsayılan olarak etkinleştirilmiştir.
Mac OS üzerinde çalışıyorsanız ve projeniz /System/Volumes/Data
altında kayıtlıysa, Gradle dosya izleme özelliği dosya değişikliklerini düzgün şekilde izlemez.
Bu, Derleme Sisteminin dosya değişikliklerini görmemesine neden olur ve dolayısıyla APK'ları güncellemez. Yerel APK durumu cihazdakiyle aynı olduğundan artımlı dağıtım kodu hiçbir şey yapmaz.
Bu sorunu çözmek için projenizin dizinini /Users/username
altına kullanıcı dizininize taşımanız gerekir. Ardından Derleme Sistemi, Gradle dosya izleme özelliği tarafından yapılan 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 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+ sürümünü gerektirir. Ancak macOS 10.13, HAXM gibi çekirdek uzantılarını yüklemek için daha karmaşık bir sürece sahiptir. Çekirdek uzantısının aşağıdaki gibi yüklenmesine manuel olarak izin vermeniz gerekir:
- Öncelikle SDK Yöneticisi'nden HAXM'nin 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ı 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 daha sonra bu değişikliği uygulamaya çalışırsanız güncellenen ad yansıtılmayabilir. Bu sorunu çözmek için Çalıştır'ı tıklayarak uygulamanızı yeniden dağıtın ve yaptığınız değişiklikleri görün.
Android Çalışma Zamanı'nda hata mesajı 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 Android Çalışma Zamanı sorunundan kaynaklanmaktadır. Sorun, Değişiklikleri Uygulama işleminin başarısız olmasına neden olsa da uygulamanızı tekrar çalıştırarak değişikliklerinizi görebilirsiniz. Ancak, cihazı Android 9.0 veya sonraki bir sürüme geçirmenizi öneririz.
Hata ayıklama ve test
Bu bölümde, uygulamanızın hatalarını ayıklama ve test etmeyle ilgili bilinen sorunlar açıklanmaktadır.
JUnit, Android Studio'dan çalıştırıldığında sınıf yolundaki eksik kaynakları test eder
Java modüllerinizde belirli kaynak klasörleriniz varsa IDE'den test çalıştırırken bu kaynaklar bulunamaz. Testleri, Gradle kullanarak komut satırından çalıştırmak işe yarar. Gradle check
görevini IDE'den yürütmek de işe yarayacaktır. Daha fazla ayrıntı için 64887 numaralı sorunu inceleyin.
Bu sorun, sınıf yolu olarak yalnızca tek bir klasörün olmasını gerektiren IntelliJ 13 sürümünden itibaren ortaya çıkar. IntelliJ'in derleyicisi, tüm kaynakları bu derleme klasörüne kopyalar ancak Gradle, kaynakları kopyalamaz.
- Geçici Çözüm 1: Birim testi çalıştırmak yerine IDE'den Gradle
check
görevini çalıştırın. - 2. Geçici Çözüm: Kaynakları derleme klasörüne manuel olarak kopyalamak için derleme komut dosyanızı güncelleyin. Daha fazla bilgi için 13. yoruma bakın.
JUnit testleri çalıştırmak, kodu iki kez derleyebilir
Yeni bir proje oluştururken JUnit şablonu yapılandırması, iki "Lansmandan önce" adımıyla oluşturulabilir: Yapma ve Gradle'a Duyarlı Yapma. Bu yapılandırma daha sonra, oluşturulan tüm JUnit çalıştırma yapılandırmalarına uygulanır.
- Geçerli projenin sorununu düzeltmek için Çalıştır > Yapılandırmaları Düzenle'yi tıklayın ve varsayılan JUnit yapılandırmasını yalnızca Gradle-aware Make adımını içerecek şekilde değiştirin.
- Gelecekteki tüm projeler için bu sorunu düzeltmek amacıyla Dosya > Projeyi Kapat'ı tıklayın. Karşılama ekranını göreceksiniz. Ardından Configure (Yapılandır) > Project Defaults > Run Configurations'ı (Yapılandırmaları Çalıştır) tıklayın ve JUnit yapılandırmasını, yalnızca Gradle-aware Make adımını içerecek şekilde değiştirin.
Bazı test çalıştırma yapılandırmaları çalışmıyor
Test yöntemi sağ tıklandığında kullanılabilen tüm çalıştırma yapılandırmaları geçerli değildir. Özellikle, aşağıdaki yapılandırmalar geçerli değildir:
- Gradle çalıştırma yapılandırmaları (simge olarak Gradle logosu bulunan) çalışmaz.
- Yeşil Android içermeyen bir simgeye sahip JUnit çalıştırma yapılandırmaları, yerel JVM'de çalıştırılamayan araç testlerine uygulanmaz.
Yerel kodda hata ayıklarken Java kesme noktaları ekleme
Uygulamanız yerel kodunuzdaki bir ayrılma noktasında duraklatıldığında Otomatik ve Çift hata ayıklayıcıları, ayarladığınız yeni Java kesme noktalarını hemen tanımayabilir. Bu sorunu önlemek için hata ayıklama oturumu başlatmadan önce veya uygulama bir Java ayrılma noktasında duraklatılmışken Java ayrılma noktaları ekleyin. Daha fazla bilgi için 229949 numaralı sorunu inceleyin.
Yerel hata ayıklayıcısını devre dışı bırakma
Java'da ve yerel kodda hata ayıklamak için Otomatik veya İkili hata ayıklayıcısını kullanırken Java kodunuzdan yerel bir işleve adım atarsanız (örneğin, hata ayıklayıcı, Java kodunuzdaki bir yerel işlevi çağıran bir satırda yürütmeyi duraklatır ve siz Adım Adım 'ı tıklarsanız) Java kodunuza geri dönmek isterseniz Java için Devam Et'i tıklayın (Java için İleri Adımlandır yerine veya Java'yı Devam Et yerine , Programı Devam Ettir'i tıklayın.) your-module Daha fazla bilgi için 224385 numaralı sorunu inceleyin.
Kitaplıklar yüklenirken yerel hata ayıklayıcı kilitleniyor
Android Studio 4.2 ve sonraki bir sürüme geçtikten sonra yerel hata ayıklayıcıyı ilk kez kullanırken yerel hata ayıklayıcı, Android cihazdan kitaplıklar yüklerken yanıt vermeyi durdurabilir. Bu sorun, hata ayıklayıcısını 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, yerel hata ayıklayıcısı başlatılırken Linux tabanlı platformlarda ortaya çıkar. 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 önceden yazılmış 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. Son Linux dağıtımları ncurses6
sürümüne yükseltildiğinden genellikle eksik kitaplık ncurses5
şeklindedir.
Profil araçları
Bu bölümde, Profil Oluşturucularla ilgili bilinen sorunlar açıklanmaktadır.
Yerel Bellek Profil Aracı: Uygulama başlatılırken profil oluşturma kullanılamaz
Yerel Bellek Profil Aracı şu anda uygulama başlatılırken kullanılamaz. Bu seçenek gelecekteki bir sürümde kullanıma sunulacaktır.
Geçici bir çözüm olarak, başlangıç profillerini yakalamak için Perfetto bağımsız komut satırı profil aracını kullanabilirsiniz.
CPU 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 Profili Aracı'nda "Kayıt durdurulamadı" hatalarıyla karşılaşabilirsiniz. Bunlar, özellikle idea.log
dosyasında aşağıdaki hata mesajını görüyorsanız genellikle zaman aşımı hatalarıdır:
Wait for ART trace file timed out
Zaman aşımı hataları, izlenen yöntemleri örneklenmiş yöntemlerden daha çok, uzun kayıtları ise kısa kayıtlardan daha çok etkiler. Geçici bir çözüm olarak, hatanın ortadan kalkıp kalkmadığını görmek için daha kısa kayıtlar denemeniz yararlı olabilir.
Profiler 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 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 Profil Oluşturucular 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ı" ifadelerinden birini görebilirsiniz. Platform Araçları'nı 29.0.4 veya
daha yeni bir sürüme geçirmek iki sorunu da çözer.
Platform Araçları'nı yeni sürüme geçirmek için aşağıdakileri yapın:
- Araçlar > SDK Yöneticisi'ni tıklayarak Android Studio'da SDK Yöneticisi'ni açın veya araç çubuğundan SDK Yöneticisi'ni tıklayın.
- Android SDK Platform Araçları'nın yanındaki onay kutusunu tıklayarak onay işaretinin görünmesini sağlayın. Sol sütunda indir simgesi görünür.
- Uygula veya Tamam'ı tıklayın.
Eklenti, Derleme Çıkışı penceresinin çalışmasını engelliyor
CMake basit vurgulayıcı eklentisinin kullanılması, içeriğin Çıktı Derleme penceresinde görüntülenmesini engeller. Derleme çalışır ve Derleme Çıktısı sekmesi görünür, ancak yazdırılan bir çıkış yoktur (sorun #204791544).
Yükleme siparişi başlatmayı engelliyor
Android Studio'nun yeni bir sürümünün eski bir sürümden önce yüklenmesi, eski sürümün başlatılmasını engelleyebilir. Örneğin, önce Android Studio'nun canary sürümünü yükler ve ardından kararlı sürümü yükleyip başlatmaya çalışırsanız kararlı sürüm başlatılmayabilir. Bu gibi durumlarda, çalışmaya başlamak için kararlı (eski) sürümü edinmek üzere önbelleği temizlemeniz gerekir. macOS'te, önbelleği temizlemek için Library/ApplicationSupport/Google/AndroidStudioversion_number
dizinini silin. Windows'da önbelleği temizlemek için Disk Temizleme'yi kullanın.
Espresso Test Kaydedici, Compose ile çalışmıyor
Espresso Test Kaydedici, Oluşturma özelliğini içeren projelerle çalışmaz. Oluşturma özelliğini içeren projeler için kullanıcı arayüzü testleri oluşturmak istiyorsanız Compose 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 bir Logcat klavye kısayolu, düzenle çakışabilir ve Android Studio'da metin düzenlerken belirli karakterleri yazmanızı engelleyebilir. Bu sorunu çözmek için çakışan Logcat tuş eşlemesini silin veya yeniden eşleyin. Android Studio'da Logcat tuş eşlemelerini düzenlemek için Android Studio > Ayarlar > Tuş Eşleme'ye gidin ve tuş eşlemeleri listesinde Logcat
araması yapın. Daha fazla bilgi için 263475910 numaralı sorunu inceleyin.
Bu sorun, Android Studio Electric Eel Patch 1'deki Logcat kısayolunun kaldırılmasıyla çözülecektir.
Android Gradle Eklentisi ile ilgili bilinen sorunlar
Bu bölümde, Android Gradle eklentisinin en son kararlı sürümünde bulunan bilinen sorunlar açıklanmaktadır.
Dinamik özellik kitaplığı bağımlılıklarının tümü lint kontrolünden alınmaz
Bir uygulama modülünden checkDependencies = true
ile lint çalıştırırken, aynı zamanda uygulamaya bağımlı olmayan dinamik özellik kitaplığı bağımlılıkları kontrol edilmez (sorun #191977888).
Çözüm olarak, lint görevi bu kitaplıklarda çalıştırılabilir.
Satır başı karakterleriyle adlandırılmış imza dosyası
JAR imzalaması (v1 şeması), satır başı karakterleri içeren dosya adlarını desteklemez (sorun no. 63885809).
Derleme zamanında varyant çıkışlarını değiştirmek işe yaramayabilir
Varyant çıkışlarını değiştirmek için Variant API'nin kullanılması, yeni eklentiyle çalışmamaktadır. Bu araç, aşağıda gösterildiği gibi, derleme süresi sırasında APK adını değiştirmek gibi basit görevler için de kullanılabilir:
// If you use each() to iterate through the variant objects, // you need to start using all(). That's because each() iterates // through only the objects that already exist during configuration time— // but those object don't exist at configuration time with the new model. // However, all() adapts to the new model by picking up object as they are // added during execution. android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" } }
Bununla birlikte, outputFile
nesnelerine erişimi içeren daha karmaşık görevler artık işe yaramaz. Bunun nedeni, varyanta ö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 aynı zamanda yapılandırma süreleri de daha hızlıdır.
manifestExitFile artık kullanılamıyor
processManifest.manifestOutputFile()
yöntemi artık kullanılamıyor. 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 için manifest dosyasını almak üzere manifestOutputFile()
yöntemini çağırmak yerine, oluşturulan tüm manifestleri içeren dizin yolunu döndürmek için processManifest.manifestOutputDirectory()
yöntemini çağırabilirsiniz. Sonra bir manifest yerini bulup mantığınızı ona uygulayabilirsiniz. Aşağıdaki örnek, manifest dosyasındaki sürüm kodunu dinamik olarak değiştirir:
android.applicationVariants.all { variant -> variant.outputs.all { output -> output.processManifest.doLast { // Stores the path to the maifest. String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml" // Stores the contents of the manifest. def manifestContent = file(manifestPath).getText() // Changes the version code in the stored text. manifestContent = manifestContent.replace('android:versionCode="1"', String.format('android:versionCode="%s"', generatedCode)) // Overwrites the manifest with the new text. file(manifestPath).write(manifestContent) } } }
AGP 7.3.0 AIDL desteği ve Kotlin 1.7.x ile ilgili sorunlar
Kotlin 1.7.x'te AGP 7.3.0'ın KAPT ile kullanılması, belirli derleme varyantları için AIDL kaynak kümelerinin kaldırılmasına neden olur. main/
, yapı türleri, ürün çeşitleri ve ürün aromalarının 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 düzeltildi
Bu bölümde, son bir sürümde düzeltilen bilinen sorunlar açıklanmaktadır. Bu sorunlardan 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
için yazdırılan lint metin çıkışı yok (sorun no. 191897708). AGP 7.1.0-alpha05'te düzeltilmiştir. - Hilt eklentisini kullanan bir uygulama projesinde birim testiyle ilgili sorunlar: Birim testi sınıf yolu, araç içermeyen 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 yerleştirmeyi ele alacak şekilde ayarlamaz (213534628). AGP 7.1.1'de düzeltilmiştir.
Android Studio 2020.3.1 sürümünde düzeltildi
- Kotlin projelerinde hata analizi 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 sürümünde düzeltilmiştir
- IDE, macOS Big Sur'da donuyor: Bir iletişim kutusu açtığınızda Android Studio 4.1 donabilir.
Android Studio 4.1'de düzeltildi
- Önceki IDE sürümündeki bellek ayarlarını uygulamayı yeniden başlat: 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şturulmamaktadır: Sınıfı oluşturmak istiyorsanız
android.generateManifestClass = true
değerini ayarlayın.
Android Studio 3.6 sürümünde düzeltilmiştir
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, uygulamanızı LineageOS veya CyanogenMod cihazlarına dağıttığınızda tam uygulama yükleme işlemi gerçekleştirerek bu istisnayı yönetir. Bu durum, dağıtım sürelerinin uzamasına neden olabilir.
Android Studio 3.5.2 sürümünde düzeltilmiştir
- 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 uygular.
Android Studio 3.3.1 sürümünde düzeltildi
C++ tabanlı projeleri tararken bellek hataları bitti: Gradle, aynı sürücüde birden fazla konumda C++ koduna sahip bir projeyi taradığında, tarama ilk ortak dizinin altındaki tüm dizinleri içerir. Çok sayıda dizinin ve dosyanın taranması, bellek hatalarının olmamasına neden olabilir.
Bu sorun hakkında daha fazla bilgi için sorunla ilişkili hata bölümünü okuyun.