ภาพรวมของ AndroidX

เนมสเปซ androidx ประกอบด้วยไลบรารี Android Jetpack เช่นเดียวกับไลบรารีการสนับสนุน ไลบรารีในเนมสเปซ androidx จะจัดส่งแยกต่างหากจากแพลตฟอร์ม Android และมอบความเข้ากันได้แบบย้อนหลังใน Android รุ่นต่างๆ

AndroidX เป็นการปรับปรุงที่สำคัญของไลบรารี การสนับสนุนของ Android ดั้งเดิม ซึ่งเราไม่ได้ดูแลรักษาอีกต่อไป แพ็กเกจ androidx จะแทนที่ไลบรารีการสนับสนุนอย่างสมบูรณ์ด้วยการมอบความเท่าเทียมกันของฟีเจอร์และไลบรารีใหม่

นอกจากนี้ AndroidX ยังมีฟีเจอร์ต่อไปนี้ด้วย

  • แพ็กเกจทั้งหมดใน AndroidX จะอยู่ในเนมสเปซที่สอดคล้องกันซึ่งเริ่มต้นด้วยสตริง androidx เราได้แมปแพ็กเกจไลบรารีการสนับสนุนไปยังแพ็กเกจ androidx.* ที่เกี่ยวข้องแล้ว ดูการแมปแบบเต็มของคลาสเก่าทั้งหมดและอาร์ติแฟกต์บิลด์ไปยังคลาสใหม่ได้ที่หน้าการปรับโครงสร้างแพ็กเกจ

  • androidx แพ็กเกจได้รับการดูแล และอัปเดตแยกกัน ซึ่งแตกต่างจาก Support Library androidx แพ็กเกจใช้การกำหนดเวอร์ชันเชิงความหมายที่เข้มงวด โดยเริ่มจากเวอร์ชัน 1.0.0 คุณสามารถอัปเดตไลบรารี AndroidX ในโปรเจ็กต์ได้อย่างอิสระ

  • เวอร์ชัน 28.0.0 เป็นรุ่นสุดท้ายของไลบรารีการสนับสนุน จะไม่มีผลงานandroid.support ในไลบรารีอีกต่อไป การพัฒนาฟีเจอร์ใหม่ทั้งหมดจะอยู่ในเนมสเปซ androidx

การใช้androidxไลบรารีในโปรเจ็กต์

AGP ปัจจุบันรองรับการใช้ไลบรารี androidx โดยค่าเริ่มต้น ดูการย้ายข้อมูล ไปยัง AndroidX เพื่อดูวิธีย้ายข้อมูลโปรเจ็กต์ ที่มีอยู่

สำหรับโปรเจ็กต์ที่ยังไม่ได้ย้ายข้อมูลหรือมีทรัพยากร Dependency เดิมที่ยังไม่ได้ย้ายข้อมูล AGP มีค่าสถานะต่อไปนี้ที่ตั้งค่าได้ในไฟล์ gradle.properties ของโปรเจ็กต์

  • android.useAndroidX: เป็นจริงโดยค่าเริ่มต้นในปลั๊กอิน Android Gradle 9.0.0 และ เวอร์ชันที่ใหม่กว่า ส่วนเวอร์ชันก่อนหน้า 9.0.0 จะเป็นเท็จ เมื่อตั้งค่าแฟล็กนี้เป็น true ปลั๊กอิน Android จะใช้ไลบรารี AndroidX ที่เหมาะสมแทนไลบรารีการสนับสนุน เราวางแผนที่จะนำความสามารถในการตั้งค่าแฟล็กนี้เป็น false ออกใน AGP 10
  • android.enableJetifier: เมื่อตั้งค่าสถานะนี้เป็น true ปลั๊กอิน Android จะย้ายข้อมูลไลบรารีของบุคคลที่สามที่มีอยู่โดยอัตโนมัติเพื่อใช้ทรัพยากร Dependency ของ AndroidX โดยการเขียนไบนารีใหม่ ค่าเริ่มต้นของ Flag คือ false หากไม่ได้ระบุ และมีแผนที่จะนำออกใน AGP 10 เนื่องจากโดยทั่วไปแล้วไลบรารีที่เผยแพร่ได้ทำการย้ายข้อมูลเสร็จสมบูรณ์แล้ว

ข้อมูลอ้างอิงของ API

คุณจะดูแพ็กเกจและคลาสทั้งหมดในเนมสเปซ androidx ได้ใน ส่วนข้อมูลอ้างอิงของ AndroidX

แหล่งข้อมูลเพิ่มเติม

ดูข้อมูลเพิ่มเติมเกี่ยวกับคอมโพเนนต์ได้ในหน้าแรกของ Jetpack หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนโครงสร้างภายในโค้ดแพ็กเกจจากไลบรารีการสนับสนุนเป็นandroidx โปรดดูบล็อกโพสต์ในหัวข้อนั้น