การตั้งค่าไลบรารีการสนับสนุน

หมายเหตุ: เมื่อมีการเปิดใช้ 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 ของโปรเจ็กต์แอปพลิเคชันภายในสภาพแวดล้อมการพัฒนา คุณต้องทําตามขั้นตอนนี้สําหรับห้องสมุดสนับสนุนแต่ละรายการที่ต้องการใช้

วิธีเพิ่มไลบรารีสนับสนุนลงในโปรเจ็กต์แอปพลิเคชัน

  1. ใส่ที่เก็บ 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'
            // }
        }
    }
  2. สำหรับแต่ละโมดูลที่ต้องการใช้คลังสนับสนุน ให้เพิ่มคลังดังกล่าวในบล็อก 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)

การใช้ Support Library API

โดยปกติแล้วคลาสในคลังสนับสนุนที่รองรับ API ของเฟรมเวิร์กที่มีอยู่จะมีชื่อเหมือนกับคลาสเฟรมเวิร์ก แต่อยู่ในแพ็กเกจคลาส android.support หรือมีคำต่อท้าย *Compat

ข้อควรระวัง: เมื่อใช้คลาสจากคลังการสนับสนุน โปรดตรวจสอบว่าคุณนําเข้าคลาสจากแพ็กเกจที่เหมาะสม ตัวอย่างเช่น เมื่อใช้คลาส ActionBar ผลลัพธ์ที่ได้คือ

  • android.support.v7.app.ActionBar เมื่อใช้ Support Library
  • android.app.ActionBar เมื่อพัฒนาแอปสำหรับ API ระดับ 11 ขึ้นไปเท่านั้น

หมายเหตุ: หลังจากรวมคลังการสนับสนุนไว้ในโปรเจ็กต์แอปพลิเคชันแล้ว เราขอแนะนําอย่างยิ่งให้คุณบีบอัด สร้างความสับสน และเพิ่มประสิทธิภาพแอปเพื่อเผยแพร่ นอกจากการปกป้องซอร์สโค้ดด้วยการปรับให้ยากต่อการอ่านแล้ว การย่อโค้ดยังนำคลาสที่ไม่ได้ใช้งานออกจากไลบรารีที่คุณรวมไว้ในแอปพลิเคชันด้วย ซึ่งจะช่วยลดขนาดการดาวน์โหลดของแอปพลิเคชันให้เหลือน้อยที่สุด

คำแนะนำเพิ่มเติมในการใช้ฟีเจอร์บางอย่างของ Support Library มีอยู่ในชั้นเรียนการฝึกอบรม คำแนะนำ และตัวอย่างสำหรับนักพัฒนาแอป Android ดูข้อมูลเพิ่มเติมเกี่ยวกับคลาสและเมธอดของไลบรารีสนับสนุนแต่ละรายการได้ที่แพ็กเกจ android.support ในข้อมูลอ้างอิง API

การเปลี่ยนแปลงการประกาศไฟล์ Manifest

หากคุณเพิ่มความสามารถในการใช้งานร่วมกันย้อนหลังของแอปพลิเคชันที่มีอยู่กับ Android API เวอร์ชันเก่าด้วย Support Library โปรดอัปเดตไฟล์ Manifest ของแอปพลิเคชัน กล่าวโดยละเอียดคือ คุณควรอัปเดตองค์ประกอบ android:minSdkVersion ของแท็ก <uses-sdk> ในไฟล์ Manifest เป็นหมายเลขเวอร์ชันใหม่ที่มีค่าต่ำกว่า ดังที่แสดงด้านล่าง

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

การตั้งค่าไฟล์ Manifest จะบอก Google Play ว่าแอปพลิเคชันของคุณติดตั้งในอุปกรณ์ที่ใช้ Android 4.0 (API ระดับ 14) ขึ้นไปได้

หากคุณใช้ไฟล์บิลด์ของ Gradle การตั้งค่า minSdkVersion ในไฟล์บิลด์จะลบล้างการตั้งค่าในไฟล์ Manifest

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

ในกรณีนี้ การตั้งค่าไฟล์บิลด์จะบอก Google Play ว่าตัวแปรบิลด์เริ่มต้นของแอปพลิเคชันสามารถติดตั้งในอุปกรณ์ที่ใช้ Android 4.1 (API ระดับ 16) ขึ้นไป ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรการสร้างได้ที่ภาพรวมระบบการสร้าง

หมายเหตุ: หากคุณรวมไลบรารีสนับสนุนหลายรายการ เวอร์ชัน SDK ขั้นต่ำต้องเป็นเวอร์ชันสูงสุดที่ไลบรารีที่ระบุต้องการ ตัวอย่างเช่น หากแอปมีทั้งไลบรารีการสนับสนุนค่ากําหนด v14 และไลบรารี Leanback v17 เวอร์ชัน SDK ขั้นต่ำของคุณต้องเป็น 17 ขึ้นไป