เมื่อ Store หรือเครื่องมือติดตั้งแอปติดตั้งแอป ระบบจะถือว่า Store หรือเครื่องมือติดตั้งแอปนั้นเป็น "เครื่องมือติดตั้งที่บันทึกไว้" ซึ่งหมายถึงเครื่องมือติดตั้งแอปล่าสุดของแอปนั้น ก่อน Android 14 Android อนุญาตให้ Store หรือเครื่องมือติดตั้งแอปอื่นเป็นเครื่องมือติดตั้งที่บันทึกไว้และอัปเดตแอปได้โดยไม่ต้องแจ้งให้ผู้ใช้ทราบ
ใน Android 14 ผู้ติดตั้งเริ่มต้นของแอปสามารถประกาศตนเอง "อัปเดตเจ้าของ" และเป็นเจ้าของการอัปเดตแอป หากผู้ติดตั้งรายอื่นพยายามอัปเดตแอป ผู้ใช้จะได้รับโอกาสอนุมัติการอัปเดตใหม่ก่อนที่จะดำเนินการต่อ
เลือกใช้แพ็กเกจเพื่ออัปเดตการเป็นเจ้าของ
หากต้องการประกาศว่า Store หรือโปรแกรมติดตั้งเป็นเจ้าของแพ็กเกจแอป ให้ใส่แท็ก update-ownership
ใน sysconfig
XML ของแต่ละแพ็กเกจ ดังนี้
<update-ownership package="com.example.application" installer="com.example.installer" />
ในตัวอย่างนี้ com.example.application
คือแพ็กเกจแอปที่จะเป็นเจ้าของ และ com.example.installer
คือเจ้าของแพ็กเกจ เมื่อเลือกใช้แพ็กเกจเพื่ออัปเดตการเป็นเจ้าของ Store หรือผู้ติดตั้งที่มีสิทธิ์รายอื่นๆ จะต้องจัดการอัปเดตเจ้าของและขอความยินยอมจากผู้ใช้เพื่ออัปเดตแอป
เลือกไม่ให้แพ็กเกจไม่เปลี่ยนการเป็นเจ้าของ
คุณเลือกให้ร้านค้าหรือโปรแกรมติดตั้งเลือกไม่อัปเดตการเปลี่ยนแปลงเจ้าของแพ็กเกจบางส่วนได้ด้วยการระบุรายการที่ปฏิเสธใน APK เมื่อมีแพ็กเกจอยู่ในรายการนี้ ร้านค้าหรือผู้ติดตั้งจะขออัปเดตความเป็นเจ้าของแพ็กเกจไม่ได้
วิธีเลือกไม่ให้แพ็กเกจอัปเดตโดยร้านค้าหรือโปรแกรมติดตั้งอื่น
ใส่พร็อพเพอร์ตี้ต่อไปนี้ในไฟล์
AndroidManifest.xml
ของร้านค้าหรือโปรแกรมติดตั้งเดิม<application …> <property android:name="android.app.PROPERTY_LEGACY_UPDATE_OWNERSHIP_DENYLIST" android:resource="@xml/legacyOwnershipDenylist" /> </application>
ตัวอย่างนี้อ้างอิงรายการที่ปฏิเสธของ XML ชื่อ
legacyOwnershipDenylist
สร้างรายการที่ปฏิเสธเป็นแหล่งข้อมูล XML ดิบโดยใช้รูปแบบต่อไปนี้
<deny-ownership>com.example.app1</deny-ownership> <deny-ownership>com.example.app2</deny-ownership>
หากร้านค้าหรือผู้ติดตั้งขอการเป็นเจ้าของแพ็กเกจในรายการที่ปฏิเสธ ระบบจะไม่ให้สิทธิ์การเป็นเจ้าของและแพ็กเกจจะยังคงติดตั้งอยู่ แต่จะไม่มีการเป็นเจ้าของโดยผู้ติดตั้งรายใด นอกจากนี้ แอปในรายการที่ปฏิเสธจะไม่มีใครเป็นเจ้าของได้ ไม่ว่าผู้ติดตั้งจะเป็นผู้ใดก็ตาม
ชุดแพ็กเกจในรายการนี้อาจมีการเปลี่ยนแปลงผ่านการอัปเดต APK Installer ที่ระบุรายการ ระบบจะล้างการเป็นเจ้าของที่ตั้งค่าสำหรับแพ็กเกจซึ่งมาพร้อมกับรายการปฏิเสธในภายหลังเมื่อตัวติดตั้งอัปเดต ด้วยเหตุนี้ ผู้ใช้จึงไม่ต้องมีการโต้ตอบในการอัปเดตแพ็กเกจแอปในรายการปฏิเสธในครั้งต่อๆ ไป
จัดการเจ้าของการอัปเดตและขอความยินยอมจากผู้ใช้
ใน Android 14 แม้ว่า Store หรือเครื่องมือติดตั้งแอปจะมีสิทธิ์ android.permission.INSTALL_PACKAGES
แต่ก็ยังต้องจัดการสถานะ STATUS_PENDING_USER_ACTION
อยู่หากต้องการอัปเดตแอปที่การอัปเดตเป็นของ Store หรือเครื่องมือติดตั้งอื่น
แอปตัวอย่าง InstallAPKSessionApi.java
ยังแสดงวิธีจัดการ STATUS_PENDING_USER_ACTION
ด้วย
สร้างความเป็นเจ้าของแอปที่โหลดล่วงหน้า
โดยปกติแล้ว แอปที่โหลดไว้ล่วงหน้าไม่ได้เป็นของผู้ติดตั้งคนใดคนหนึ่ง แต่แอปที่โหลดไว้ล่วงหน้าจะได้รับมอบหมายเจ้าของใหม่โดยใช้การกำหนดค่าระบบที่แสดงในแพ็กเกจเลือกใช้เพื่ออัปเดตการเป็นเจ้าของ