หมายเหตุ: เมื่อมีการเปิดตัว Android 9.0 (ระดับ API 28) ก็จะมี ไลบรารีการสนับสนุนเวอร์ชันใหม่ที่เรียกว่า AndroidX ซึ่งเป็นส่วนหนึ่งของ Jetpack
ไลบรารี AndroidX
มีไลบรารีการสนับสนุนที่มีอยู่และยังมีคอมโพเนนต์ Jetpack ล่าสุดด้วย
คุณยังคงใช้ไลบรารีการสนับสนุนต่อไปได้
อาร์ติแฟกต์เวอร์ชันเก่า (เวอร์ชัน 27 และก่อนหน้า และแพ็กเกจเป็น android.support.*) จะ
ยังคงพร้อมใช้งานใน Google Maven อย่างไรก็ตาม การพัฒนาไลบรารีใหม่ทั้งหมด
จะเกิดขึ้นในไลบรารี AndroidX
เราขอแนะนำให้ใช้ไลบรารี AndroidX ในโปรเจ็กต์ใหม่ทั้งหมด นอกจากนี้ คุณควรพิจารณา
ย้ายข้อมูลโปรเจ็กต์ที่มีอยู่ไปยัง AndroidX ด้วย
วิธีตั้งค่าไลบรารีการสนับสนุน Android ในโปรเจ็กต์การพัฒนาขึ้นอยู่กับฟีเจอร์ ที่คุณต้องการใช้และแพลตฟอร์ม Android เวอร์ชันใดบ้างที่คุณต้องการให้แอปพลิเคชันรองรับ
เอกสารนี้จะแนะนำขั้นตอนการดาวน์โหลดแพ็กเกจไลบรารีการสนับสนุนและการเพิ่มไลบรารี ลงในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์
ตอนนี้ไลบรารีการสนับสนุนพร้อมใช้งานผ่านที่เก็บ Maven ของ Google แล้ว เราไม่รองรับการดาวน์โหลดไลบรารีผ่าน SDK Manager อีกต่อไป และฟังก์ชันการทำงานดังกล่าวจะถูกนำออกในเร็วๆ นี้
การเลือกไลบรารีการสนับสนุน
ก่อนเพิ่มไลบรารีการสนับสนุนลงในแอปพลิเคชัน ให้ตัดสินใจว่าคุณต้องการรวมฟีเจอร์ใดบ้าง และต้องการให้รองรับ Android เวอร์ชันต่ำสุดเวอร์ชันใด ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ที่ไลบรารีต่างๆ มีให้ได้ที่ ฟีเจอร์ของไลบรารีการสนับสนุน
การเพิ่มไลบรารีการสนับสนุน
หากต้องการใช้ไลบรารีการสนับสนุน คุณต้องแก้ไขทรัพยากร Dependency ของ 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ของโมดูล ตัวอย่างเช่น หากต้องการเพิ่มไลบรารี v4 core-utils ให้เพิ่มโค้ดต่อไปนี้dependencies { ... implementation "com.android.support:support-core-utils:28.0.0" }
ข้อควรระวัง: การใช้ทรัพยากร Dependency แบบไดนามิก (เช่น
palette-v7:23.0.+) อาจทำให้เกิดการอัปเดตเวอร์ชันที่ไม่คาดคิดและ
ความไม่เข้ากันของการถดถอย เราขอแนะนำให้คุณระบุเวอร์ชันไลบรารีอย่างชัดเจน (เช่น palette-v7:28.0.0)
การใช้ API ของไลบรารีการสนับสนุน
คลาสของไลบรารีการสนับสนุนที่ให้การสนับสนุน API ของเฟรมเวิร์กที่มีอยู่มักจะมี
ชื่อเดียวกับคลาสของเฟรมเวิร์ก แต่จะอยู่ในแพ็กเกจคลาส android.support
หรือมีคำต่อท้ายเป็น *Compat
ข้อควรระวัง: เมื่อใช้คลาสจากไลบรารีการสนับสนุน โปรดตรวจสอบว่าคุณได้นำเข้า
คลาสจากแพ็กเกจที่เหมาะสม ตัวอย่างเช่น เมื่อใช้คลาส ActionBar
ให้ทำดังนี้
android.support.v7.app.ActionBarเมื่อใช้ไลบรารีการสนับสนุนandroid.app.ActionBarเมื่อพัฒนาสำหรับ API ระดับ 11 ขึ้นไปเท่านั้น
หมายเหตุ: หลังจากรวมไลบรารีการสนับสนุนไว้ในโปรเจ็กต์แอปพลิเคชันแล้ว เรา ขอแนะนำอย่างยิ่งให้คุณย่อ ปรับให้ยากต่อการอ่าน และเพิ่มประสิทธิภาพ แอป สำหรับการเผยแพร่ นอกจากการปกป้องซอร์สโค้ดด้วยการปรับให้ยากต่อการอ่านแล้ว การย่อ ยังนำคลาสที่ไม่ได้ใช้ออกจากไลบรารีที่คุณรวมไว้ในแอปพลิเคชันด้วย ซึ่งจะช่วยให้ขนาดดาวน์โหลดของแอปพลิเคชันมีขนาดเล็กที่สุด
คำแนะนำเพิ่มเติมสำหรับการใช้ฟีเจอร์บางอย่างของไลบรารีการสนับสนุนมีอยู่ในคลาสการฝึกอบรมนักพัฒนาแอป 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 ขึ้นไป