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

หมายเหตุ: เมื่อเปิดตัว 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)

การใช้ 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 ขึ้นไป