การเปลี่ยนแปลงเฟรมเวิร์กความเข้ากันได้ (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) ขึ้นไป

Flag to gate correct exception thrown by #detachImage.

#detachImage มีการบันทึกว่าส่ง IllegalStateException ในกรณีที่เกิดข้อผิดพลาด เมธอดผู้ช่วยในระบบเดิมสำหรับเมธอดนี้จะส่ง RuntimeException หากมีการละทิ้ง Surface ขณะถอด 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) เดิม (โดยมี Daemon ดั้งเดิมเดิมเป็นแบ็กเอนด์ 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 ของแอป

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

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

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

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

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

FGS_TYPE_NONE_DISABLED_CHANGE_ID

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

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

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

FGS_TYPE_PERMISSION_CHANGE_ID

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

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

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

FORCE_DISABLE_HEVC_SUPPORT

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

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

FORCE_ENABLE_HEVC_SUPPORT

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

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

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 โดยนัย หาก ไม่ได้ส่งออกและเรียกใช้คอมโพเนนต์ ระบบจะนำคอมโพเนนต์นั้นออกจากรายการ ตัวรับ ซึ่งมีผลเฉพาะกับกิจกรรมและการออกอากาศ

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

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

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

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

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 สำหรับแอปที่ใช้ หากไม่ได้เปิดใช้ OVERRIDE_ANY_ORIENTATION ด้วย SCREEN_ORIENTATION_NOSENSOR จะใช้ก็ต่อเมื่อกิจกรรมไม่ได้ระบุการวางแนวคงที่อื่นๆ

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

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

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

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" ใช้ นามแฝงของคอมโพเนนต์