การเปลี่ยนแปลงเฟรมเวิร์กความเข้ากันได้ (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 ของกิจกรรมที่กำลังเปิดแอป เมื่อเปิดใช้การเปลี่ยนแปลงนี้และมีคุณสมบัติตรงตามข้อกำหนดข้อใดข้อหนึ่งเหล่านี้ กิจกรรมจะสามารถเข้าถึง 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 Callback จะหายไปเมื่อแอปการโทรอยู่ในแคช

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

FGS_TYPE_CHECK_FOR_INSTANT_APPS

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

เมื่อเปิดใช้ Instant App ต้องระบุพื้นหน้าที่เหมาะสม ประเภทบริการสำหรับบริการใดๆ ที่ประกาศไว้ใน 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 นี้และ FORCE_ENABLE_HEVC_SUPPORT ระบบจะไม่สนใจทั้ง 2 Flag

FORCE_ENABLE_HEVC_SUPPORT

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

บังคับให้แอปรองรับความสามารถด้านสื่อ HEVC ควรประกาศความสามารถด้านสื่อที่รองรับในไฟล์ Manifest แต่ Flag นี้ใช้เพื่อบังคับให้แอปรองรับ HEVC ได้ ดังนั้น เพื่อหลีกเลี่ยงการแปลงขณะเข้าถึงสื่อที่เข้ารหัสใน HEVC การเกริ่นนำ แฟล็กนี้จะลบล้างค่าเริ่มต้นของระดับระบบปฏิบัติการสำหรับแอป โดยค่าเริ่มต้น ระบบจะปิดใช้การตั้งค่านี้ ซึ่งหมายความว่าค่าเริ่มต้นของระบบปฏิบัติการจะมีผลเหนือกว่า หากเปิดใช้ทั้ง 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 ในการจับภาพ

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

เปิดใช้การตรวจสอบแท็กหน่วยความจําแบบซิงค์ (SYNC) ในกระบวนการนี้ แฟล็กนี้มีผลเฉพาะกับฮาร์ดแวร์ที่รองรับการติดแท็กหน่วยความจำของ ARM ส่วนขยาย (MTE) ถ้าทั้ง 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 สำหรับแอปที่จะใช้ ยกเว้น 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" แพ็กเกจที่จะใช้ ชื่อแทนคอมโพเนนต์