سؤال

من وثائق التوقيع في https://developer.android.com/studio/publish/index.html:

عندما يقوم النظام بتثبيت تحديث إلى تطبيق ما ، إذا كان أي من الشهادات في الإصدار الجديد يتطابق مع أي من الشهادات في الإصدار القديم ، فإن النظام يسمح للتحديث.

يشير هذا إلى أنه يمكن توقيع التطبيق مع شهادات متعددة.

هذا خيار مثير للاهتمام للسماح للكيانات المتعددة للتوقيع على تطبيق. على سبيل المثال: تطبيق النظام الذي تم توقيعه في البداية من قبل الشركة المصنعة للجهاز. يمكن توقيع المزيد من التحديثات من قبل المطور.

هل أخطأ في قراءة الوثائق أم أن هذا ممكن حقًا؟ إذا كان الأمر كذلك ، كيف؟

هل هناك أي طريقة أخرى لتقديم طلب لدعم شهادات مختلفة ومع ذلك ، توقيع كيانين أو أكثر؟

هل كانت مفيدة؟

المحلول

يمكنك توقيع APKs بشهادات مختلفة إذا كنت تستخدم الاسم المستعار المختلفة في عملية التوقيع.

سيؤدي ذلك إلى إنشاء ملفات مختلفة داخل مجلد Meta-Inf. لا أعرف ما هي الآثار المترتبة على عملية التحديث داخل سوق Android.

نصائح أخرى

لقد وجدت حلاً لهذا ، ليس جميلًا ولكن حل رغم ذلك.

يتكون ملف APK موقّع من:

  • ملفات موقعة مع شهادة معينة
  • مجلد meta-inf مع مفتاح الشهادة العامة

للحصول على APK مع شهادات متعددة:

  • كل طرف يوقع APK
  • يتم جمع محتويات التعريف لكل APK
  • يتم إنشاء APK جديد (هذا مجرد ملف مضغوط) ويحتوي المجلد على جميع الشهادات على جميع الشهادات

هذا سيسمح لأي من أطراف التوقيع بتحديث APK.

ملاحظة واحدة ، لا توجد إمكانية لإضافة شهادات في التحديث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top