หมายเหตุ: การเปิดตัว Android 9.0 (API ระดับ 28) มี
  ไลบรารีการสนับสนุนเวอร์ชันใหม่ที่ชื่อ
  AndroidX ซึ่งเป็นส่วนหนึ่งของ Jetpack
  ไลบรารี AndroidX
  มีไลบรารีการสนับสนุนที่มีอยู่และยังมีคอมโพเนนต์ล่าสุดของ Jetpack ด้วย
  คุณสามารถใช้ไลบรารีการสนับสนุนต่อไปได้
  อาร์ติแฟกต์ในอดีต (เวอร์ชัน 27 และก่อนหน้าและจัดแพ็กเกจเป็น android.support.*) จะ
  จะยังคงอยู่ใน Google Maven อย่างไรก็ตาม การพัฒนาไลบรารีใหม่ทั้งหมด
  จะปรากฏในไลบรารี AndroidX
  เราขอแนะนำให้ใช้ไลบรารี AndroidX ในโปรเจ็กต์ใหม่ทั้งหมด คุณควรพิจารณา
  ย้ายข้อมูลโปรเจ็กต์ที่มีอยู่ไปยัง AndroidX ด้วย
เมื่อพัฒนาแอปที่รองรับ API หลายเวอร์ชัน คุณอาจต้องการ มาตรฐานในการให้บริการฟีเจอร์ใหม่ๆ ใน Android เวอร์ชันก่อนหน้า หรือ กลับไปใช้ฟังก์ชันการทำงานที่เทียบเท่ากันอย่างนุ่มนวล แทนการสร้างโค้ด ในการจัดการแพลตฟอร์มเวอร์ชันก่อนหน้า คุณสามารถใช้ประโยชน์จากไลบรารีเหล่านี้ เพื่อระบุเลเยอร์ความเข้ากันได้ นอกจากนี้ ไลบรารีการสนับสนุน ให้ชั้นเรียนอำนวยความสะดวกเพิ่มเติมและฟีเจอร์เพิ่มเติมที่ไม่มีใน API เฟรมเวิร์กมาตรฐานสำหรับการพัฒนาและการสนับสนุนที่ง่ายขึ้น อุปกรณ์
เดิมทีไลบรารีการสนับสนุนของ Android เป็นไลบรารีไบนารีของแอปเพียงอันเดียว ได้พัฒนาเป็นชุดไลบรารีสำหรับการพัฒนาแอป อยู่ในเกณฑ์ต่อไปนี้ ไลบรารีที่แนะนำ ถือเป็นส่วนสำคัญจริงๆ ของแอปพลิเคชันนี้ ที่กำลังพัฒนา
เอกสารนี้มีภาพรวมของไลบรารีการสนับสนุนเพื่อช่วยคุณ เข้าใจคอมโพเนนต์และวิธีใช้งานในแอปอย่างมีประสิทธิภาพ
ข้อควรระวัง: ตั้งแต่ Support Library รุ่น 26.0.0 เป็นต้นไป (กรกฎาคม 2017) ระดับ API ขั้นต่ำที่รองรับในไลบรารีการสนับสนุนส่วนใหญ่ เพิ่มขึ้นเป็น Android 4.0 (API ระดับ 14) สำหรับแพ็กเกจไลบรารีส่วนใหญ่ สำหรับ ข้อมูลเพิ่มเติม โปรดดูที่การสนับสนุนเวอร์ชันและแพ็กเกจ ชื่อในหน้านี้
การใช้งานสำหรับไลบรารีการสนับสนุน
การใช้งานที่แตกต่างสำหรับไลบรารีการสนับสนุน ย้อนกลับ คลาสความเข้ากันได้สำหรับแพลตฟอร์มเวอร์ชันก่อนหน้าเป็นเพียงหนึ่งใน ให้พวกเขา ตัวอย่างวิธีทั้งหมดในการใช้ไลบรารีการสนับสนุนมีดังนี้ ในแอปของคุณ
- 
    ความเข้ากันได้แบบย้อนหลังสำหรับ API รุ่นใหม่ - มี
    ไลบรารีการสนับสนุนมีความเข้ากันได้แบบย้อนหลังสำหรับเฟรมเวิร์กที่ใหม่กว่า
    คลาสและวิธีการ ตัวอย่างเช่น Fragmentsupport Class จะรองรับ Fragment ในอุปกรณ์ที่ใช้เวอร์ชันต่างๆ รุ่นก่อนหน้า Android 3.0 (API ระดับ 11)
- 
    ชั้นเรียนตามความสะดวกและตัวช่วย - ไลบรารีการสนับสนุนมี
    โดยเฉพาะสำหรับการพัฒนาอินเทอร์เฟซผู้ใช้ สำหรับ
    ตัวอย่างคลาส RecyclerViewจะระบุผู้ใช้ วิดเจ็ตอินเทอร์เฟซสำหรับแสดงและจัดการรายการที่ยาวเกินไป ใช้งานได้ เวอร์ชัน Android ตั้งแต่ API ระดับ 7 ขึ้นไป
- 
    การแก้ไขข้อบกพร่องและยูทิลิตี - มีฟีเจอร์มากมาย
    ซึ่งให้ประโยชน์นอกเหนือจากโค้ดที่คุณใช้ในแอป ซึ่งรวมถึง
    support-annotationsไลบรารีสำหรับการตรวจสอบโค้ดโดยตรงที่ดีขึ้นเกี่ยวกับอินพุตเมธอดและการรองรับ Multidex สำหรับ การกำหนดค่าและเผยแพร่แอปด้วยเมธอดกว่า 65,536 รายการ
การใช้ API การสนับสนุนเทียบกับเฟรมเวิร์ก API
ไลบรารีการสนับสนุนมีคลาสและเมธอดที่คล้ายกับ API ใน Android Framework เมื่อพบผลิตภัณฑ์นี้ คุณอาจสงสัยว่าคุณควร ใช้เวอร์ชันเฟรมเวิร์กของ API หรือไลบรารีการสนับสนุนที่เทียบเท่า ที่นี่ คือแนวทางสำหรับกรณีที่คุณควรใช้ชั้นเรียนไลบรารีการสนับสนุน ของ Framework API
- ความเข้ากันได้สำหรับฟีเจอร์หนึ่งๆ - หากคุณต้องการรองรับ ฟีเจอร์ล่าสุดของแพลตฟอร์มในอุปกรณ์ที่ใช้งานเวอร์ชันก่อนๆ ให้ใช้คลาสและเมธอดที่เทียบเท่าจากไลบรารีการสนับสนุน
- 
    ความเข้ากันได้สำหรับฟีเจอร์ไลบรารีที่เกี่ยวข้อง - ซับซ้อนมากขึ้น
    คลาสไลบรารีการสนับสนุนอาจขึ้นอยู่กับการสนับสนุนเพิ่มเติมอย่างน้อย 1 รายการ
    คลาสไลบรารี ดังนั้นคุณควรใช้คลาสไลบรารีการสนับสนุนสำหรับ
    ทรัพยากร Dependency ตัวอย่างเช่น ViewPagerคลาสการสนับสนุนควรใช้กับชั้นเรียนการสนับสนุนFragmentPagerAdapterหรือFragmentStatePagerAdapter
- 
    ความเข้ากันได้กับอุปกรณ์ทั่วไป - หากคุณไม่มีอุปกรณ์
    ฟีเจอร์แพลตฟอร์มที่คุณตั้งใจจะใช้กับแอปของคุณในแบบที่เข้ากันได้แบบย้อนหลัง
    คุณยังควรใช้ชั้นเรียนไลบรารีการสนับสนุนในแอปของคุณ
    เช่น คุณอาจต้องการใช้ ActivityCompatแทนคลาสActivityของเฟรมเวิร์ก เพื่อใช้ประโยชน์จากฟีเจอร์ใหม่ๆ ในภายหลัง เช่น การรวมรูปแบบการอนุญาตใหม่ไว้ใน Android 6.0 (API ระดับ 23)
ชั้นเรียนไลบรารีสนับสนุนที่รองรับการใช้งานแพลตฟอร์มที่เข้ากันได้ คลาส API อาจไม่สามารถให้ฟังก์ชันการทำงานครบชุด ในรุ่นล่าสุดได้ เนื่องจากข้อจำกัดของอุปกรณ์ที่เป็นโฮสต์ เวอร์ชันแพลตฟอร์ม ในกรณีเหล่านี้ ชั้นเรียน Support Library ได้รับการออกแบบมาเพื่อ ลดระดับอย่างมีชั้นเชิง และอาจไม่ได้ให้ฟังก์ชันการทำงานหรือข้อมูลทั้งหมดของ API ของแพลตฟอร์มในปัจจุบัน ด้วยเหตุนี้ คุณควรตรวจสอบข้อมูลอ้างอิง สำหรับชั้นเรียนและเมธอดของไลบรารีที่คุณใช้ ทดสอบในอุปกรณ์ที่ใช้แพลตฟอร์มเวอร์ชันแรกสุดที่ระบบรองรับ แอปของคุณ
หมายเหตุ: ไลบรารีการสนับสนุนไม่ได้ให้เนื้อหาที่เทียบเท่า คลาสและเมธอดสำหรับ API ของเฟรมเวิร์กแต่ละรายการ ในบางกรณี คุณอาจต้อง รวมการเรียก Method ของเฟรมเวิร์กด้วยการตรวจสอบเวอร์ชัน SDK ที่ชัดเจนและให้ โค้ดสำรองในการจัดการกับวิธีการที่ใช้งานไม่ได้ในอุปกรณ์ สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับการใช้การตรวจสอบเวอร์ชันในโค้ดของคุณ โปรดดูการสนับสนุนที่แตกต่างกัน เวอร์ชันของแพลตฟอร์ม
การรองรับเวอร์ชันและชื่อแพ็กเกจ
แพ็กเกจไลบรารีการสนับสนุนบางรายการมีชื่อแพ็กเกจเพื่อระบุ ระดับ API ขั้นต่ำ ที่ผู้ใช้สนับสนุนตั้งแต่แรก โดยใช้รูปแบบ v# เช่น support-v4 เริ่มจาก Support Library เวอร์ชัน 26.0.0 (เปิดตัวแล้วใน กรกฎาคม 2017) ระดับ API ขั้นต่ำที่รองรับได้เปลี่ยนเป็น Android 4.0 (API ระดับ 14) สำหรับแพ็กเกจไลบรารีการสนับสนุนทั้งหมด ด้วยเหตุนี้ เมื่อทำงานร่วมกับ ไลบรารีการสนับสนุนที่เผยแพร่ล่าสุด คุณไม่ควรคาดหวังว่า สัญลักษณ์แพ็กเกจ v# จะระบุระดับการสนับสนุน API ขั้นต่ำ การเปลี่ยนแปลงในรุ่นล่าสุดนี้ยังหมายความว่าแพ็กเกจห้องสมุดที่มีเวอร์ชัน 4 และ v7 ก็เทียบเท่ากันในระดับ API ขั้นต่ำที่รองรับ ตัวอย่างเช่น ทั้งแพ็กเกจ support-v4 และแพ็กเกจ support-v7 รองรับการใช้งานขั้นต่ำ API ระดับ 14 สำหรับรุ่นของ Support Library ตั้งแต่ 26.0.0 ขึ้นไป
เวอร์ชันที่เผยแพร่ของไลบรารีการสนับสนุน
เวอร์ชันที่เผยแพร่ของ Support Library เช่น 24.2.0 หรือ 25.0.1 คือ แตกต่างจากระดับ API ขั้นต่ำที่ไลบรารีใน รุ่น หมายเลขเวอร์ชันที่เผยแพร่จะระบุเวอร์ชันของแพลตฟอร์ม API ที่สร้างโดยใช้ API ดังกล่าว ดังนั้น API ล่าสุดอาจเป็น ในไลบรารีเวอร์ชันนี้
โดยเฉพาะอย่างยิ่งในส่วนแรกของหมายเลขเวอร์ชันที่เผยแพร่ ตัวอย่างเช่น 24 ในเวอร์ชัน 24.2.0 นั้นมักจะสอดคล้องกับเวอร์ชันของ API ของแพลตฟอร์มที่พร้อมใช้งานเมื่อเปิดตัว ระดับเวอร์ชันการเผยแพร่ของ ไลบรารีการสนับสนุนระบุว่ามีบางฟีเจอร์ของ API นั้นรวมอยู่ด้วย แต่คุณไม่ควรคิดว่าจะเข้ากันได้กับ all ที่เปิดตัวใน API แพลตฟอร์มเวอร์ชันใหม่
ทรัพยากร Dependency ของไลบรารี
  ไลบรารีส่วนใหญ่ในชุดไลบรารีการสนับสนุนของ Android มีการขึ้นต่อกันบางส่วน
  ไลบรารีอย่างน้อย 1 รายการ ตัวอย่างเช่น ไลบรารีการสนับสนุนเกือบทั้งหมดมี
  ขึ้นอยู่กับแพ็กเกจ support-compat โดยทั่วไป คุณไม่ต้อง
  คุณต้องกังวลเกี่ยวกับ
support ไลบรารี เนื่องจากบิลด์ Gradle
  เครื่องมือจะจัดการทรัพยากร Dependency ของไลบรารีให้คุณ โดยใส่โดยอัตโนมัติ
  ไลบรารีที่เกี่ยวข้อง
หากต้องการดูว่ามีไลบรารีและทรัพยากร Dependency ใดบ้างรวมอยู่ใน ให้เรียกใช้คำสั่งต่อไปนี้ที่รูทบิลด์ของการพัฒนาแอป เพื่อรับรายงานทรัพยากร Dependency สำหรับโปรเจ็กต์ รวมถึง ไลบรารีการสนับสนุนของ Android และไลบรารีอื่นๆ
gradle -q dependencies your-app-project:dependencies
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มไลบรารีการสนับสนุนลงในการพัฒนา โดยใช้ Gradle โปรดดูการสนับสนุน การตั้งค่าคลัง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน Gradle โปรดดูที่ กำหนดค่า บิลด์ของคุณ
โปรดทราบว่าไลบรารีการสนับสนุนของ Android ทั้งหมดขึ้นอยู่กับระดับพื้นฐานบางระดับด้วย ของแพลตฟอร์มสำหรับรุ่นล่าสุด ซึ่งก็คือ Android 4.0 (API ระดับ 14) หรือ สูงขึ้น
