Android 11 จะมาพร้อมกับการตั้งค่า "ความเข้ากันได้ของแอป" ใหม่ในตัวเลือกสำหรับนักพัฒนา ทำให้นักพัฒนาแอปสามารถทดสอบการเปลี่ยนแปลงพฤติกรรมของแพลตฟอร์มได้ง่ายขึ้น
ทุกปีที่ Google I/O Google จะไฮไลต์การเปลี่ยนแปลงที่น่าตื่นเต้นที่สุดที่จะเกิดขึ้นใน Android เวอร์ชันถัดไป แม้ว่าผู้ใช้ส่วนใหญ่จะตัดสินเวอร์ชัน Android จากการเปลี่ยนแปลงภาพที่ส่งผลต่อประสบการณ์การใช้งาน แต่การอัปเดต Android แต่ละครั้งก็มาพร้อมกับการเปลี่ยนแปลงมากมาย การเปลี่ยนแปลง API และ พฤติกรรมของแพลตฟอร์ม. การเปลี่ยนแปลงเหล่านี้มีความสำคัญสำหรับนักพัฒนาแอปในการจดบันทึกและเตรียมแอปของตนให้พร้อม เนื่องจากสามารถเปลี่ยนแปลงวิธีการใช้แอปโดยพื้นฐานโดยผู้ใช้ปลายทางได้ Google จะทำให้นักพัฒนาทดสอบและเตรียมแอปของตนสำหรับการเปลี่ยนแปลงที่กำลังจะเกิดขึ้นได้ง่ายขึ้นด้วยการตั้งค่า "ความเข้ากันได้ของแอป" ใหม่ในตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ในเวอร์ชันถัดไปของ Android, Android 11
ทุกครั้งที่ Google เปิดตัว Android เวอร์ชันใหม่ นักพัฒนาแอปที่สนใจจะดูแลรักษาอย่างต่อเนื่อง แอปพลิเคชันของพวกเขาจำเป็นต้องอ่านเกี่ยวกับการเปลี่ยนแปลงใหม่และเอกสารที่มาพร้อมกับสิ่งเหล่านี้ การเปลี่ยนแปลง จากนั้นพวกเขาสามารถตัดสินใจอัปเดตแอปของตนเพื่อเพิ่มฟีเจอร์ API ใหม่เหล่านี้ได้ หากต้องการหรือย้ายการใช้ API ที่มีอยู่ไปยัง API รุ่นใหม่ ซึ่งเป็นเส้นทางที่อาจเป็นทางเลือกหรือไม่ก็ได้ นักพัฒนาแอปไม่จำเป็นต้องอัปเดต API เป้าหมายของแอปทันที แต่จะต้องอัปเดตในที่สุดเพื่อให้เป็นไปตามนั้น
การเปลี่ยนข้อกำหนด API เป้าหมายของ Google Play Store. หลังจากนี้ นักพัฒนายังต้องทดสอบแอปของตนบน Android เวอร์ชันใหม่ด้วย ซึ่งสามารถทำได้บนอุปกรณ์จำลอง อุปกรณ์ที่โฮสต์บนคลาวด์ หรืออุปกรณ์ภายในเครื่อง การทดสอบเป็นส่วนหนึ่งของขั้นตอนการพัฒนา แต่การทดสอบจะมีความสำคัญมากยิ่งขึ้นเมื่อมีการเปลี่ยนแปลงที่สำคัญที่เกี่ยวข้องนอกจากนี้ เมื่อ Google ต้องการแนะนำการเปลี่ยนแปลงลักษณะการทำงานของแพลตฟอร์มที่สำคัญ พวกเขาจะไม่นำการเปลี่ยนแปลงไปใช้ใน Android เวอร์ชันใหม่ทันที นี่เป็นการปกป้องผู้ใช้ไม่ให้แอปจำนวนมากเสียหายและสูญเสียฟังก์ชันการทำงาน และยังช่วยให้นักพัฒนามีเวลามากขึ้นในการอัปเดตแอปของตน ตัวอย่างเช่นใน Android 7 Nougat Google ตัดสินใจ จำกัดการออกอากาศโดยนัยบางส่วน เพื่อเป็นการประหยัดแบตเตอรี่ ด้วยระบบปฏิบัติการ Android 8 Oreo, Google แอพที่ถูกจำกัดอย่างสมบูรณ์ไม่ให้ลงทะเบียนเครื่องรับการออกอากาศโดยนัย. แต่ก่อนที่ Android 8 Oreo จะเปิดตัว Google ต้องการให้นักพัฒนาเตรียมพร้อมสำหรับสถานการณ์ที่แอปของพวกเขาจะไม่สามารถลงทะเบียนเครื่องรับการออกอากาศโดยนัยได้อีกต่อไป และด้วยเหตุนี้ นักพัฒนาจึงทำได้ ใช้คำสั่ง ADB ใน Android 7 Nougat เพื่อจำลองเงื่อนไขที่ไม่สามารถออกอากาศโดยนัยได้:
adb shell cmd appops set RUN_IN_BACKGROUND ignore
คำสั่ง ADB เช่นคำสั่งข้างต้นเป็นตัวอย่างวิธีที่ Google อนุญาตให้นักพัฒนาแอปทดสอบว่าแอปของตนจะทำงานอย่างไรภายใต้การเปลี่ยนแปลงพฤติกรรมของแพลตฟอร์ม Android
อีกตัวอย่างล่าสุดคือวิธีการใน Android Q Beta 2 Google ขอให้นักพัฒนาทดสอบการจัดเก็บข้อมูลที่มีขอบเขต บนแอพของพวกเขาโดยการรันคำสั่ง ADB นี้:
adb shell cmd appops set your-package-name android: legacy_storage default && \
ในฐานะนักพัฒนาแอป คุณสามารถสันนิษฐานได้ว่าคุณพอใจกับคำสั่ง ADB และไม่รังเกียจที่จะใช้คำสั่งเหล่านี้เพื่อทดสอบการเปลี่ยนแปลงแพลตฟอร์มเหล่านี้ แต่ยังมีพื้นที่สำหรับการปรับปรุงอยู่เสมอ และ Google กำลังทำให้กระบวนการทดสอบนี้ง่ายขึ้นโดยการนำเสนอ UI แบบเรียบง่ายเพื่อควบคุมการเปลี่ยนแปลงเหล่านี้
ด้วยความใหม่ โครงการ PlatformCompatนักพัฒนาไม่จำเป็นต้องเรียกใช้คำสั่ง ADB สำหรับการเปลี่ยนแปลงพฤติกรรมใหม่ของแพลตฟอร์มอีกต่อไป สำหรับ Android 11 นั้น Android จะมีเมนูย่อยใหม่ภายในตัวเลือกสำหรับนักพัฒนาเพื่อสลับการเปลี่ยนแปลงพฤติกรรมของแพลตฟอร์มใหม่อย่างรวดเร็วตามแต่ละแอป โดยไม่จำเป็นต้องส่งคำสั่งเชลล์ ADB ใด ๆ จะมีส่วนที่แตกต่างกันสำหรับแต่ละระดับ API เป้าหมาย ตัวอย่างเช่น ระดับ API > 29 จะมี ชุดการเปลี่ยนแปลงพฤติกรรมของตัวเองที่สามารถสลับได้ ในขณะที่ระดับ API > 30 จะมีชุดของตัวเอง การเปลี่ยนแปลง
ในภาพหน้าจอด้านบนซึ่งแสดงส่วนความเข้ากันได้ของแอป (จาก AOSP ที่สร้างโดยแหล่งที่มาซึ่งทำงานบนเครื่องจำลอง) ข้อความ "ค่าเริ่มต้น" ส่วนการเปลี่ยนแปลงที่เปิดใช้งาน" รวมถึงการเปลี่ยนแปลง Android 11 API ที่จะเปิดใช้งานโดยค่าเริ่มต้นในทุกแอปโดยไม่คำนึงถึงเป้าหมาย SDK. ส่วน "เปิดใช้งานสำหรับ targetSDKversion > 29" คือการเปลี่ยนแปลง Android 11 API ที่เปิดใช้งานสำหรับแอปที่กำหนดเป้าหมายเป็น Android 11/API ระดับ 30 เท่านั้น
แม้ว่าการเปลี่ยนแปลงนี้จะไม่กระตุ้นผู้ใช้ปลายทางโดยตรง แต่ก็ทำให้งานของนักพัฒนาแอปง่ายขึ้น และนั่นก็เป็นสิ่งที่ดีเสมอไป
ขอบคุณนักพัฒนาที่ได้รับการยอมรับจาก XDA ลูก้า020400 สำหรับคำแนะนำและการจัดเตรียมภาพหน้าจอที่แนบมาด้วย
ความครอบคลุมเพิ่มเติมบน Android 11:
- ในที่สุด Android 11 อาจลบขีดจำกัดขนาดไฟล์ 4GB ของ Android สำหรับการบันทึกวิดีโอ
- การตั้งเวลาโหมดมืดอาจมาใน Android 11
- ในที่สุดโหมดเครื่องบินอาจหยุดปิดเสียง Bluetooth เริ่มตั้งแต่ Android 11 R
- Google กำลังเลิกใช้งาน AsyncTask API ของ Android ใน Android 11
- Google จะทำให้ผู้พัฒนาตัวจัดการไฟล์ส่งแบบฟอร์มเพื่อรับการเข้าถึงพื้นที่เก็บข้อมูลไฟล์ในวงกว้างใน Android 11
- ในที่สุด Android 11 อาจนำการใช้งาน ADB ไร้สายดั้งเดิมที่เหมาะสมมาใช้