การเปลี่ยนแปลงเฟรมเวิร์กความเข้ากันได้ (Android 14)

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

หน้านี้อธิบายการเปลี่ยนแปลงที่เปิด/ปิดได้ซึ่งเป็นส่วนหนึ่งของเฟรมเวิร์กความเข้ากันได้ใน Android 14 (API ระดับ 34) ใช้รายการนี้ร่วมกับตัวเลือกสำหรับนักพัฒนาแอปและคำสั่ง ADB เพื่อทดสอบและแก้ไขข้อบกพร่องของแอปขณะเตรียมรองรับและกำหนดเป้าหมาย Android 14

ตัวอย่างสิ่งที่คุณทําได้โดยใช้เครื่องมือเฟรมเวิร์กความเข้ากันได้มีดังนี้

  • ทดสอบการเปลี่ยนแปลงที่กำหนดเป้าหมายโดยไม่ต้องเปลี่ยน targetSdkVersion ของแอป คุณสามารถใช้ปุ่มเปิด/ปิดเพื่อบังคับใช้การเปลี่ยนแปลงลักษณะการทํางานที่กําหนดเป้าหมายที่เฉพาะเจาะจงเพื่อประเมินผลกระทบต่อแอปที่มีอยู่
  • ทดสอบเฉพาะการเปลี่ยนแปลงที่เฉพาะเจาะจงเท่านั้น คุณสามารถปิดใช้การเปลี่ยนแปลงที่กำหนดเป้าหมายทั้งหมดได้ ยกเว้นการเปลี่ยนแปลงที่คุณต้องการทดสอบ แทนที่จะต้องจัดการกับการเปลี่ยนแปลงที่กำหนดเป้าหมายทั้งหมดพร้อมกัน
  • จัดการการเปิด/ปิดผ่าน adb คุณสามารถใช้คําสั่ง adb เพื่อเปิดและปิดใช้การเปลี่ยนแปลงที่เปิด/ปิดได้ในสภาพแวดล้อมการทดสอบอัตโนมัติ
  • แก้ไขข้อบกพร่องได้เร็วขึ้นโดยใช้รหัสการเปลี่ยนแปลงมาตรฐาน การเปลี่ยนแปลงที่เปิด/ปิดได้แต่ละรายการจะมีรหัสและชื่อที่ไม่ซ้ำกันซึ่งคุณใช้แก้ไขข้อบกพร่องของสาเหตุรากในเอาต์พุตบันทึกได้อย่างรวดเร็ว

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

การเปลี่ยนแปลงลักษณะการทำงานที่รวมอยู่ในเฟรมเวิร์กความเข้ากันได้

รายการในส่วนนี้จะอธิบายการเปลี่ยนแปลงที่เปิด/ปิดได้ซึ่งรวมอยู่ในเฟรมเวิร์กความเข้ากันได้ใน Android 14

คุณสามารถกรองรายการการเปลี่ยนแปลงตามสถานะเริ่มต้น

การเปลี่ยนแปลงที่เปิด/ปิดได้ในเฟรมเวิร์กความเข้ากันได้ใน Android 14

ACCESS_SHARED_IDENTITY

รหัสการเปลี่ยนแปลง: 259743961
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด

ให้สิทธิ์เข้าถึงข้อมูลระบุของแอปที่เปิดใช้งาน หากแอปเลือกใช้การแชร์ข้อมูลระบุโดยเปิดใช้งานกิจกรรมนี้ด้วยอินสแตนซ์ของ ActivityOptions ซึ่งมีการเรียกใช้ ActivityOptions.setShareIdentityEnabled(boolean) ด้วยค่า true หรือหาก UID ของกิจกรรมที่เปิดใช้งานนั้นเหมือนกับของแอปที่เปิดใช้งาน เมื่อเปิดใช้การเปลี่ยนแปลงนี้และเป็นไปตามข้อกำหนดข้อใดข้อหนึ่งเหล่านี้ กิจกรรมจะสามารถเข้าถึง UID และชื่อแพ็กเกจของแอปที่เปิดด้วย Activity.getLaunchedFromUid() และ Activity.getLaunchedFromPackage() ตามลำดับ

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

รหัสการเปลี่ยนแปลง: 258236856
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อเปิดใช้ ระบบจะแสดงข้อความ "แอปพลิเคชันไม่ตอบสนอง" (ANR) เมื่อแอปตอบสนอง API และฟังก์ชันการทำงานจาก Android 13 (API ระดับ 33) หรือต่ำกว่าช้า

AUTHORITY_ACCESS_CHECK_CHANGE_ID

รหัสการเปลี่ยนแปลง: 207133734
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป ให้เปิดใช้การตรวจสอบสิทธิ์เข้าถึงสำหรับ UID ที่เรียก API ทั้งหมดที่เกี่ยวข้องกับการซิงค์

CAMERA_MIC_INDICATORS_NOT_PRESENT

รหัสการเปลี่ยนแปลง: 162547999
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

บ่งบอกว่าอุปกรณ์นี้รองรับไฟบอกสถานะกล้องและไมโครโฟน ค่าคือ false หากมี เนื่องจากเมธอด CompatChanges#isChangeEnabled จะแสดงผล true หากไม่มีรหัสการเปลี่ยนแปลง

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

รหัสการเปลี่ยนแปลง: 244637991
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อแอปส่ง PendingIntent โดยใช้วิธี PendingIntent#send() หรือวิธีอื่นๆ ที่คล้ายกัน ตอนนี้แอปจะต้องเลือกใช้หากต้องการมอบสิทธิ์การเริ่มกิจกรรมเบื้องหลังของตนเองเพื่อเริ่ม Intent ที่รอดำเนินการ

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ในส่วนหน้าการเปลี่ยนแปลงลักษณะการทํางานของ Android 14 เกี่ยวกับ ข้อจํากัดเพิ่มเติมในการเริ่มกิจกรรมจากเบื้องหลัง

DETACH_THROWS_ISE_ONLY

รหัสการเปลี่ยนแปลง: 236825255
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

แจ้งเพื่อกําหนดข้อยกเว้นที่ถูกต้องซึ่งเกิดจาก #detachImage

#detachImage มีบันทึกว่าแสดงข้อผิดพลาด IllegalStateException ในกรณีที่เกิดข้อผิดพลาด เมธอดผู้ช่วยในระบบเดิมของการดำเนินการนี้แสดงข้อผิดพลาด RuntimeException หากพื้นผิวถูกทิ้งขณะถอด Image

ลักษณะการทำงานที่เป็นข้อยกเว้นซึ่งไม่ได้บันทึกไว้ก่อนหน้านี้นี้จะยังคงมีผลจนถึง Android 13 (API ระดับ 33)

หลังจาก Android 13 (API ระดับ 33) เป็นต้นไป เมธอดตัวช่วยแบบเนทีฟจะแสดงข้อยกเว้น IllegalStateExceptions เท่านั้นตามเอกสารประกอบ

เมื่อเปิดใช้การเปลี่ยนแปลงนี้ #detachImage จะแสดง IllegalStateException เฉพาะในกรณีที่พบข้อผิดพลาดขณะนำรูปภาพออกเท่านั้น ลักษณะการทํางานของแอปที่กําหนดเป้าหมายเป็น Android 13 (API ระดับ 33) และต่ำกว่าจะยังคงเหมือนเดิม

DOWNSCALED

รหัสการเปลี่ยนแปลง: 168419799
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

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

เมื่อเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจแอป ระบบจะบังคับปรับขนาดแอปเป็นปัจจัยการขยายที่เปิดใช้สูงสุด เช่น ระบบจะใช้ 80% หากเปิดใช้ทั้ง 80% และ 70% (DOWNSCALE_80 และ DOWNSCALE_70) เมื่อเปิดใช้ทั้งการเปลี่ยนแปลงนี้และ DOWNSCALED_INVERSE ระบบจะให้ความสําคัญกับ DOWNSCALED_INVERSE มากกว่า และจะนําปัจจัยที่มีผลต่อขนาดไปใช้แบบกลับกัน

DOWNSCALED_INVERSE

รหัสการเปลี่ยนแปลง: 273564678
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป

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

เมื่อเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจแอป ระบบจะบังคับปรับขนาดแอปเป็นปัจจัยการขยายที่ต่ำที่สุดที่เปิดใช้ เช่น ระบบจะใช้ 80% หากเปิดใช้ทั้ง 80% และ 70% (DOWNSCALE_80 และ DOWNSCALE_70) เนื่องจากเมื่อใช้แบบกลับกัน ปัจจัยการปรับขนาด 80% จะเท่ากับ 125% ซึ่งน้อยกว่าการปรับขนาด 142.86% ที่ใช้เมื่อใช้ปัจจัยการปรับขนาด 70% แบบกลับกัน เมื่อทั้งการเปลี่ยนแปลงนี้และ DOWNSCALED เปิดใช้อยู่ DOWNSCALED_INVERSE จะมีความสําคัญเหนือกว่าและระบบจะใช้ปัจจัยที่มีผลต่อขนาดแบบย้อนกลับ

DOWNSCALE_30

รหัสการเปลี่ยนแปลง: 189970040
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 30% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 333.33% ของจอแสดงผลจริง

DOWNSCALE_35

รหัสการเปลี่ยนแปลง: 189969749
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 35% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 285.71% ของจอแสดงผลจริง

DOWNSCALE_40

รหัสการเปลี่ยนแปลง: 189970038
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 40% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 250% ของจอแสดงผลจริง

DOWNSCALE_45

รหัสการเปลี่ยนแปลง: 189969782
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 45% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปถือว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 222.22% ของจอแสดงผลจริง

DOWNSCALE_50

รหัสการเปลี่ยนแปลง: 176926741
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 50% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 200% ของจอแสดงผลจริง

DOWNSCALE_55

รหัสการเปลี่ยนแปลง: 189970036
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 55% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปถือว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 181.82% ของจอแสดงผลจริง

DOWNSCALE_60

รหัสการเปลี่ยนแปลง: 176926771
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 60% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 166.67% ของจอแสดงผลจริง

DOWNSCALE_65

รหัสการเปลี่ยนแปลง: 189969744
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 65% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 153.85% ของจอแสดงผลจริง

DOWNSCALE_70

รหัสการเปลี่ยนแปลง: 176926829
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 70% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 142.86% ของจอแสดงผลจริง

DOWNSCALE_75

รหัสการเปลี่ยนแปลง: 189969779
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 75% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 133.33% ของจอแสดงผลจริง

DOWNSCALE_80

รหัสการเปลี่ยนแปลง: 176926753
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 80% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 125% ของจอแสดงผลจริง

DOWNSCALE_85

รหัสการเปลี่ยนแปลง: 189969734
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 85% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 117.65% ของจอแสดงผลจริง

DOWNSCALE_90

รหัสการเปลี่ยนแปลง: 182811243
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

หากเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 90% ของจอแสดงผลจริง หากเปิดใช้ DOWNSCALED_INVERSE ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 111.11% ของจอแสดงผลจริง

ENABLE_PLATFORM_MDNS_BACKEND

รหัสการเปลี่ยนแปลง: 270306772
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

แอปที่กำหนดเป้าหมายเป็น Android 14 ขึ้นไปใช้การติดตั้งใช้งาน mDNS ที่ผสานรวมกับแพลตฟอร์มเป็นแบ็กเอนด์ ขณะที่แอปที่กำหนดเป้าหมายเป็นเวอร์ชันก่อนหน้าจะใช้แบ็กเอนด์การค้นพบบริการเครือข่าย (NSD) แบบเดิมต่อไป (โดยมีเดอม่อนแบบเดิมเป็นแบ็กเอนด์ NsdManager)

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

รหัสการเปลี่ยนแปลง: 266524688
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

ระบบจะเปิดใช้การตรวจสอบความสามารถที่ผ่านการรับรองด้วยตนเองสำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 ขึ้นไป ดูรายละเอียดเพิ่มเติมได้ที่ NetworkCapabilities

ENFORCE_PACKAGE_VISIBILITY_FILTERING

รหัสการเปลี่ยนแปลง: 154726397
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป แอปจะต้องประกาศความต้องการระดับการเข้าถึงแพ็กเกจในไฟล์ Manifest จึงจะเข้าถึง AccountManager API ได้

ENFORCE_READ_ONLY_JAVA_DCL

รหัสการเปลี่ยนแปลง: 218865702
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สําหรับแอปที่กําหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป จะต้องทําเครื่องหมายไฟล์ที่โหลดแบบไดนามิกทั้งหมดเป็นแบบอ่านอย่างเดียว ซึ่งจะช่วยป้องกันไม่ให้ผู้ไม่ประสงค์ดีเขียนทับไฟล์ที่โหลดแบบไดนามิกโดยไม่คาดคิด

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ในส่วน การโหลดโค้ดแบบไดนามิกที่ปลอดภัยยิ่งขึ้นในหน้าการเปลี่ยนแปลงลักษณะการทํางานของ Android 14

ENFORCE_STRICT_QUERY_BUILDER

รหัสการเปลี่ยนแปลง: 143231523
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เมื่อเปิดใช้ SQLiteQueryBuilder จะตรวจสอบการเลือกการค้นหา CalendarProvider2 ทั้งหมดเทียบกับอาร์กิวเมนต์ที่เป็นอันตราย

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

รหัสการเปลี่ยนแปลง: 265195908
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด

ระบบจะยกเลิกการเรียกกลับของสัญญาณเตือนที่แน่นอนซึ่งคาดหวังAlarmManager.OnAlarmListenerเมื่อแอปที่เรียกใช้เข้าสู่สถานะแคช

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงการปลุกในเวลาที่แน่นอนใน Android 14 ได้ที่ ระบบจะปฏิเสธการตั้งปลุกในเวลาที่แน่นอนโดยค่าเริ่มต้น

FGS_TYPE_CHECK_FOR_INSTANT_APPS

รหัสการเปลี่ยนแปลง: 261055255
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อเปิดใช้ แอปด่วนต้องระบุประเภทบริการที่ทำงานอยู่เบื้องหน้าที่เหมาะสมสำหรับบริการที่ประกาศไว้ในไฟล์ Manifest ของแอป

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่หน้าอธิบาย การเปลี่ยนแปลงประเภทบริการที่ทำงานอยู่เบื้องหน้า

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

รหัสการเปลี่ยนแปลง: 255042465
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อเปิดใช้ แอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไปซึ่งเริ่มบริการที่ทำงานอยู่เบื้องหน้าโดยใช้ประเภทที่เลิกใช้งานแล้ว FOREGROUND_SERVICE_TYPE_NONE จะทำให้เกิดคำเตือนในบันทึก

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่หน้าอธิบาย การเปลี่ยนแปลงประเภทบริการที่ทำงานอยู่เบื้องหน้า

FGS_TYPE_NONE_DISABLED_CHANGE_ID

รหัสการเปลี่ยนแปลง: 255038118
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อเปิดใช้ แอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไปซึ่งเริ่มบริการที่ทำงานอยู่เบื้องหน้าโดยใช้ประเภท FOREGROUND_SERVICE_TYPE_NONE ที่เลิกใช้งานแล้วจะทำให้เกิดข้อยกเว้น

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่หน้าอธิบาย การเปลี่ยนแปลงประเภทบริการที่ทำงานอยู่เบื้องหน้า

FGS_TYPE_PERMISSION_CHANGE_ID

รหัสการเปลี่ยนแปลง: 254662522
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อเปิดใช้ SecurityException จะปรากฏขึ้นหากแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไปเริ่มบริการที่ทำงานอยู่เบื้องหน้าโดยไม่มีสิทธิ์ที่จำเป็นซึ่งเชื่อมโยงกับประเภทของบริการดังกล่าว

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่หน้าอธิบาย การเปลี่ยนแปลงประเภทบริการที่ทำงานอยู่เบื้องหน้า

FORCE_DISABLE_HEVC_SUPPORT

รหัสการเปลี่ยนแปลง: 174227820
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

บังคับปิดใช้แอปไม่ให้รองรับความสามารถของสื่อ HEVC แอปควรประกาศความสามารถของสื่อที่รองรับในไฟล์ Manifest แต่สามารถใช้ Flag นี้เพื่อบังคับไม่ให้แอปรองรับ HEVC ซึ่งจะบังคับให้เปลี่ยนรูปแบบขณะเข้าถึงสื่อที่เข้ารหัสใน HEVC การตั้งค่า Flag นี้จะลบล้างค่าเริ่มต้นระดับระบบปฏิบัติการสำหรับแอป โดยค่าเริ่มต้น ระบบจะปิดใช้การตั้งค่านี้ ซึ่งหมายความว่าค่าเริ่มต้นของระบบปฏิบัติการจะมีผลเหนือกว่า หากเปิดใช้ทั้ง Flag นี้และ FORCE_ENABLE_HEVC_SUPPORT ระบบจะไม่สนใจทั้ง 2 Flag

FORCE_ENABLE_HEVC_SUPPORT

รหัสการเปลี่ยนแปลง: 174228127
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

บังคับให้แอปรองรับความสามารถของสื่อ HEVC แอปควรประกาศความสามารถของสื่อที่รองรับในไฟล์ Manifest แต่ Flag นี้สามารถใช้เพื่อบังคับให้แอปรองรับ HEVC ซึ่งจะหลีกเลี่ยงการเปลี่ยนรูปแบบขณะเข้าถึงสื่อที่เข้ารหัสใน HEVC การตั้งค่า Flag นี้จะลบล้างค่าเริ่มต้นระดับระบบปฏิบัติการสำหรับแอป โดยค่าเริ่มต้น ระบบจะปิดใช้การตั้งค่านี้ ซึ่งหมายความว่าค่าเริ่มต้นของระบบปฏิบัติการจะมีผลเหนือกว่า หากเปิดใช้ทั้ง Flag นี้และ FORCE_DISABLE_HEVC_SUPPORT ระบบปฏิบัติการจะไม่สนใจทั้ง 2 Flag

FORCE_NON_RESIZE_APP

รหัสการเปลี่ยนแปลง: 181146395
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

บังคับให้แพ็กเกจที่ใช้อยู่ไม่สามารถปรับขนาดได้

FORCE_RESIZE_APP

รหัสการเปลี่ยนแปลง: 174042936
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป

บังคับให้แพ็กเกจที่ใช้ปรับขนาดได้ เราอนุญาตให้ปรับขนาดได้ในโหมดหน้าต่างแบบเต็มหน้าจอเท่านั้น แต่ไม่บังคับให้แอปเข้าสู่โหมดหลายหน้าต่างแบบปรับขนาดได้

GWP_ASAN

รหัสการเปลี่ยนแปลง: 145634846
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้การตรวจหาข้อบกพร่องหน่วยความจําแบบสุ่มตัวอย่างในแอป

ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ GWP-ASan ได้ที่คู่มือ GWP-ASan

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

รหัสการเปลี่ยนแปลง: 229362273
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สําหรับแอปที่กําหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป คุณต้องส่งออกคอมโพเนนต์เพื่อเรียกใช้ผ่าน Intent ที่ไม่ชัดแจ้ง หากไม่ได้ส่งออกและเรียกใช้คอมโพเนนต์ ระบบจะนำคอมโพเนนต์นั้นออกจากรายการผู้รับ ซึ่งมีผลเฉพาะกับกิจกรรมและการออกอากาศ

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ในส่วน ข้อจํากัดของ Intent ที่ไม่ชัดแจ้งและที่รอดําเนินการในหน้าการเปลี่ยนแปลงลักษณะการทํางานของ Android 14

รหัสการเปลี่ยนแปลง: 266201607
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป แอปต้องขอให้ผู้ใช้ให้ความยินยอมก่อนMediaProjectionการจับภาพเซสชันแต่ละครั้ง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ในส่วน ต้องใช้ความยินยอมของผู้ใช้สำหรับMediaProjectionเซสชันการบันทึกแต่ละรายการอย่างไรในหน้าการเปลี่ยนแปลงด้านลักษณะการทํางานของ Android 14

NATIVE_HEAP_ZERO_INIT

รหัสการเปลี่ยนแปลง: 178038272
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้การจัดสรรหน่วยความจำฮีปเนทีฟโดยอัตโนมัติเป็น 0

NATIVE_MEMTAG_ASYNC

รหัสการเปลี่ยนแปลง: 145772972
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้การตรวจสอบแท็กหน่วยความจําแบบไม่พร้อมกัน (ASYNC) ในกระบวนการนี้ Flag นี้จะมีผลกับฮาร์ดแวร์ที่รองรับ Memory Tagging Extension (MTE) ของ ARM เท่านั้น

NATIVE_MEMTAG_SYNC

รหัสการเปลี่ยนแปลง: 177438394
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้การตรวจสอบแท็กหน่วยความจําแบบซิงค์ (SYNC) ในกระบวนการนี้ Flag นี้จะมีผลกับฮาร์ดแวร์ที่รองรับ Memory Tagging Extension (MTE) ของ ARM เท่านั้น หากเปิดใช้ทั้ง NATIVE_MEMTAG_ASYNC และตัวเลือกนี้ ตัวเลือกนี้จะมีความสำคัญเหนือกว่าและ MTE จะเปิดใช้ในโหมดซิงค์

OVERRIDE_ANY_ORIENTATION

รหัสการเปลี่ยนแปลง: 265464455
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เมื่อเปิดใช้ การเปลี่ยนแปลงนี้จะอนุญาตให้ใช้การลบล้างการวางแนวต่อไปนี้ ไม่ว่ากิจกรรมจะขอการวางแนวใดก็ตาม

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

รหัสการเปลี่ยนแปลง: 191514214
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

รหัสการเปลี่ยนแปลง: 189229956
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เมื่อเปิดใช้ การเปลี่ยนแปลงนี้จะบังคับให้แพ็กเกจที่ใช้อยู่ลบล้างลักษณะการบิดและครอบตัดของกล้องเริ่มต้น และแสดงผลเป็น CaptureRequest.SCALER_ROTATE_AND_CROP_NONE เสมอ

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

รหัสการเปลี่ยนแปลง: 266124927
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้ SCREEN_ORIENTATION_REVERSE_LANDSCAPE สำหรับแอปที่จะใช้ เว้นแต่จะมีการเปิดใช้ OVERRIDE_ANY_ORIENTATION ด้วย ระบบจะใช้ SCREEN_ORIENTATION_REVERSE_LANDSCAPE เฉพาะเมื่อกิจกรรมระบุการวางแนวแนวนอนเท่านั้น การเปิดใช้การเปลี่ยนแปลงนี้จะช่วยให้คุณทดสอบลักษณะการทำงานของแอปเพื่อหาความแตกต่างระหว่างอุปกรณ์ที่การวางแนวแนวนอนสอดคล้องกับ Surface.ROTATION_90 และอุปกรณ์ที่การวางแนวแนวนอนสอดคล้องกับ Surface.ROTATION_270

OVERRIDE_MIN_ASPECT_RATIO

รหัสการเปลี่ยนแปลง: 174042980
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป

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

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

รหัสการเปลี่ยนแปลง: 218959984
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป

เมื่อเปิดใช้ ระบบจะลบล้างข้อจำกัดสัดส่วนภาพขั้นต่ำในโหมดเต็มหน้าจอแนวตั้งเพื่อใช้พื้นที่หน้าจอที่มีอยู่ทั้งหมด

OVERRIDE_MIN_ASPECT_RATIO_LARGE

รหัสการเปลี่ยนแปลง: 180326787
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เมื่อเปิดใช้ OVERRIDE_MIN_ASPECT_RATIO ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะตั้งค่าสัดส่วนภาพขั้นต่ำของกิจกรรมเป็นค่าขนาดใหญ่ตามที่ OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE กำหนด

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

รหัสการเปลี่ยนแปลง: 180326845
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เมื่อเปิดใช้ OVERRIDE_MIN_ASPECT_RATIO ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะตั้งค่าสัดส่วนภาพขั้นต่ำของกิจกรรมเป็นค่ากลางตามที่ OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE กำหนด

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

รหัสการเปลี่ยนแปลง: 203647190
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด

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

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

รหัสการเปลี่ยนแปลง: 236283604
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

รหัสการเปลี่ยนแปลง: 265451093
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้ SCREEN_ORIENTATION_NOSENSOR สำหรับแอปที่จะใช้ ระบบจะใช้ SCREEN_ORIENTATION_NOSENSOR เฉพาะในกรณีที่กิจกรรมไม่ได้ระบุการวางแนวแบบคงที่อื่นๆ เว้นแต่ว่าจะมีการเปิดใช้ OVERRIDE_ANY_ORIENTATION ด้วย

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

รหัสการเปลี่ยนแปลง: 265452344
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เปิดใช้ SCREEN_ORIENTATION_PORTRAIT สำหรับแอปที่จะใช้ ระบบจะใช้ SCREEN_ORIENTATION_PORTRAIT เฉพาะในกรณีที่กิจกรรมไม่ได้ระบุการวางแนวแบบคงที่อื่นๆ เว้นแต่ว่าจะมีการเปิดใช้ OVERRIDE_ANY_ORIENTATION ด้วย

RATE_LIMIT_TOASTS

รหัสการเปลี่ยนแปลง: 174840628
สถานะเริ่มต้น: เปลี่ยนการเปลี่ยนแปลงนี้ไม่ได้ เฟรมเวิร์กความเข้ากันได้จะบันทึกไว้เท่านั้น

เปิดใช้การจำกัดอัตราในการเรียกใช้ Toast.show() เพื่อไม่ให้ผู้ใช้ต้องรับข้อความแจ้งมากเกินไปในช่วงเวลาที่จำกัด การพยายามแสดงข้อความแจ้งมากกว่าที่อนุญาตในกรอบเวลาหนึ่งๆ จะทำให้ระบบทิ้งข้อความแจ้งนั้น

REJECT_NEGATIVE_NETWORK_ESTIMATES

รหัสการเปลี่ยนแปลง: 253665015
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

เมื่อเปิดใช้ จะต้องกำหนดให้จำนวนไบต์เครือข่ายโดยประมาณเป็นค่าบวก

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

รหัสการเปลี่ยนแปลง: 241104082
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป กำหนดให้งานโฮสติ้งต้องระบุข้อจำกัดของเครือข่ายหาก JobWorkItem ที่รวมไว้ระบุการใช้งานเครือข่าย

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

รหัสการเปลี่ยนแปลง: 271850009
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป แอปจะต้องระบุทั้งสิทธิ์ INTERNET และ ACCESS_NETWORK_STATE เมื่อกำหนดเวลางานที่มีข้อจำกัดด้านการเชื่อมต่อ

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

รหัสการเปลี่ยนแปลง: 255371817
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป

สําหรับแอปที่กําหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไป ระบบจะแสดงข้อยกเว้นหากแอปไม่ได้ติดตั้งใช้งาน API การโอนข้อมูลที่จําเป็นทั้งหมดอย่างถูกต้องเมื่อระบุงานการโอนข้อมูลที่เริ่มต้นโดยผู้ใช้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่หน้าเว็บที่อธิบายวิธี ย้ายข้อมูลบริการที่ทำงานอยู่เบื้องหน้าไปยังงานการโอนข้อมูลที่ผู้ใช้เริ่ม

USE_EXPERIMENTAL_COMPONENT_ALIAS

รหัสการเปลี่ยนแปลง: 196254758
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด

เมื่อเปิดใช้ ระบบจะอนุญาตให้แพ็กเกจ "android" ใช้แอลกอริทึมของคอมโพเนนต์