หมายเหตุ: เมื่อเปิดตัว Android 9.0 (API ระดับ 28) จะมี
ไลบรารีการสนับสนุนเวอร์ชันใหม่ที่ชื่อ
AndroidX ซึ่งเป็นส่วนหนึ่งของ Jetpack
ไลบรารี AndroidX
มีไลบรารีการสนับสนุนที่มีอยู่และยังมีคอมโพเนนต์ Jetpack ล่าสุดด้วย
คุณยังคงใช้ไลบรารีการสนับสนุนได้
อาร์ติแฟกต์เก่า (เวอร์ชัน 27 และก่อนหน้า และแพ็กเกจเป็น android.support.*) จะยังคงพร้อมให้บริการใน Google Maven
อย่างไรก็ตาม การพัฒนาไลบรารีใหม่ทั้งหมด
จะเกิดขึ้นในไลบรารี AndroidX
เราขอแนะนำให้ใช้ไลบรารี AndroidX ในโปรเจ็กต์ใหม่ทั้งหมด นอกจากนี้ คุณควรพิจารณาย้ายข้อมูลโปรเจ็กต์ที่มีอยู่ไปยัง AndroidX ด้วย
วิธีตั้งค่าไลบรารีการสนับสนุน Android ในโปรเจ็กต์การพัฒนาจะขึ้นอยู่กับฟีเจอร์ที่คุณต้องการใช้และช่วงเวอร์ชันแพลตฟอร์ม Android ที่คุณต้องการรองรับด้วยแอปพลิเคชัน
เอกสารนี้จะแนะนำขั้นตอนการดาวน์โหลดแพ็กเกจไลบรารีการสนับสนุน และการเพิ่มไลบรารี ลงในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์
ตอนนี้ไลบรารีการสนับสนุนพร้อมให้บริการผ่านที่เก็บ Maven ของ Google แล้ว เราไม่รองรับการดาวน์โหลดไลบรารีผ่าน SDK Manager อีกต่อไป และจะนำฟังก์ชันดังกล่าวออกในเร็วๆ นี้
การเลือกไลบรารีการสนับสนุน
ก่อนเพิ่มไลบรารีการสนับสนุนลงในแอปพลิเคชัน ให้ตัดสินใจว่าต้องการรวมฟีเจอร์ใด และต้องการรองรับ Android เวอร์ชันต่ำสุดใด ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ ที่ไลบรารีต่างๆ มีให้ได้ที่ ฟีเจอร์ของไลบรารีการสนับสนุน
การเพิ่มไลบรารีการสนับสนุน
หากต้องการใช้ไลบรารีการสนับสนุน คุณต้องแก้ไขการอ้างอิง classpath ของโปรเจ็กต์แอปพลิเคชันภายในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ คุณต้องทำตามขั้นตอนนี้สำหรับ ไลบรารีการสนับสนุน แต่ละรายการที่ต้องการใช้
วิธีเพิ่มไลบรารีการสนับสนุนลงในโปรเจ็กต์แอปพลิเคชัน
- รวมที่เก็บ Maven ของ Google ไว้ในไฟล์
settings.gradleของโปรเจ็กต์dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must // instead use: // // maven { // url 'https://maven.google.com' // } } }
- สำหรับแต่ละโมดูลที่คุณต้องการใช้ไลบรารีการสนับสนุน ให้เพิ่มไลบรารีในบล็อก
dependenciesของไฟล์build.gradleของโมดูล ตัวอย่างเช่น หากต้องการเพิ่มไลบรารี core-utils v4 ให้เพิ่มข้อมูลต่อไปนี้dependencies { ... implementation "com.android.support:support-core-utils:28.0.0" }
ข้อควรระวัง: การใช้ทรัพยากร Dependency แบบไดนามิก (เช่น
palette-v7:23.0.+) อาจทำให้เกิดการอัปเดตเวอร์ชันที่ไม่คาดคิดและ
ความเข้ากันไม่ได้ของการถดถอย เราขอแนะนำให้คุณระบุเวอร์ชันไลบรารีอย่างชัดเจน (เช่น palette-v7:28.0.0)
การใช้ API ของไลบรารีการสนับสนุน
คลาสใน Support Library ที่รองรับ API ของเฟรมเวิร์กที่มีอยู่มักจะมี
ชื่อเดียวกับคลาสเฟรมเวิร์ก แต่จะอยู่ในandroid.supportแพ็กเกจคลาส
หรือมีคำต่อท้ายเป็น *Compat
ข้อควรระวัง: เมื่อใช้คลาสจากไลบรารีการสนับสนุน โปรดตรวจสอบว่าคุณได้นำเข้า
คลาสจากแพ็กเกจที่เหมาะสม ตัวอย่างเช่น เมื่อใช้คลาส ActionBar
android.support.v7.app.ActionBarเมื่อใช้ไลบรารีการสนับสนุนandroid.app.ActionBarเมื่อพัฒนาสำหรับ API ระดับ 11 ขึ้นไปเท่านั้น
หมายเหตุ: หลังจากรวมไลบรารีการสนับสนุนไว้ในโปรเจ็กต์แอปพลิเคชันแล้ว เราขอ แนะนำเป็นอย่างยิ่งให้คุณลดขนาด ทำให้สับสน และเพิ่มประสิทธิภาพ แอปสำหรับการเผยแพร่ นอกเหนือจากการปกป้องซอร์สโค้ดด้วยการปรับให้ยากต่อการอ่าน (Obfuscation) แล้ว การย่อ ยังนำคลาสที่ไม่ได้ใช้ออกจากไลบรารีที่คุณรวมไว้ในแอปพลิเคชันด้วย ซึ่งจะช่วยให้ ขนาดการดาวน์โหลดของแอปพลิเคชันมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้
คำแนะนำเพิ่มเติมสำหรับการใช้ฟีเจอร์บางอย่างของไลบรารีการสนับสนุนมีอยู่ในชั้นเรียนการฝึกอบรม คำแนะนำ และตัวอย่างสำหรับนักพัฒนาแอป Android ดูข้อมูลเพิ่มเติมเกี่ยวกับคลาสและเมธอดแต่ละรายการในไลบรารีการสนับสนุนได้ที่
android.supportแพ็กเกจในเอกสารอ้างอิง API
การเปลี่ยนแปลงการประกาศในไฟล์ Manifest
หากคุณเพิ่มความเข้ากันได้แบบย้อนหลังของแอปพลิเคชันที่มีอยู่กับ Android API เวอร์ชันก่อนหน้าโดยใช้ไลบรารีการสนับสนุน โปรดตรวจสอบว่าได้อัปเดตไฟล์ Manifest ของแอปพลิเคชันแล้ว โดยคุณควรอัปเดตองค์ประกอบ android:minSdkVersion
ของแท็ก
<uses-sdk> ในไฟล์ Manifest เป็นหมายเลขเวอร์ชันใหม่ที่ต่ำกว่า ดังที่แสดงด้านล่าง
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
การตั้งค่าไฟล์ Manifest จะบอก Google Play ว่าแอปพลิเคชันของคุณสามารถติดตั้งในอุปกรณ์ที่ใช้ Android 4.0 (ระดับ API 14) ขึ้นไปได้
หากคุณใช้ไฟล์ Gradle Build การตั้งค่า minSdkVersion ในไฟล์ Build
จะลบล้างการตั้งค่า Manifest
plugins { id 'com.android.application' } android { ... defaultConfig { minSdkVersion 16 ... } ... }
ในกรณีนี้ การตั้งค่าไฟล์บิลด์จะบอก Google Play ว่าสามารถติดตั้งตัวแปรบิลด์เริ่มต้นของแอปพลิเคชันในอุปกรณ์ที่ใช้ Android 4.1 (ระดับ API 16) ขึ้นไปได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรบิลด์ได้ที่ภาพรวมระบบบิลด์
หมายเหตุ: หากคุณรวมไลบรารีการสนับสนุนหลายรายการ SDK เวอร์ชันขั้นต่ำต้องเป็นเวอร์ชันสูงสุดที่ไลบรารีใดก็ตามที่ระบุต้องใช้ เช่น หากแอปมีทั้งไลบรารีการรองรับ Preference v14 และไลบรารี Leanback v17 เวอร์ชัน SDK ขั้นต่ำต้องเป็น 17 ขึ้นไป