عندما يتم تثبيت تطبيق من خلال متجر أو أداة تثبيت، يتم اعتبار المتجر أو أداة التثبيت "جهة التثبيت المسجّلة"، أي آخر جهة ثبَّتت التطبيق. قبل الإصدار 14 من Android، كان نظام التشغيل Android يسمح لمتجر أو أداة تثبيت أخرى بأن تصبحا جهة التثبيت المسجّلة وتُحدِّث التطبيق بدون إرسال إشعار إلى المستخدم.
في نظام التشغيل Android 14، يمكن لمثبِّت التطبيق أن يعرِّف نفسه بأنّه "مالك التحديث". وتحديثات التطبيق الخاصة بك. إذا حاولَت أداة تثبيت أخرى تحديث التطبيق، يتم منح المستخدم الفرصة للموافقة على التحديث الجديد قبل تنفيذه.
تفعيل الحِزم لتعديل الملكية
للإعلان عن امتلاك متجر أو أداة تثبيت لحزمة تطبيق، يجب اتّباع الخطوات التالية:
أدرِج العلامة update-ownership
في ملف sysconfig
XML الخاص بكل حزمة
التالي:
<update-ownership package="com.example.application" installer="com.example.installer" />
في هذا المثال، com.example.application
هي حِزمة التطبيق التي سيتم امتلاكها وcom.example.installer
هو مالك الحِزمة. عند تفعيل ميزة تعديل الملكية في الحزمة، على المتاجر أو أدوات التثبيت المميّزة الأخرى
التعامل مع مالك التحديث والحصول على موافقة المستخدم لتحديث التطبيق.
إيقاف تغييرات الملكية في الحِزم
يمكنك أن تطلب من المتجر أو أداة التثبيت إيقاف مجموعة فرعية من الحِزم تعديل تغييرات المالك من خلال تقديم قائمة حظر في حزمة 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 توفّر القائمة عند تعديل أداة التثبيت، يتم محو أي ملكية تم ضبطها لحزمة تم إدراجها لاحقًا في قائمة الرفض. وبالتالي، لن تتطلب التحديثات اللاحقة لحزمة التطبيق المُدرَجة في قائمة الرفض تفاعل المستخدم.
تعديل اسم الحساب والحصول على موافقة المستخدم
في Android 14، حتى إذا كان المتجر أو مُثبِّت التطبيق يملك إذن
android.permission.INSTALL_PACKAGES
، لا يزال بحاجة إلى التعامل مع حالة
STATUS_PENDING_USER_ACTION
إذا أراد تحديث تطبيق تعود ملكية تحديثاته لمتجر أو مُثبِّت آخر.
يوضّح تطبيق InstallAPKSessionApi.java
أيضًا كيفية التعامل مع STATUS_PENDING_USER_ACTION
.
تحديد ملكية التطبيقات المحمَّلة مُسبَقًا
لا تكون التطبيقات المحمَّلة مسبقًا عادةً مملوكة لمثبِّت معيّن. بدلاً من ذلك، يتم تعيين مالك جديد للتطبيقات التي تم تحميلها مسبقًا باستخدام إعدادات النظام يظهر في قسم تفعيل الحِزم لتعديل الملكية.