<uses-sdk>

Google Play ใช้ <uses-sdk> ที่ประกาศในไฟล์ Manifest ของแอปเพื่อกรองแอปออกจากอุปกรณ์ ที่ไม่เป็นไปตามข้อกำหนดเวอร์ชันของแพลตฟอร์ม ก่อนที่จะตั้งค่าเหล่านี้ โปรดทำความเข้าใจ ตัวกรองของ Google Play

ไวยากรณ์:
<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
ที่อยู่ใน:
<manifest>
description:

ช่วยให้คุณแสดงความเข้ากันได้ของแอปพลิเคชันกับแพลตฟอร์ม Android อย่างน้อย 1 เวอร์ชัน ด้วยจำนวนเต็มระดับ API ระดับ API ที่แสดงโดยแอปพลิเคชันจะนำไปเปรียบเทียบกับ ระดับ API ของระบบ Android หนึ่งๆ ซึ่งอาจแตกต่างกันไปตามอุปกรณ์ Android แต่ละรุ่น

ถึงแม้ว่าจะมีชื่อ แต่องค์ประกอบนี้ก็ใช้เพื่อระบุระดับ API ไม่ใช่ หมายเลขเวอร์ชันของชุดพัฒนาซอฟต์แวร์ (SDK) หรือแพลตฟอร์ม Android ระดับ API จะเป็นจำนวนเต็มค่าเดียวเสมอ คุณไม่สามารถดึงข้อมูลระดับ API จาก หมายเลขเวอร์ชัน Android ที่เกี่ยวข้อง ตัวอย่างเช่น ไม่เหมือนกับ เวอร์ชันหลักหรือผลรวมของเวอร์ชันหลักและเวอร์ชันรอง

และอ่านเอกสารเกี่ยวกับ การกำหนดเวอร์ชันให้แอปพลิเคชันของคุณ

ดังนี้
android:minSdkVersion
จำนวนเต็มที่กำหนดระดับ API ขั้นต่ำที่ต้องการ เพื่อให้แอปพลิเคชันทำงาน ระบบ Android ป้องกันไม่ให้ผู้ใช้ติดตั้ง หากระดับ API ของระบบต่ำกว่าค่าที่ระบุใน แอตทริบิวต์นี้ ประกาศแอตทริบิวต์นี้เสมอ

ข้อควรระวัง: หากคุณไม่ประกาศเรื่องนี้ ระบบจะใช้ค่าเริ่มต้นเป็น "1" ซึ่งระบุว่า แอปพลิเคชันนี้ทำงานได้กับ Android ทุกเวอร์ชัน หาก ไม่ใช่ และคุณไม่ได้ประกาศ minSdkVersion ที่ถูกต้อง จากนั้นเมื่อติดตั้งในระบบที่มีระดับ API ที่ใช้ร่วมกันไม่ได้ ขัดข้องระหว่างรันไทม์เมื่อพยายามเข้าถึง API ที่ไม่พร้อมใช้งาน สำหรับ ดังนั้น โปรดประกาศระดับ API ที่เหมาะสมใน minSdkVersion

android:targetSdkVersion
จำนวนเต็มที่กำหนดระดับ API ที่แอปพลิเคชันกำหนดเป้าหมาย หากไม่ได้ตั้งค่า ระบบจะใช้ค่าเริ่มต้น ค่าจะเท่ากับกำหนดให้ minSdkVersion

แอตทริบิวต์นี้จะแจ้งระบบที่คุณได้ทดสอบกับเวอร์ชันเป้าหมาย และ ระบบไม่ได้เปิดใช้พฤติกรรมความเข้ากันได้ใดๆ เพื่อรักษาความเข้ากันได้แบบส่งต่อของแอป กับเวอร์ชันเป้าหมาย แอปพลิเคชันจะยังใช้ได้ในเวอร์ชันที่ต่ำกว่า (ไม่เกิน minSdkVersion)

เมื่อ Android พัฒนาไปด้วยแต่ละเวอร์ชันใหม่ๆ พฤติกรรมบางอย่างและแม้แต่รูปลักษณ์อาจมีการเปลี่ยนแปลง อย่างไรก็ตาม หากระดับ API ของแพลตฟอร์มสูงกว่าเวอร์ชันที่ targetSdkVersion ของแอปประกาศ ระบบจะเปิดใช้ลักษณะการทำงานความเข้ากันได้เพื่อให้แอปของคุณ จะทำงานตามที่คุณคาดหวังไว้ คุณสามารถปิดใช้ความเข้ากันได้ดังกล่าว พฤติกรรมโดยการระบุ targetSdkVersion เพื่อให้ตรงกับ API ระดับแพลตฟอร์มที่กำลังทำงานอยู่

เช่น ตั้งค่านี้เป็น "11" ขึ้นไป ช่วยให้ระบบใช้ธีมเริ่มต้นของ Holo กับแอปของคุณเมื่อทำงานบน Android 3.0 หรือ สูงขึ้นและปิดหน้าจอ โหมดความเข้ากันได้เมื่อทำงานบนหน้าจอขนาดใหญ่ขึ้นเพราะรองรับ API ระดับ 11 โดยปริยาย รองรับหน้าจอขนาดใหญ่

มีลักษณะการทำงานความเข้ากันได้หลายอย่างที่ระบบเปิดใช้ได้โดยอิงตามค่าที่คุณกำหนด สำหรับแอตทริบิวต์นี้ ลักษณะการทำงานเหล่านี้หลายอย่างมีอธิบายไว้ในเวอร์ชันแพลตฟอร์มที่เกี่ยวข้อง ในข้อมูลอ้างอิง Build.VERSION_CODES

เพื่อให้แอปพลิเคชันของคุณไปพร้อมกับ Android แต่ละรุ่น ให้เพิ่ม ค่าของแอตทริบิวต์นี้ให้ตรงกับระดับ API ล่าสุด จากนั้นทดสอบแอปพลิเคชันของคุณอย่างละเอียดกับ เวอร์ชันแพลตฟอร์มที่เกี่ยวข้อง

เปิดตัวใน API ระดับ 4

android:maxSdkVersion
จำนวนเต็มที่กำหนดระดับ API สูงสุดสำหรับแอปพลิเคชัน ที่ออกแบบมาเพื่อให้ทำงานได้

ใน Android 1.5, 1.6, 2.0 และ 2.0.1 ระบบจะตรวจสอบค่าของ เมื่อติดตั้งแอปพลิเคชัน และเมื่อตรวจสอบความถูกต้องของแอปพลิเคชันอีกครั้ง หลังจากการอัปเดตระบบ ในทั้ง 2 กรณี หาก แอตทริบิวต์ maxSdkVersion ต่ำกว่าระดับ API ใช้โดย แล้วระบบไม่อนุญาตให้ติดตั้งแอปพลิเคชัน ในกรณีที่มีการตรวจสอบความถูกต้องอีกครั้งหลังการอัปเดตระบบ จะลบแอปพลิเคชันของคุณออกจากอุปกรณ์

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

แอปพลิเคชันที่ประกาศ maxSdkVersion="5" ใน ไฟล์ Manifest มีการเผยแพร่ใน Google Play ผู้ใช้ที่มีอุปกรณ์ใช้ Android 1.6 (API ระดับ 4) ดาวน์โหลดและติดตั้งแอป หลังจากผ่านไป 2-3 สัปดาห์ ผู้ใช้ รับการอัปเดตระบบผ่านอากาศ (OTA) เป็น Android 2.0 (API ระดับ 5) หลังจาก ติดตั้งการอัปเดตแล้ว ระบบจะตรวจสอบ maxSdkVersion และตรวจสอบความถูกต้องอีกครั้งเรียบร้อยแล้ว

ของแอปพลิเคชันทำงานตามปกติ แต่หลังจากนั้น อุปกรณ์จะได้รับ อัปเดตระบบอีกครั้ง โดยอัปเดตให้เป็น Android 2.0.1 (API ระดับ 6) หลังจาก ระบบจะไม่สามารถตรวจสอบความถูกต้องของแอปพลิเคชันได้อีกเนื่องจากระบบ ขณะนี้ระดับ API ของตนเอง (6) สูงกว่าค่าสูงสุดที่แอปพลิเคชันรองรับ (5) ระบบจะป้องกันไม่ให้ผู้ใช้เห็นแอปพลิเคชันใน เพื่อนำออกจากอุปกรณ์

คำเตือน: เราไม่แนะนำให้ประกาศสิ่งนี้ ประการแรก ไม่จำเป็นต้องกำหนดแอตทริบิวต์นี้เป็นวิธีบล็อก ปรับใช้แอปพลิเคชันของคุณบนแพลตฟอร์ม Android เวอร์ชันใหม่ เนื่องจาก จะถูกปลดออก เราออกแบบแพลตฟอร์มรุ่นใหม่ เข้ากันได้แบบย้อนหลัง แอปพลิเคชันของคุณทำงานอย่างถูกต้อง ในเวอร์ชันใหม่ๆ ในกรณีที่ใช้เฉพาะ API มาตรฐานและทำตามแนวทางปฏิบัติแนะนำในการพัฒนา อย่างที่สอง ในบางกรณีการประกาศแอตทริบิวต์ แอปพลิเคชันของคุณกำลังถูกนำออกจากผู้ใช้ อุปกรณ์หลังจากระบบ อัปเดตเป็น API ระดับที่สูงขึ้น อุปกรณ์ส่วนใหญ่ที่แอปพลิเคชันของคุณ จะได้รับการติดตั้งอัปเดตระบบผ่านอากาศเป็นระยะๆ ให้คำนึงถึงผลกระทบที่มีต่อแอปพลิเคชันของคุณก่อนตั้งค่านี้

เปิดตัวใน API ระดับ 4

Android บางเวอร์ชัน (ที่ไม่ใช่ Android 2.0.1) จะไม่ใช้ ตรวจสอบหรือบังคับใช้แอตทริบิวต์ maxSdkVersion ในระหว่าง การติดตั้งหรือการตรวจสอบซ้ำ Google Play จะยังใช้แอตทริบิวต์ เป็นตัวกรอง แต่เมื่อนำเสนอให้ผู้ใช้งานพร้อมด้วยแอปพลิเคชันที่พร้อมใช้งาน ดาวน์โหลด
เปิดตัวใน
API ระดับ 1

ระดับ API คืออะไร

ระดับ API คือค่าจำนวนเต็มที่ระบุ API ของเฟรมเวิร์กโดยไม่ซ้ำกัน ที่นำเสนอโดยแพลตฟอร์ม Android เวอร์ชันหนึ่ง

แพลตฟอร์ม Android มีเฟรมเวิร์ก API ที่แอปพลิเคชันสามารถใช้เพื่อ โต้ตอบกับระบบ Android ที่เกี่ยวข้อง Framework API ประกอบด้วย

  • แพ็กเกจและคลาสหลัก
  • ชุดขององค์ประกอบ XML และแอตทริบิวต์สำหรับการประกาศไฟล์ Manifest
  • ชุดขององค์ประกอบ XML และแอตทริบิวต์สำหรับการประกาศและเข้าถึงทรัพยากร
  • ชุดของ Intent
  • ชุดของสิทธิ์ที่แอปพลิเคชันสามารถขอได้ รวมถึงสิทธิ์ การบังคับใช้ที่รวมอยู่ในระบบ

แพลตฟอร์ม Android แต่ละเวอร์ชันต่อเนื่องกันจะมีการอัปเดต API เฟรมเวิร์กแอปพลิเคชัน Android ที่มีให้บริการ

การอัปเดตเฟรมเวิร์ก API ได้รับการออกแบบเพื่อให้ API ใหม่ยังคง เข้ากันได้กับ API เวอร์ชันก่อนหน้า กล่าวคือ การเปลี่ยนแปลงส่วนใหญ่ใน API เป็นฟังก์ชันเสริมและแนะนำฟังก์ชันใหม่หรือฟังก์ชันทดแทน ในฐานะที่เป็นส่วนหนึ่งของ API ได้รับการอัปเกรดแล้ว ชิ้นส่วนที่ถูกแทนที่ชิ้นเก่านั้นถูกเลิกใช้งานแล้วแต่ยังไม่ได้ถอดออก แอปพลิเคชันเดิมยังใช้ได้อยู่

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

API เฟรมเวิร์กที่แพลตฟอร์ม Android แสดงนั้นระบุโดยใช้ ตัวระบุจำนวนเต็มที่เรียกว่าระดับ API แพลตฟอร์ม Android แต่ละเวอร์ชันรองรับ ระดับ API เดียวเท่านั้น แม้ว่าการสนับสนุนจะแสดงโดยนัยสำหรับ API ระดับก่อนหน้าทั้งหมด (จนถึง API ระดับ 1) แพลตฟอร์ม Android รุ่นแรกที่ให้บริการ API ระดับ 1 และรุ่นต่อๆ ไปได้เพิ่มระดับ API

ตารางต่อไปนี้ระบุระดับ API ที่ฟิลด์ แต่ละเวอร์ชันรองรับ แพลตฟอร์ม Android สำหรับข้อมูลเกี่ยวกับจำนวนอุปกรณ์ที่สัมพันธ์กัน กำลังใช้แต่ละเวอร์ชันอยู่ โปรดดูแดชบอร์ดการเผยแพร่

รุ่นของแพลตฟอร์มระดับ APIVERSION_CODEหมายเหตุ
Android 15 35 VANILLA_ICE_CREAM ไฮไลต์ของแพลตฟอร์ม
Android 14 34 UPSIDE_DOWN_CAKE ไฮไลต์ของแพลตฟอร์ม
Android 13 28 TIRAMISU ไฮไลต์ของแพลตฟอร์ม
Android 12 32 S_V2 ไฮไลต์ของแพลตฟอร์ม
28 S ไฮไลต์ของแพลตฟอร์ม
Android 11 30 R ไฮไลต์ของแพลตฟอร์ม
Android 10 28 Q ไฮไลต์ของแพลตฟอร์ม
Android 9 28 P ไฮไลต์ของแพลตฟอร์ม
Android 8.1 28 O_MR1 ไฮไลต์ของแพลตฟอร์ม
Android 8.0 26 O ไฮไลต์ของแพลตฟอร์ม
Android 7.1.1
Android 7.1
25 N_MR1 ไฮไลต์ของแพลตฟอร์ม
Android 7.0 32 N ไฮไลต์ของแพลตฟอร์ม
Android 6.0 28 M ไฮไลต์ของแพลตฟอร์ม
Android 5.1 22 LOLLIPOP_MR1 แพลตฟอร์ม ไฮไลต์
Android 5.0 24 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH KitKat สำหรับอุปกรณ์ที่สวมใส่ได้เท่านั้น
Android 4.4 24 KITKAT แพลตฟอร์ม ไฮไลต์
Android 4.3 18 JELLY_BEAN_MR2 แพลตฟอร์ม ไฮไลต์
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 แพลตฟอร์ม ไฮไลต์
Android 4.1, 4.1.1 24 JELLY_BEAN แพลตฟอร์ม ไฮไลต์
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 แพลตฟอร์ม ไฮไลต์
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1 ไฮไลต์ของแพลตฟอร์ม
Android 3.0.x 11 HONEYCOMB ไฮไลต์ของแพลตฟอร์ม
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 แพลตฟอร์ม ไฮไลต์
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO ไฮไลต์ของแพลตฟอร์ม
Android 2.1.x 7 ECLAIR_MR1 แพลตฟอร์ม ไฮไลต์
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT ไฮไลต์ของแพลตฟอร์ม
Android 1.5 3 CUPCAKE ไฮไลต์ของแพลตฟอร์ม
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE

การใช้ระดับ API ใน Android

ตัวระบุระดับ API มีบทบาทสำคัญในการช่วย ประสบการณ์ที่เป็นไปได้สำหรับผู้ใช้และนักพัฒนาแอปพลิเคชัน:

  • ช่วยให้แพลตฟอร์ม Android อธิบายการแก้ไข API ของเฟรมเวิร์กสูงสุด ที่รองรับ
  • ทำให้แอปพลิเคชันสามารถอธิบายการแก้ไข API ของเฟรมเวิร์ก ต้องการ
  • ช่วยให้ระบบสามารถเจรจาการติดตั้งแอปพลิเคชันใน อุปกรณ์เพื่อให้ไม่มีการติดตั้งแอปพลิเคชันที่ใช้กับเวอร์ชันไม่ได้

แพลตฟอร์ม Android แต่ละเวอร์ชันจะจัดเก็บตัวระบุระดับ API ไว้ภายใน ตัวระบบ Android เอง

แอปพลิเคชันสามารถใช้องค์ประกอบไฟล์ Manifest ที่เฟรมเวิร์กให้ไว้ API - <uses-sdk> เพื่ออธิบาย API ต่ำสุดและสูงสุด ระดับที่สามารถใช้งานได้ รวมถึงระดับ API ที่ต้องการ ซึ่งออกแบบมาเพื่อรองรับ องค์ประกอบนี้มีแอตทริบิวต์หลัก 3 แอตทริบิวต์ดังนี้

  • android:minSdkVersion: ระดับ API ต่ำสุด ที่แอปพลิเคชันสามารถทำงานได้ ค่าเริ่มต้นคือ "1"
  • android:targetSdkVersion: ระดับ API ซึ่งออกแบบมาเพื่อเรียกใช้แอปพลิเคชัน ในบางกรณี วิธีนี้จะช่วยให้ แอปพลิเคชันใช้องค์ประกอบหรือลักษณะการทำงานของไฟล์ Manifest ที่กำหนดไว้ในเป้าหมาย ระดับ API ของคุณ แทนการถูกจำกัดให้ใช้เฉพาะระดับที่กำหนด สำหรับระดับ API ขั้นต่ำ
  • android:maxSdkVersion: ระดับ API สูงสุด ที่แอปพลิเคชันสามารถทำงานได้ สำคัญ: โปรดอ่าน ข้อมูลเกี่ยวกับแอตทริบิวต์นี้ในหน้านี้ก่อนใช้งาน

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

เมื่อผู้ใช้พยายามติดตั้งแอปพลิเคชัน หรือเมื่อตรวจสอบความถูกต้องอีกครั้ง แอปพลิเคชันหลังจากอัปเดตระบบ ระบบ Android จะตรวจสอบ แอตทริบิวต์ <uses-sdk> ในไฟล์ Manifest ของแอปพลิเคชันและ เปรียบเทียบค่าดังกล่าวกับระดับ API ภายในของตัวเอง ระบบจะอนุญาตให้ การติดตั้งจะเริ่มต้นต่อเมื่อตรงกับเงื่อนไขเหล่านี้:

  • หากมีการประกาศแอตทริบิวต์ android:minSdkVersion ค่า น้อยกว่าหรือเท่ากับจำนวนเต็มระดับ API ของระบบ หากไม่ได้ประกาศ ระบบจะถือว่าแอปพลิเคชันต้องใช้ API ระดับ 1
  • หากมีการประกาศแอตทริบิวต์ android:maxSdkVersion ค่า เท่ากับหรือมากกว่าจำนวนเต็มระดับ API ของระบบ หากไม่มีการประกาศ ระบบจะใช้แอปพลิเคชัน ไม่มีระดับ API สูงสุด อ่าน คำอธิบายของแอตทริบิวต์นี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ วิธีจัดการกับเรื่องนี้

เมื่อประกาศในไฟล์ Manifest ของแอปพลิเคชัน <uses-sdk> เอลิเมนต์อาจมีลักษณะดังนี้

<manifest>
  <uses-sdk android:minSdkVersion="5" />
  ...
</manifest>

เหตุผลหลักที่แอปพลิเคชันประกาศระดับ API ใน android:minSdkVersion คือการแจ้งระบบ Android ว่า ใช้ API ที่เปิดตัวในระดับ API ที่ระบุ

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

ข้อควรพิจารณาในการพัฒนา

ส่วนต่อไปนี้จะให้ข้อมูลเกี่ยวกับระดับ API ที่คุณจําเป็น ควรคำนึงถึงเมื่อพัฒนาแอปพลิเคชันของคุณ

ความเข้ากันได้กับการส่งต่อแอปพลิเคชัน

โดยทั่วไปแล้ว แอปพลิเคชัน Android สามารถทำงานร่วมกับ แพลตฟอร์ม Android

เนื่องจากการเปลี่ยนแปลงเกือบทั้งหมดของเฟรมเวิร์ก API เป็นส่วนเสริม ทำให้ แอปพลิเคชันที่พัฒนาโดยใช้ API รุ่นใดๆ ตามที่ระบุโดย ระดับ API สามารถทำงานร่วมกับแพลตฟอร์ม Android เวอร์ชันใหม่ๆ และ API ระดับสูงขึ้น แอปพลิเคชันสามารถทำงานในเวอร์ชันที่ใหม่กว่าทั้งหมด ของแพลตฟอร์ม Android ยกเว้นในบางกรณีที่แอปพลิเคชันใช้ ของ API ซึ่งถูกนำออกในภายหลังด้วยเหตุผลบางอย่าง

ความเข้ากันได้ควรจะมีความสำคัญ เนื่องจากอุปกรณ์ที่ใช้ระบบ Android จำนวนมาก รับการอัปเดตระบบผ่านอากาศ (OTA) ผู้ใช้อาจติดตั้งแอป แอปพลิเคชันของคุณและใช้งานได้สำเร็จ จากนั้นจะได้รับการอัปเดต OTA เป็น ของแพลตฟอร์ม Android เมื่อติดตั้งการอัปเดตแล้ว แอปพลิเคชัน ทำงานในสภาพแวดล้อมรันไทม์เวอร์ชันใหม่ แต่เป็นเวอร์ชันที่ยังคงมี API และความสามารถของระบบที่แอปพลิเคชันของคุณต้องใช้

การเปลี่ยนแปลงด้านล่าง API เช่น การเปลี่ยนแปลงที่อยู่ใน เอง อาจส่งผลต่อแอปพลิเคชันของคุณเมื่อใช้งานใน ของคุณ สิ่งนี้สำคัญสำหรับคุณในฐานะแอปพลิเคชัน เพื่อให้เข้าใจลักษณะและลักษณะการทำงานของแอปพลิเคชันในแต่ละระบบ ของคุณ

เพื่อช่วยคุณทดสอบแอปพลิเคชันใน Android เวอร์ชันต่างๆ Android SDK ประกอบด้วยแพลตฟอร์มมากมายที่คุณสามารถดาวน์โหลดได้ แต่ละแพลตฟอร์มจะมีอิมเมจระบบที่เข้ากันได้ซึ่งคุณเรียกใช้ใน AVD ได้ ทดสอบแอปพลิเคชันของคุณ

ความเข้ากันได้แบบย้อนหลังของแอปพลิเคชัน

แอปพลิเคชัน Android ไม่จำเป็นต้องทำงานร่วมกันแบบย้อนหลังกับ แพลตฟอร์ม Android ที่เก่ากว่าเวอร์ชันที่มีการคอมไพล์

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

แม้ว่าอุปกรณ์ที่ใช้ระบบ Android จะไม่มีแนวโน้มที่จะปรับลดรุ่นเป็น แพลตฟอร์มเวอร์ชันก่อนหน้านี้ คุณต้องทราบว่ามีแพลตฟอร์ม เป็นอุปกรณ์จำนวนมากในด้านการใช้งานเวอร์ชันก่อนๆ ที่มีการจัดการครบวงจรได้เลย แม้ในอุปกรณ์ที่ได้รับการอัปเดต OTA อุปกรณ์บางรุ่นอาจล่าช้าและ อาจไม่ได้รับการอัปเดตเป็นระยะเวลาหนึ่ง

เลือกเวอร์ชันแพลตฟอร์มและระดับ API

เมื่อคุณพัฒนาแอปพลิเคชัน คุณต้องเลือก เวอร์ชันแพลตฟอร์มที่คุณใช้คอมไพล์แอปพลิเคชัน ใน โดยทั่วไปแล้ว ให้รวบรวมแอปพลิเคชันโดยใช้ค่าต่ำสุดเท่าที่จะเป็นไปได้ ของแพลตฟอร์มที่แอปพลิเคชันของคุณสามารถรองรับได้

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

ประกาศระดับ API ขั้นต่ำ

หากคุณสร้างแอปพลิเคชันที่ใช้ API หรือฟีเจอร์ของระบบซึ่งมีการเปิดตัวใน ของแพลตฟอร์มรุ่นล่าสุด ตั้งค่า android:minSdkVersion เป็นระดับ API ของเวอร์ชันล่าสุด เวอร์ชันแพลตฟอร์ม เพื่อให้ผู้ใช้ติดตั้งเฉพาะ หากอุปกรณ์ของพวกเขาใช้ Android เวอร์ชันที่เข้ากันได้ ที่มีการจัดการครบวงจรได้เลย ในขณะเดียวกันก็ช่วยให้มั่นใจได้ว่าแอปพลิเคชันของคุณจะทำงานอย่างถูกต้อง อุปกรณ์ของตน

หากแอปพลิเคชันของคุณใช้ API ที่เปิดตัวในแพลตฟอร์มเวอร์ชันล่าสุด แต่ ไม่ประกาศแอตทริบิวต์ android:minSdkVersion แล้ว ส่วนขยายจะทำงานได้อย่างถูกต้องในอุปกรณ์ที่ใช้แพลตฟอร์มเวอร์ชันล่าสุด แต่ ไม่ได้ในอุปกรณ์ที่ใช้แพลตฟอร์มเวอร์ชันก่อนหน้า ในภายหลัง แอปพลิเคชันจะขัดข้องระหว่างรันไทม์เมื่อพยายามใช้ API ที่ไม่ อยู่ในเวอร์ชันก่อนหน้า

ทดสอบกับ API ระดับสูงขึ้น

หลังจากคอมไพล์แอปพลิเคชันแล้ว อย่าลืมทดสอบใน แพลตฟอร์มที่ระบุในandroid:minSdkVersionของแอปพลิเคชัน โดยสร้าง AVD ที่ใช้เวอร์ชันแพลตฟอร์มตามที่ แอปพลิเคชันของคุณ นอกจากนี้ ในการตรวจสอบความเข้ากันได้ แบบส่งต่อ ให้เรียกใช้ และทดสอบแอปพลิเคชันในทุกแพลตฟอร์มที่ใช้ API ระดับสูงกว่านั้น ที่แอปพลิเคชันใช้อยู่

Android SDK ประกอบด้วยแพลตฟอร์มหลายเวอร์ชันที่คุณใช้ได้ รวมทั้งเวอร์ชันล่าสุด และให้เครื่องมืออัปเดตที่คุณสามารถใช้เพื่อ ดาวน์โหลดแพลตฟอร์มเวอร์ชันอื่นๆ ตามความจำเป็น

หากต้องการเข้าถึงโปรแกรมอัปเดต ให้ใช้เครื่องมือบรรทัดคำสั่ง android อยู่ในไดเรกทอรี <sdk>/tools คุณสามารถเปิดตัวอัปเดต SDK ได้โดยดำเนินการดังนี้ กำลังเรียกใช้ android sdk คุณสามารถ ดับเบิลคลิกไฟล์ android.bat (Windows) หรือ android (OS X/Linux) ด้วย

หากต้องการเรียกใช้แอปพลิเคชันของคุณกับแพลตฟอร์มเวอร์ชันต่างๆ ในโปรแกรมจำลอง สร้าง AVD สำหรับแพลตฟอร์มแต่ละเวอร์ชันที่ต้องการทดสอบ สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับ AVD โปรดดูสร้างและจัดการอุปกรณ์เสมือน ถ้า คุณกำลังใช้อุปกรณ์จริงในการทดสอบ โปรดตรวจสอบว่าคุณทราบระดับ API ของแพลตฟอร์ม Android ที่โมเดลใช้ ดูตารางในเอกสารนี้สำหรับ รายการเวอร์ชันแพลตฟอร์มและระดับ API

กรองเอกสารอ้างอิงตามระดับ API

หน้าเอกสารประกอบอ้างอิงสำหรับแพลตฟอร์ม Android มีข้อมูล "ระดับ API" ที่บริเวณด้านบนซ้ายของแต่ละหน้า คุณสามารถใช้ เพื่อแสดงเอกสารเฉพาะสำหรับบางส่วนของ API ที่ เข้าถึงได้จากแอปพลิเคชันของคุณ ตามระดับ API ที่ระบุไว้ใน แอตทริบิวต์ android:minSdkVersion ของไฟล์ Manifest

เลือก API เพื่อใช้การกรอง ระดับที่แอปพลิเคชันของคุณระบุไว้จากเมนู API ที่จะเปิดตัวในภายหลัง จากนั้นระดับ API จะเป็นสีเทาและเนื้อหาจะถูกมาสก์เนื่องจากไม่ได้มีการมาสก์ ที่แอปพลิเคชันเข้าถึงได้

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

หากต้องการกลับไปดูเอกสารประกอบฉบับเต็ม เลือก REL ที่ด้านบนของเมนูระดับ API โดยค่าเริ่มต้น การกรองระดับ API คือ ปิดใช้อยู่ เพื่อให้คุณดู API ของเฟรมเวิร์กแบบสมบูรณ์ได้โดยไม่คำนึงถึงระดับ API

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