ดูเหมือนว่ามีข้อมูลที่ไม่ถูกต้องโพสต์ที่นี่ บางคนรายงานเกี่ยวกับวิธีล้างแคชตัวสร้าง 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 -> Gradle
Use in-process build
ไม่มีส่วนเกี่ยวข้องกับแคช