ไทม์ไลน์การย้ายข้อมูล DSL/API ของปลั๊กอิน Android Gradle

โปรเจ็กต์: /studio/_project.yaml สมุดภาพ: /studio/_book.yaml คำอธิบาย: หน้านี้อธิบายการพัฒนา DSL และ API ของปลั๊กอิน Android Gradle ตามแผนที่วางไว้

ปลั๊กอิน Gradle ของ Android (AGP) เป็นระบบการสร้างที่รองรับสำหรับแอปพลิเคชัน Android รวมถึงรองรับการคอมไพล์แหล่งที่มาหลายประเภทและลิงก์เข้าด้วยกันเป็นแอปพลิเคชันที่คุณสามารถเรียกใช้ได้บนอุปกรณ์ Android จริงหรือโปรแกรมจำลอง

ส่วนต่อไปนี้จะอธิบายวิวัฒนาการที่วางแผนไว้ของ DSL และ API ของ AGP เมื่อมีการเปิดตัว API ใหม่ในรุ่นที่เสถียร ระบบจะทําเครื่องหมาย API เก่าว่าเลิกใช้งาน จากนั้น API ที่เลิกใช้งานเหล่านั้นจะใช้งานไม่ได้ในรุ่นที่ใช้งานจริงรุ่นถัดไป ด้านล่างนี้คือข้อมูลเกี่ยวกับการเปลี่ยนแปลงที่กําลังจะเกิดขึ้นใน AGP เวอร์ชันหลักแต่ละเวอร์ชัน

ดูบันทึกการเลิกใช้งานหรือการนำ AGP API ออกอย่างละเอียดได้ที่การอัปเดต AGP API

AGP 9.0 (ครึ่งหลังของปี 2025)

Variant API ใหม่มีความเสถียร ส่วน API เก่าเลิกใช้งานแล้ว

  • Variant API ที่พัฒนาใน 4.1 และ 4.2 นั้นเสถียรแล้ว
  • อินเทอร์เฟซทั้งหมดเหล่านี้อยู่ในอาร์ติแฟกต์ gradle-api
  • อินเทอร์เฟซและคลาสก่อนหน้านี้ที่ใช้ใน Variant API เวอร์ชันเก่าได้เลิกใช้งานแล้ว

อินเทอร์เฟซ DSL ใหม่เสถียร ส่วนอินเทอร์เฟซเก่าเลิกใช้งานแล้ว

  • อินเทอร์เฟซ DSL ที่พัฒนาใน 4.1, 4.2 และ 7.0 ทำงานได้อย่างเสถียรแล้ว
  • อินเทอร์เฟซทั้งหมดเหล่านี้อยู่ในอาร์ติแฟกต์ gradle-api
  • อินเทอร์เฟซและคลาสก่อนหน้าที่ใช้ใน DSL เลิกใช้งานแล้ว

ชั้นเรียน AGP ภายในแบบส่วนตัวจะยังคงเข้าถึงได้

คลาสภายในส่วนตัวจาก AGP ซึ่งอยู่ในอาร์ติแฟกต์อื่นๆ จะยังคงเข้าถึงได้ในระหว่างการคอมไพล์ไฟล์บิลด์ แต่เราไม่แนะนําให้ใช้คลาสดังกล่าวเนื่องจากอาจเปลี่ยนแปลงในลักษณะที่ทำให้เกิดข้อขัดข้องได้ทุกเมื่อ

AGP 10.0 (2026)

นํา API เก่าออก

  • ระบบจะลบอินเทอร์เฟซและคลาสทั้งหมดก่อนหน้านี้ที่ใช้ใน DSL และ Variant API เวอร์ชันเก่า
  • อาร์ติแฟกต์ gradle-api คืออาร์ติแฟกต์เดียวที่คุณต้องใช้เข้าถึงอินเทอร์เฟซและคลาส DSL และ API ของตัวแปร และควรใช้เมื่อพัฒนาปลั๊กอิน
  • เมื่อใช้ข้อมูลเมตาของ Gradle ซึ่งมีกราฟ Dependency ที่แตกต่างกันสําหรับการคอมไพล์และรันไทม์ จะมีเฉพาะอาร์ติแฟกต์ gradle-api เท่านั้นที่ใช้ได้ในระหว่างการคอมไพล์ไฟล์บิลด์

(รอดำเนินการ) นำสิทธิ์เข้าถึงชั้นเรียน AGP ภายในส่วนตัวออก

ตอนนี้การพึ่งพาอาร์ติแฟกต์ gradle จะซ่อนคลาสภายในทั้งหมดและให้การเข้าถึงการคอมไพล์เฉพาะอินเทอร์เฟซและคลาสที่มีอยู่ในอาร์ติแฟกต์ gradle-api ซึ่งจะส่งผลต่อทั้งการคอมไพล์ปลั๊กอินและไฟล์บิลด์

คุณไม่สามารถเพิ่มการพึ่งพาด้วยตนเองเพื่อเข้าถึงคลาสภายในได้