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
- จำนวนเต็มที่กำหนดระดับ API สูงสุดที่แอปพลิเคชันออกแบบมาให้ทำงาน
ใน Android 1.5, 1.6, 2.0 และ 2.0.1 ระบบจะตรวจสอบค่าของแอตทริบิวต์นี้เมื่อติดตั้งแอปพลิเคชันและเมื่อตรวจสอบแอปพลิเคชันอีกครั้งหลังจากการอัปเดตระบบ ไม่ว่าในกรณีใดก็ตาม หากแอตทริบิวต์
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 มาตรฐานและเป็นไปตามแนวทางปฏิบัติแนะนําในการพัฒนา ประการที่ 2 ในบางกรณี การประกาศแอตทริบิวต์อาจส่งผลให้ระบบนำแอปพลิเคชันของคุณออกจากอุปกรณ์ของผู้ใช้หลังจากอัปเดตเป็น API ระดับที่สูงขึ้น อุปกรณ์ส่วนใหญ่ที่มีแนวโน้มที่จะติดตั้งแอปพลิเคชันของคุณจะได้รับอัปเดตระบบเป็นระยะๆ ทางอากาศ ดังนั้นโปรดพิจารณาผลกระทบที่การอัปเดตดังกล่าวมีต่อแอปพลิเคชันก่อนตั้งค่าแอตทริบิวต์นี้
เปิดตัวใน: API ระดับ 4
Android บางเวอร์ชัน (ที่ไม่ใช่ Android 2.0.1) จะไม่ตรวจสอบหรือบังคับใช้แอตทริบิวต์maxSdkVersion
ระหว่างการติดตั้งหรือการตรวจสอบอีกครั้ง อย่างไรก็ตาม Google Play จะยังคงใช้แอตทริบิวต์นี้เป็นตัวกรองเมื่อแสดงแอปพลิเคชันที่พร้อมให้ดาวน์โหลดแก่ผู้ใช้
- เปิดตัวใน
- API ระดับ 1
ระดับ API คืออะไร
ระดับ API คือค่าจำนวนเต็มที่ระบุเฟรมเวิร์ก API ฉบับปรับปรุงที่ไม่ซ้ำกันซึ่งแพลตฟอร์ม Android เวอร์ชันหนึ่งๆ นำเสนอ
แพลตฟอร์ม Android มี API เฟรมเวิร์กที่แอปพลิเคชันสามารถใช้เพื่อโต้ตอบกับระบบ Android ที่เกี่ยวข้อง API ของเฟรมเวิร์กประกอบด้วย
- ชุดแพ็กเกจและคลาสหลัก
- ชุดองค์ประกอบและแอตทริบิวต์ XML สำหรับการประกาศไฟล์ Manifest
- ชุดองค์ประกอบและแอตทริบิวต์ XML สําหรับการประกาศและการเข้าถึงทรัพยากร
- ชุดความตั้งใจ
- ชุดสิทธิ์ที่แอปพลิเคชันขอได้ รวมถึงการบังคับใช้สิทธิ์ที่รวมอยู่ในระบบ
แพลตฟอร์ม Android แต่ละเวอร์ชันที่เผยแพร่ต่อเนื่องกันอาจมีอัปเดตสำหรับ Android Application Framework API ที่แพลตฟอร์มนั้นให้บริการ
การอัปเดต API เฟรมเวิร์กออกแบบมาเพื่อให้ API ใหม่ยังคงเข้ากันได้กับ API เวอร์ชันเก่า กล่าวคือ การเปลี่ยนแปลงส่วนใหญ่ใน API จะเป็นการเพิ่มและเปิดตัวฟังก์ชันการทำงานใหม่หรือฟังก์ชันการทำงานทดแทน เมื่อมีการอัปเกรด API บางส่วน เราจะเลิกใช้งาน API เวอร์ชันเก่าที่แทนที่ แต่จะไม่นําออกเพื่อให้แอปพลิเคชันที่มีอยู่ยังคงใช้งานได้
ในบางกรณีที่มีจำนวนไม่มากนัก ระบบจะแก้ไขหรือนําส่วนต่างๆ ของ API ออก แม้ว่าโดยปกติแล้วการเปลี่ยนแปลงดังกล่าวจําเป็นต่อความเสถียรของ API และความปลอดภัยของแอปพลิเคชันหรือระบบเท่านั้น ส่วน API อื่นๆ ทั้งหมดจากการแก้ไขก่อนหน้านี้จะยังคงอยู่โดยไม่มีการแก้ไข
API เฟรมเวิร์กที่แพลตฟอร์ม Android นําเสนอจะระบุโดยใช้ตัวระบุจำนวนเต็มที่เรียกว่าระดับ API แพลตฟอร์ม Android แต่ละเวอร์ชันรองรับ API ระดับเดียวเท่านั้น แม้ว่าจะรองรับ API ระดับก่อนหน้าทั้งหมดโดยนัย (ไปจนถึง API ระดับ 1) แพลตฟอร์ม Android รุ่นแรกมี API ระดับ 1 และรุ่นต่อๆ ไปจะมี API ระดับสูงขึ้น
ตารางต่อไปนี้ระบุระดับ API ที่แพลตฟอร์ม Android แต่ละเวอร์ชันรองรับ ดูข้อมูลเกี่ยวกับจำนวนอุปกรณ์ที่ใช้เวอร์ชันต่างๆ ได้ที่แดชบอร์ดการเผยแพร่
การใช้ระดับ 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 ของระบบขั้นต่ำที่แอปพลิเคชันต้องใช้เพื่อทำงาน แอปพลิเคชันจะใส่องค์ประกอบ <uses-sdk>
ที่มีแอตทริบิวต์ android:minSdkVersion
ไว้ในไฟล์ Manifest ค่าของ 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 ที่คุณควรพิจารณาเมื่อพัฒนาแอปพลิเคชัน
ความเข้ากันได้ของแอปพลิเคชันในอนาคต
โดยทั่วไปแอปพลิเคชัน Android จะใช้งานร่วมกับแพลตฟอร์ม Android เวอร์ชันใหม่ได้
เนื่องจากการเปลี่ยนแปลงเกือบทั้งหมดใน API ของเฟรมเวิร์กเป็นการเพิ่มเติม แอปพลิเคชัน Android ที่พัฒนาโดยใช้ API เวอร์ชันใดก็ตามตามที่ระบุโดยระดับ API จะใช้ร่วมกับแพลตฟอร์ม Android เวอร์ชันใหม่และระดับ API ที่สูงขึ้นได้ แอปพลิเคชันจะทำงานได้บนแพลตฟอร์ม Android ทุกเวอร์ชันที่ใหม่กว่า ยกเว้นในกรณีที่แอปพลิเคชันใช้ API บางส่วนที่ถูกนำออกในภายหลังด้วยเหตุผลบางอย่าง
ความเข้ากันได้แบบย้อนหลังเป็นสิ่งสำคัญเนื่องจากอุปกรณ์ที่ทำงานด้วยระบบ Android จํานวนมากได้รับการอัปเดตระบบผ่านอากาศ (OTA) ผู้ใช้อาจติดตั้งแอปพลิเคชันและใช้งานแอปดังกล่าวได้สําเร็จ จากนั้นจึงได้รับการอัปเดต OTA เป็นแพลตฟอร์ม Android เวอร์ชันใหม่ในภายหลัง เมื่อติดตั้งการอัปเดตแล้ว แอปพลิเคชันจะทํางานในรันไทม์เวอร์ชันใหม่ของสภาพแวดล้อม แต่รันไทม์ดังกล่าวยังคงมี API และความสามารถของระบบที่แอปพลิเคชันของคุณต้องใช้
การเปลี่ยนแปลงด้านล่าง API เช่น การเปลี่ยนแปลงในระบบพื้นฐานเอง อาจส่งผลต่อแอปพลิเคชันเมื่อเรียกใช้ในสภาพแวดล้อมใหม่ คุณในฐานะนักพัฒนาแอปพลิเคชันต้องเข้าใจลักษณะและลักษณะการทํางานของแอปพลิเคชันในสภาพแวดล้อมของระบบแต่ละแบบ
Android SDK มีแพลตฟอร์มหลายเวอร์ชันที่คุณดาวน์โหลดได้ เพื่อช่วยให้คุณทดสอบแอปพลิเคชันบนแพลตฟอร์ม Android เวอร์ชันต่างๆ ได้ แต่ละแพลตฟอร์มจะมีภาพระบบที่เข้ากันได้ซึ่งคุณสามารถเรียกใช้ใน AVD เพื่อทดสอบแอปพลิเคชันได้
ความเข้ากันได้แบบย้อนหลังของแอปพลิเคชัน
แอปพลิเคชัน Android อาจไม่รองรับเวอร์ชันแพลตฟอร์ม Android ที่เก่ากว่าเวอร์ชันที่ใช้คอมไพล์แอปพลิเคชัน
แพลตฟอร์ม Android เวอร์ชันใหม่แต่ละเวอร์ชันอาจมี API เฟรมเวิร์กใหม่ เช่น 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 ระดับที่ใหม่กว่า
หากต้องการกลับไปดูเอกสารประกอบฉบับเต็ม ให้เลือก REL ที่ด้านบนของเมนูระดับ API ระบบจะปิดใช้การกรองระดับ API โดยค่าเริ่มต้น เพื่อให้คุณดู API ของเฟรมเวิร์กทั้งหมดได้ ไม่ว่าจะมีระดับ API ใดก็ตาม
เอกสารประกอบอ้างอิงสำหรับองค์ประกอบ API แต่ละรายการจะระบุระดับ API ที่เปิดตัวองค์ประกอบแต่ละรายการ ระดับ API สำหรับแพ็กเกจและคลาสจะระบุเป็น "เพิ่มใน API ระดับ" ที่มุมขวาบนของพื้นที่เนื้อหาในหน้าเอกสารประกอบแต่ละหน้า ระดับ API สำหรับสมาชิกของคลาสจะระบุไว้ในส่วนหัวคำอธิบายโดยละเอียดของสมาชิกนั้นๆ ที่ขอบด้านขวา