Android Studio ve Android Gradle Eklentisi ile ilgili bilinen sorunlar

Bu sayfa, şununla ilgili bilinen sorunları izler: Android Studio Koala Feature Drop ve Android Gradle eklentisi 8.6.0. Dahil edilmemiş bir sorunla karşılaşırsanız Lütfen buradan 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. Gelecek sürümlerin avantajlarından hemen yararlanmak için indirip yükleyin. Android Studio Önizlemesi.

Android Studio ile İlgili Bilinen Sorunlar

Bu bölümde, Android uygulamasının en son kararlı sürümündeki bilinen sorunlar açıklanmaktadır Android Studio'ya gidin.

Firebase Asistanı penceresinde hata mesajı gösteriliyor

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

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

Yerleşik verileri kullanarak bir görünümü ayırma olanağı Düzen Denetleyicisi geçici olarak kullanılamıyor. Bu sorunu gelecekteki bir sürümde düzeltmek için çalışıyoruz.

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

Düzen Denetleyicisi, bunun nedeni bir hata olabilir . Yaşadığınız sorun Bu sorunla karşılaşmamak için Compose 1.5.0-alpha04 veya daha yüksek olabilir.

Oluşturma önizlemesi oluşturulurken hata

Android Studio Chipmunk'tan başlayarak java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner veya Sorunlar panelinde java.lang.ClassNotFoundException: androidx.savedstate.R$id her bir komut dosyasına bir debugImplementation bağımlılığı eklediğinizden emin olun Modülünüzde androidx.lifecycle:lifecycle-viewmodel-savedstate.

İçinde java.lang.NoSuchFieldError: view_tree_lifecycle_owner görüyorsanız bir debugImplementation bağımlılığı eklediğinizden emin olun. androidx.lifecycle:lifecycle-runtime ile yapmanız gerekir.

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 artık JDK 11 ile çalışmaktadır. Bu güncelleme anahtarlarla ilgili temel bir davranış değişikliğine neden olur.

Derleme > Oluştur'a gittiğinizde İmzalanmış Paket / APK ve bir uygulama paketi veya anahtar ve anahtar deposu için farklı şifreler girmek, APK'ya şu hata oluştu:

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

Bu sorunu çözmek üzere hem anahtar hem de anahtar deposuna gidin.

Android Studio, 4.2 sürümü yüklendikten sonra başlamı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 çözmek için özel seçenekleri belirtmenizi öneririz .vmoptions ("#" karakterini kullanarak). .vmoptions dosyası şu konumlarda bulundu:

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 çözümü denedikten sonra Studio yine de başlamıyorsa yeni sürüme geçtikten sonra Studio başlamıyor konusuna bakın bölümüne göz atın.

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

Veritabanı Denetleyicisi kullanan uygulamalar Android 11'de çalışırken kilitlenebilir emülatöründe aşağıdakine benzer bir hatayla karşılaşıldı:

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

Bu sorunu düzeltmek için Android 11 emülatörünüzü Araçlar > SDK Yöneticisi'ne gidin. SDK Platformları sekmesinde şu ayarları kontrol edin: Paket Ayrıntılarını Göster etiketli kutu ve .

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

Yeni sürüme geçirme işleminden sonra Studio çalışmıyorsa sorun geçersiz bir Android Studio'nun önceki bir sürümünden içe aktarılan Android Studio yapılandırması veya uyumsuz bir eklenti yükleyin. 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'in Canary ve Beta sürümleri için yapılandırma dizininin Studio, şu öğe için X.Y yerine PreviewX.Y <version>. Örneğin, Android Studio 4.1 Canary derlemeleriAndroidStudioPreview4.1 Sürüm Adayları ve Mevcut Ürün için kullanılan AndroidStudio4.1 dizini yayınlar.

Kotlin çok platformlu projelerde derleme sorunu

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

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

Linux'ta, belirli klavye kısayolları varsayılan Linux klavyesiyle çakışıyor ve KDE ve GNOME gibi popüler pencere yöneticilerinin kısayolları ile birlikte kullanılır. Çakışan bu klavye kısayolları Android Studio'da beklendiği gibi çalışmayabilir.

Olası geçici çözümler dahil olmak üzere bu sorunla ilgili daha fazla bilgiyi şurada bulabilirsiniz: (IntelliJ'in hata izleyicisi) oluşturun.

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

ChromeOS'te metin, önceki sürümlerden çok daha küçük görünebilir. İş yerine Bu sorunla ilgili olarak şunları yapın:

  1. Dosya > Ayarlar'ı tıklayarak Ayarlar penceresini açın.
  2. Görünüm ve Davranış > Görünüm'e gidin.
  3. Özel yazı tipi kullan'ı seçin.
  4. Yazı tipi boyutunu artırmak.
  5. Ayarlar penceresinde Düzenleyici > Yazı Tipi.
  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şi dondu - "iBus" Linux'ta sorunlar

Linux'daki iBus daemon ile Android Studio arasında bilinen bazı etkileşimler vardır. Bazılarında durumlarda, IDE klavye girişine yanıt vermeyi bırakır veya rastgele karakterler var. Bu hata, eksik senkronizasyon nedeniyle tetikleniyor iBus ile XLib + AWT arasında tanımlanmıştır ve yukarı akış JetBrains ve iBus. Her biri 100'den az gösterim alan şu üç geçici çözüm vardır:

  • Geçici Çözüm 1: iBus'u eşzamanlı modda kullanmaya zorlayın. Android'i başlatmadan önce Studio'da, komut satırında aşağıdaki komutu çalıştırın:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • Geçici Çözüm 2: Android Studio'da iBus girişini devre dışı bırakın. iBus girişini devre dışı bırakmak için kullanıyorsanız komut satırında aşağıdaki komutu çalıştırın:
    $ XMODIFIERS= ./bin/studio.sh
    Bu geçici çözüm yalnızca Android Studio için giriş yöntemlerini devre dışı bırakır, ve çalıştırıyor olabileceğiniz diğer tüm uygulamalar. Yeniden başlattığınızda Android Studio çalışırken arka plan programı (örneğin, ibus-daemon -rd) tüm cihazlar için giriş yöntemlerini olabilir ve ayrıca Android Studio'nun JVM'sine bir segmentasyon hatası.
  • Geçici Çözüm 3: Kısayol bağlamalarını tekrar kontrol ederek Sonraki giriş kısayolu aynı zamanda Control+Boşluk tuşu olarak ayarlanmadı kod tamamlama kısayolu ile oluşturabilirsiniz. Ubuntu 14.04 (Trusty) Süper+Boşluk tuşu varsayılan kısayol yapar, ancak öncekinden ayarlar yeni versiyonları mevcut olabilir. Kısayol bağlamalarınızı kontrol etmek için ibus-setup tuşlarına basarak IBus Preferences (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ısayol olarak değiştirin.

Proje yapılandırması

Bu bölümde proje yapılandırması ve Gradle ile ilgili bilinen sorunlar açıklanmaktadır senkronize edin.

Gradle Senkronizasyonu Başarısız: Bozuk Boru

Sorun, Gradle daemon'ın IPv6 yerine IPv4 kullanmaya çalışmasıdır.

  • Geçici Çözüm 1: Linux'ta, ~/.profile veya ~/.bash_profile:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • Geçici Çözüm 2: Android Studio'nun vmoptions dosya -Djava.net.preferIPv4Addresses=true satırını şu şekilde değiştir: -Djava.net.preferIPv6Addresses=true Daha fazla bilgi için Ağ İletişimi IPv6 Kullanıcısı Rehber.

"emsalin kimliği doğrulanmadı" Gradle senkronizasyonu veya SDK Yöneticisi'nden kaynaklanan hatalar

Bu hataların temel nedeni, $JAVA_HOME/jre/lib/certificates/cacerts Bu hataları gidermek için devam edin şu şekilde:

  • Bir proxy kullanıyorsanız doğrudan bağlanmayı deneyin. Doğrudan bağlantı çalışıyorsa proxy üzerinden bağlanmak için keytool kullanarak proxy sunucunun sertifikasını cacerts dosyasına ekleyin.
  • Desteklenen, değiştirilmemiş bir JDK'yı yeniden yükleyin. Bir bilinen sorun Ubuntu kullanıcılarını etkiliyor, bu da /etc/ssl/certs/java/cacerts. Bu sorunu çözmek için komut satırında şu şekilde görünür:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

Dağıtılıyor

Bu bölümde, uygulamanızı bağlı bir olanak tanı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 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. Artımlı dağıtım kodu yerel APK durumu cihazındakiyle aynı olduğundan hiçbir şey yok.

Bu sorunu çözmek için projenizin dizinini kullanıcınıza taşımalısınız (/Users/username altında). Build System (Derleme Sistemi) bu şekilde dosya değişiklikleri hakkında Gradle dosya izleme ve artımlılığı ile değişiklikleri başarıyla uygulanacak.

macOS High Sierra'da Android Emülatör HAXM

Android Emülatör açık macOS High Sierra (10.13) için en iyi uygulama için HAXM 6.2.1+ gerekir macOS ile uyumluluk ve kararlılık. Ancak macOS 10.13'te daha fazla HAXM gibi çekirdek uzantılarını yüklemek için bir dizi işlem gerektirir. İhtiyacınız olanlar aşağıdaki adımları uygulayarak çekirdek uzantısının yüklenmesine manuel olarak izin verin:

  1. Öncelikle, SDK Yöneticisi
  2. MacOS'te Sistem Tercihleri > Güvenlik ve Gizlilik.
  3. "Intel Corporation geliştiricisine ait sistem yazılımı" şeklinde bir uyarı görürseniz Uygulamalar" olması engellendiyse İzin ver'i tıklayın:

Daha fazla bilgi ve geçici çözümler için bkz. bu Apple web sayfasını ve sorun 62395878.

Değişiklikleri Uygulama

Bu bölümde, Uygulama süreciyle ilgili bilinen sorunlar Değişiklikler.

Yeni uygulama adı uygulanmadı

Uygulamanızı yeniden adlandırdıktan sonra bu değişikliği uygulamaya çalışırsanız güncellenen ad yansıtılmaz. Bu sorunu çözmek için Çalıştır'ı tıklayın. Çalıştır simgesi seçeneğini tıklayın.

Android Çalışma Zamanı'ndaki sorun hata veriyor

Android 8.0 veya 8.1 yüklü bir cihaz kullanıyorsanız "VERIFICATION_ERROR" belirli değişiklik türlerini uygulamaya çalışırken (özellikle Kotlin kullanıyorsanız). Bu mesaj, Android Runtime'ta bulunan ve Android 9.0 ve sonraki sürümlerde düzeltilen bir sorundan kaynaklanmaktadır. Sorun Uygulama değişikliklerinin başarısız olmasına neden oluyorsa, ÇalıştırÇalıştır simgesi uygulamanızı tekrar kontrol edin. 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, bu klasörler de IDE'den test çalıştırırken kaynaklar bulunamaz. Gradle'i komut satırından kullanarak test çalıştırabilirsiniz. Gradle check yürütülüyor IDE'deki (Entegre Geliştirme Ortamı) görevi de çalışır. Daha fazla bilgi için 64887 numaralı soruna bakın.

Bu sorun, IntelliJ 13 sürümünden itibaren ortaya çıkmaktadır. tek bir klasörü sınıf yolu olarak ayarlayın. IntelliJ oluşturucusu tüm kaynakları kopyalar içine koymaz. Ancak Gradle, kaynakları kopyalamaz.

  • 1. geçici çözüm: Birim testi çalıştırmak yerine Gradle check görevini IDE'den çalıştırın.
  • Geçici Çözüm 2: Kaynakları derleme klasöründe bulabilirsiniz. Görüntüleyin 13. yorum konulu videomuzu izleyin.

JUnit testlerini çalıştırmak, kodu iki kez derleyebilir

Yeni proje oluşturulurken JUnit yapılandırması oluşturulabilir. iki "Lansmandan önce" adımlar: Bu yapılandırma sonra oluşturulan tüm JUnit çalıştırma yapılandırmalarına yayılır.

  • Mevcut projeyle ilgili sorunu gidermek için Çalıştır > Düzenle Configurations'ı (Yapılandırmalar) tıklayın ve varsayılan JUnit yapılandırmasını yalnızca Gradle Uyumlu Yapma adımını da içerir.
  • Gelecekteki tüm projeler için sorunu düzeltmek üzere Dosya > Kapat Proje. Karşılama ekranını göreceksiniz. Ardından Yapılandır > Proje Varsayılanları > Run Configurations (Yapılandırmaları Çalıştır) ve JUnit'i değiştirin yalnızca Gradle'a Duyarlı Yapma adımını içerecek şekilde yapılandırmalısınız.

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

Tüm yapılandırmalar geçerli bir test yöntemi sağ tıklandığında kullanılabilir. Daha ayrıntılı belirtmek gerekirse, şu yapılandırmalar geçerli değildir:

  • Gradle çalıştırma yapılandırmaları (simge olarak Gradle logosu olan) iş yeri.
  • JUnit çalıştırma yapılandırmaları (yeşil Android simgesi olmadan) yerel JVM üzerinde çalıştırılamayan araç testlerine uygulanmaz.
Android Studio, belirli bir bağlam (örneğin, belirli bir sınıfı veya yöntemi sağ tıklayarak) ileride farklı bir yapılandırmada çalıştırmayı teklif eder. Bunu düzeltmek için Çalıştır > Yapılandırmaları düzenleyin ve yanlış oluşturulan yapılandırma öğelerini kaldırın yapılandırmanın üç yolu vardır.

Yerel kodda hata ayıklarken Java ayrılma noktaları ekleme

Uygulamanız yerel dosyanızdaki bir kesme noktasında duraklatılmışken Otomatik ve Çift hata ayıklayıcıları, kodu algılamadan oluşturduğunuz yeni Java ayrılma noktalarının sayısı. 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 göz atın.

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

Otomatik veya Çift hata ayıklayıcısını Şuradan yerel işleve geçerseniz Java ve yerel kodda hata ayıklayın: (örneğin, hata ayıklayıcı web sayfanızdaki bir satırda yürütmeyi duraklatır) Yerel bir işlev çağıran ve Adım Adım'ı tıkladığınız Java kodu ) ve Java kodunuza dönmek istiyorsanız Programı Devam Ettirin (Adımdan Çık veya Adım Aş yerine). Uygulama işleminiz hâlâ duraklatılmış halde olacak. Bu nedenle Devam Ettir'i tıklayın. your-module-java sekmesini tıklayın. Daha fazla bilgi için sorunu inceleyin. 224385.)

Kitaplıklar yüklenirken yerel hata ayıklayıcı kilitleniyor

Android'e geçtikten sonra yerel hata ayıklayıcıyı ilk kez kullanırken Studio 4.2 ve sonraki sürümler, yerel hata ayıklayıcı yükleme sırasında yanıt vermeyi durdurabilir kitaplıklarını da içerir. Bu sorun devam eden sabit bir problemdir hata ayıklayıcıyı durdurup yeniden başlatsanız bile gerçekleşmeyeceğini belirtir. Bu sorunu çözmek için $USER/.lldb/module-cache/ konumundaki LLDB önbelleğini silin.

"Hata ayıklayıcı işlemi, çıkış kodu 127 ile tamamlandı" mesajıyla yerel hata ayıklayıcı kilitleniyor.

Bu hata, Linux tabanlı platformlarda yerel hata ayıklayıcıyı başlatırken ortaya çıkar. Bu, yerel dilin gerekli kıldığı kitaplıklardan birinin hata ayıklayıcı, yerel sistemde yüklü değil. Kayıp kişinin adı kitaplığı zaten idea.log dosyasında yazdırılmış olabilir. Aksi takdirde, terminali aracılığıyla Android Studio yükleme dizinine gidip bin/lldb/bin/LLDBFrontend --version komut satırını kullanarak hangi kitaplıkların eksik. Genelde, yakın zamanda kullanılan bir Linux olduğu için eksik kitaplık ncurses5 şeklindedir dağıtımlar zaten ncurses6 sürümüne yükseltildi.

Profil düzenleyiciler

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çeneği gelecek bir sürümde kullanıma sunulacaktır.

Geçici bir çözüm olarak Perfetto bağımsız komut satırı profil aracını kullanabilirsiniz. yakalamanızı sağlar.

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

"Kayıt duramadı" hata mesajını görebilirsiniz Android Studio CPU'suyla ilgili hatalar Örnek Java Yöntemleri veya Java Yöntemlerini İzle'yi seçtiğinizde Profil aracı yapılandırmanın üç yolu vardır. Bunlar genellikle zaman aşımı hatalarıdır, özellikle de idea.log dosyasında şu hata mesajı gösteriliyor:

Wait for ART trace file timed out

Zaman aşımı hataları, izlenen yöntemleri örneklenen yöntemlere göre daha fazla etkiler. ve uzun kayıtlar, kısa kayıtlara göre fazladır. Geçici bir çözüm olarak, hatanın giderilip giderilmediğini görmek için daha kısa kayıtlar denemek yararlı olabilir.

Profiler'da zaman aşımı sorunları yaşıyorsanız lütfen hata bildiriminde bulunun ve cihazlarınızın marka/modelini ve belgedeki idea.log ve logcat.

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 "AdbCommand rejectedException" veya "Bağlantı noktası bağlanamadı" idea.log içinde Yardım > Günlüğü Göster'i tıklayın. 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:

  1. Android Studio'da Araçlar > SDK Manager'ı seçin veya SDK Yöneticisi'ni tıklayın. tıklayın.
  2. Android SDK'sı seçeneğinin yanındaki onay kutusunu tıklayın. Platform Araçları'nı tıklayın. İndirme simgesi sol sütunda görünür.
  3. Uygula veya Tamam'ı tıklayın.

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

CMake basit vurgulayıcı eklentisinin kullanılması, içeriğin Derleme Çıkışı penceresi. Derleme çalışır ve Build Çıktı sekmesi görünür ancak yazdırılmış çıkış yoksa (sorun numarası 204791544).

Yükleme siparişi başlatmayı engelliyor

Eski bir sürümden önce Android Studio'nun daha yeni bir sürümünü yüklemek eski sürümün başlatılmasını engelleyin. Örneğin, canary sürümünü kullanmak ve ardından kararlı sürümü yükleyip başlatmayı deneyin kararlı sürüm başlatılmayabilir. Bu gibi durumlarda Kararlı (eski) sürümün başlatılması için önbelleği temizleyin. macOS'te, temizlemek için önbellek, Library/ApplicationSupport/Google/AndroidStudioversion_number dizin. Windows'da önbelleği temizlemek için Disk Temizleme'yi kullanın.

Espresso Test Kaydedici, Compose ile çalışmıyor

İlgili içeriği oluşturmak için kullanılan Espresso Test Kaydedici Compose içeren projelerle çalışmaz. Projeler için kullanıcı arayüzü testleri oluşturmak amacıyla Oluşturma düzeninizi test etme konusuna bakın.

Logcat kısayolu, İngilizce olmayan klavye düzenleriyle çakışıyor

İngilizce olmayan bir klavye düzeni kullanıyorsanız varsayılan Logcat klavyesi kısayol düzenle çakışabilir ve belirli bir metin karakterlere dayanıyor. Bu sorunu gidermek için çakışan Logcat tuş haritasını silin veya yeniden eşleyin. Logcat tuş eşlemelerini Android Studio'da Android Studio > Ayarlar > Tuş eşleme ve arama kutusu Logcat (Tuş eşleme listesinde). Daha fazla bilgi için bkz. sorun #263475910.

Bu sorun, Android'de Logcat kısayolunun kaldırılmasıyla çözülecektir. Stüdyo Elektrikli Yılan Balığı Yaması 1.

Android Gradle eklentisiyle ilgili bilinen sorunlar

Bu bölümde, Android uygulamasının en son kararlı sürümündeki bilinen sorunlar açıklanmaktadır hoş geldiniz.

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 (sorunu #191977888). Geçici çözüm olarak, bu kitaplıklarda lint görevi çalıştırılabilir.

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

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

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

Varyant çıkışlarını değiştirmek için Variant API'nin kullanılması yeni eklentisidir. Bu özellik, sırasında APK'nın adını değiştirmek gibi basit görevlerde çalışmaya devam eder. aşağıda gösterildiği gibidir:

// 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 nesneye erişimi içeren daha karmaşık görevler artık çalışmıyor. Bunun nedeni, artık varyanta özel görevlerin oluşturulmamasıdır. Bu adımları uygulamanız gerekir. Bu, eklentinin ön planda tutmanın yanı sıra yapılandırma sürelerinin daha kısa olması anlamına da gelir.

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 dosya için manifest dosyasını almak üzere manifestOutputFile() yöntemini çağırmak yerine (processManifest.manifestOutputDirectory()) çağırarak dizin yolunu izleyin. Ardından bir manifest bulabilir ve mantığınızı buna uygulayabilirsiniz. Aşağıdaki örnek dinamik olarak manifest dosyasındaki sürüm kodunu değiştirir:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

AGP 7.3.0 AIDL desteği ve Kotlin 1.7.x ile ilgili sorunlar

Kotlin 1.7.x sürümünde KAPT ile AGP 7.3.0'ın kullanılması, AIDL kaynağının kaldırılacak belirli derleme varyantları. Diğer AIDL kaynağını kullanmaya devam edebilirsiniz main/, derleme türleri, ürün aromaları ve kombinasyonlar dahil olmak üzere bir araya getirmektir. Varyanta özel AIDL kaynak kümelerini kullanmanız gerekiyorsa Kotlin 1.6.21'i kullanmaya devam edin.

Bilinen sorunlar giderildi

Bu bölümde, yakın zamanda yayınlanan bir sürümde düzeltilmiş olan bilinen sorunlar açıklanmaktadır. Eğer bunlardan herhangi birini yaşıyorsanız Android'i güncellemeniz gerekir. Studio'yu en son kararlı sürüme veya önizleme sürümüne yükleyin.

Android Studio 2021.1.1'de düzeltildi

  • Eksik lint çıkışı: Aşağıdaki durumlarda stdout hedefine yazdırılan lint metni çıkışı olmaz: lint görevi UP-TO-DATE (sorun numarası 191897708). Sabitlendiği yer: AGP 7.1.0-alpha05.
  • 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, boş işaretçi istisnaları veya hatalarıyla karşılaşabilir (sorun numarası 158777858).

Android Studio 4.2'de düzeltildi

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

Android Studio 4.1'de düzeltildi

  • IDE'nin önceki sürümünden bellek ayarlarını uygulamak için yeniden başlatın: Android Studio güncellendiğinde, IDE'nin önceki bir sürümünden taşınan bellek ayarları.
  • Özel izin dizeleri içeren manifest sınıfı artık şu öğe tarafından oluşturulmuyor: varsayılan: Sınıfı oluşturmak istiyorsanız android.generateManifestClass = true.

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 bu istisnayı şu şekilde işler: uygulamanızı dağıttığınızda tam uygulama yükleme işlemi gerçekleştirme veya CyanogenMod cihazlara kopyalaması nedeniyle daha uzun dağıtım kez.

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ı projeler taranırken bellek yetersiz hataları: Gradle taramaları sırasında aynı sürücüde birden fazla konumda C++ kodu bulunan bir proje, tarama, ilk ortak dizin altındaki tüm dizinleri içerir. Çok sayıda dizin ve dosyanın taranması, bellek yetersizliği hatalarına neden olabilir.

    Bu sorunla ilgili daha fazla bilgi için şununla ilişkili hata: .