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