burada yanlış bilgi yayınlanmış gibi görünüyor. bazı insanlar Android oluşturucu önbelleğini (görevle cleanBuildCache
) nasıl temizleyeceklerini bildiriyor ancak söz konusu önbelleğin Gradle'ın derleme önbelleği AFAIK'tan bağımsız olduğunu fark etmiyor gibi görünüyor.
benim anlayışım Android önbelleğinin Gradle'dan önce geldiği (ve esinlendiği) ama yanlış olabilirim. Android oluşturucunun Gradle'ın önbelleğini kullanmak ve kendi emekliyi kullanacak şekilde güncellenip güncellenmeyeceğini bilmiyorum.
EDIT: Android oluşturucu önbellek eski ve elendi. Android Gradle eklentisi artık Gradle'ın derleme önbelleğini kullanıyor. bu önbelleği kontrol etmek için artık Gradle'ın genel önbellek altyapısıyla etkileşime girmelisiniz.
İPUCU: şu anda alakalı önbellek için yardım almak için 'android' anahtar kelimesinden bahsetmeden Gradle'ın önbellek yardımını çevrimiçi arayın.
EDIT 2: aşağıdaki yorumda tir38'in soru nedeniyle, ben bir Android Gradle eklentisi v3.4.2 projesi kullanarak test ediyorum. org.gradle.caching=true
sınıf önbellek tarafından etkinleştirilir gradle.properties
. i bir çift yapmak clean build
ve ikinci kez çoğu görev FROM-CACHE
durumu olarak, önbellek çalıştığını gösteren göstermek.
Şaşırtıcı bir şekilde, hem Android oluşturucu önbelleğinin varlığını ima eden bir cleanBuildCache
gradle görevi ve bir <user-home>/.android/build-cache/3.4.2/
dizini var.
i yürütmek cleanBuildCache
ve 3.4.2/
dizin gitti. sonra başka bir şey yapıyorum clean build
:
- hiçbir şey değişmedi: görevlerin çoğu
FROM-CACHE
durum olarak gösterilir ve derleme önbellek etkinleştirilmiş hızlarda tamamlanır.
3.4.2/
Dizin yeniden oluşturulur.
3.4.2/
Dizin boş (2 kişinin, sıfır uzunluk işaretleyici dosyaları gizli kaydet).
sonuçlar:
- tüm normal Android oluşturucu görevlerinin önbelleğe alınması Gradle tarafından gerçekleştirilir.
- yürütme
cleanBuildCache
derleme önbelleğini hiçbir şekilde temizlemez veya etkilemez.
- Orada hala bir Android oluşturucu önbelleği var. bu, Android oluşturma ekibinin kaldırmayı unuttuğu uygun bir kod olabilir veya Gradle önbelleğini kullanarak herhangi bir nedenden dolayı taşınamayan veya taşınamayan garip bir şeyi önbelleğe alabilir. ('yapılamaz' seçeneği son derece geliştirilebilir, IMHO.)
Bir sonraki i kaldırarak Gradle önbelleği devre dışı org.gradle.caching=true
gelen gradle.properties
ve ben bir çift deneyin clean build
:
- yapılar yavaş.
- tüm görevler durumlarını yürütülüyor ve önbelleğe alınmamış veya güncel olarak gösteriyor.
3.4.2/
dizin boş olmaya devam ediyor.
daha fazla sonuç:
- Gradle önbellek isabet edemediğinde Android oluşturucu önbellek yedeği yoktur.
- Android oluşturucu önbelleği, en azından ortak görevler için, daha önce de belirttiğim gibi elimine edildi.
- ilgili android doc güncel olmayan bilgiler içeriyor. özellikle önbellek burada belirtildiği gibi varsayılan olarak etkinleştirilmez ve Gradle önbelleğinin manuel olarak etkinleştirilmesi gerekir.
DÜZENLEME 3: kullanıcı tir38 Android oluşturucu önbellek kullanılmıyor ve birlikte ortadan kalkmıştır doğruladı bu bulmak . tir38 de bu sorunu yarattı . Teşekkürler!
Compiler -> Gradle
olduğunu değil ayarları değiştirildi olduğunu öğrendimUse in-process build
. önbellekle ilgisi yok