ดูเหมือนว่ามีข้อมูลที่ไม่ถูกต้องโพสต์ที่นี่ บางคนรายงานเกี่ยวกับวิธีล้างแคชตัวสร้าง Android (กับงานcleanBuildCache) แต่ดูเหมือนว่าจะไม่ทราบว่าแคชดังกล่าวเป็นอิสระจากแคชสร้างของ Gradle AFAIK
ความเข้าใจของฉันคือแคชของ Android นั้นมาจาก Gradle (และเป็นแรงบันดาลใจ) แต่ฉันอาจผิด ไม่ว่าจะเป็นตัวสร้าง Android จะเป็น / ได้รับการอัปเดตเพื่อใช้แคชของ Gradle และออกจากตำแหน่งตัวเองฉันไม่รู้
แก้ไข:แคชตัวสร้าง Android ล้าสมัยและถูกกำจัดไปแล้ว ปลั๊กอิน Android Gradle ตอนนี้ใช้แคชสร้างของ Gradle แทน ในการควบคุมแคชนี้คุณต้องมีปฏิสัมพันธ์กับโครงสร้างพื้นฐานแคชทั่วไปของ Gradle
เคล็ดลับ: ค้นหาความช่วยเหลือแคชของ Gradle ออนไลน์โดยไม่พูดถึงคำหลัก 'android' เพื่อรับความช่วยเหลือสำหรับแคชที่เกี่ยวข้องในปัจจุบัน
แก้ไข 2:เนื่องจากคำถามของ tir38 ในความคิดเห็นด้านล่างฉันกำลังทดสอบโดยใช้โครงการ Android Gradle plugin v3.4.2 แคช gradle เปิดใช้งานโดยในorg.gradle.caching=true gradle.propertiesฉันทำสองสามครั้งclean buildและครั้งที่สองที่งานส่วนใหญ่แสดงFROM-CACHEเป็นสถานะของพวกเขาแสดงว่าแคชทำงาน
น่าแปลกใจที่ฉันมีcleanBuildCacheงาน gradle และ<user-home>/.android/build-cache/3.4.2/ไดเรกทอรีทั้งบอกใบ้ถึงการมีอยู่ของแคชตัวสร้าง Android
ฉันดำเนินการcleanBuildCacheและ3.4.2/ไดเรกทอรีหายไป ต่อไปฉันทำอีกclean build:
- ไม่มีอะไรเปลี่ยนแปลง: งานส่วนใหญ่แสดง
FROM-CACHEเป็นสถานะและงานสร้างเสร็จสมบูรณ์ด้วยความเร็วที่เปิดใช้งานแคช
3.4.2/ไดเรกทอรีถูกสร้าง
3.4.2/ไดเรกทอรีว่างเปล่า (ประหยัดสำหรับ 2 ซ่อนศูนย์ไฟล์เครื่องหมายยาว)
บทสรุป:
- การทำแคชของตัวสร้าง Android ปกติทั้งหมดนั้นจัดการโดย Gradle
- การดำเนินการ
cleanBuildCacheไม่ชัดเจนหรือส่งผลกระทบต่อการสร้างแคชในทางใด
- ยังมีแคชตัวสร้าง Android อยู่ที่นั่น นี่อาจเป็นรหัสร่องรอยที่ทีมสร้าง Android ลืมลบหรืออาจแคชสิ่งที่แปลกจริง ๆ ด้วยเหตุผลใดก็ตามที่ไม่ได้หรือไม่สามารถย้ายไปใช้แคช Gradle ได้ (ตัวเลือก 'ไม่สามารถ' จะแก้ไขได้อย่างมาก IMHO)
ต่อไปผมจะปิดการใช้งานแคช Gradle โดยการลบorg.gradle.caching=trueจากgradle.propertiesและฉันพยายามที่คู่ของclean build:
- การสร้างช้า
- งานทั้งหมดแสดงสถานะของพวกเขาว่าจะถูกดำเนินการและไม่แคชหรือทันสมัย
3.4.2/ไดเรกทอรียังคงเป็นที่ว่างเปล่า
ข้อสรุปเพิ่มเติม:
- ไม่มีแคชตัวสร้าง Android สำรองเมื่อแคช Gradle ไม่สามารถเข้าถึงได้
- แคชตัวสร้าง Android อย่างน้อยสำหรับงานทั่วไปได้ถูกลบทิ้งอย่างแน่นอนตามที่ฉันระบุไว้ก่อนหน้านี้
- เอกสาร android ที่เกี่ยวข้องมีข้อมูลที่ล้าสมัย โดยเฉพาะอย่างยิ่งแคชไม่ได้เปิดใช้งานตามค่าเริ่มต้นตามที่ระบุไว้ที่นั่นและแคช Gradle จะต้องเปิดใช้งานด้วยตนเอง
แก้ไข 3: ผู้ใช้ tir38 ยืนยันว่าแคชตัวสร้าง Android ล้าสมัยและถูกตัดออกด้วยการค้นหานี้ tir38 สร้างปัญหานี้เช่นกัน ขอบคุณ!
Compiler -> GradleUse in-process buildไม่มีส่วนเกี่ยวข้องกับแคช