يتوفر الآن ملف مضغوط قابل للاشتعال يعمل على جلب Xpose Framework إلى Android 7.1 Nougat ROM. يعمل الرمز البريدي على هاتف OnePlus 3T بالإضافة إلى العديد من الهواتف الأخرى!
بعد أشهر وأشهر من الانتظار، حصلنا أخيرًا على دعم Xpose Framework لأقراص Nougat ROM (وإن كان ذلك بشكل غير رسمي). بفضل بعض المطورين الموهوبين في منتديات XDA الخاصة بنا، يمكنك الآن تثبيت Xpose Framework على Android Nougat ROM من خلال ملف مضغوط قابل للاشتعال.
حتى الآن، كان مستقبل Xpose على Nougat يبدو هشًا بعض الشيء. Rovo89 - المطور وراء Xpose Framework - قدمت تحديثًا لدعم Android Nougat منذ أكثر من أسبوع بقليل. ذكر Rovo89 بشكل أساسي أنه لا يزال هناك الكثير من العمل الذي يتعين القيام به حتى يعمل Xpose بشكل صحيح على Nougat، وأنه يتعين علينا فقط التحلي بالصبر.
ولحسن الحظ، يبدو أننا حصلنا على حل مؤقت لأولئك منا الذين كانوا ينتظرون بفارغ الصبر اتخاذ إجراء مؤقت. حصل فريق PurifyOS على وحدة ART التي قام بتطويرها ابفورس كان يعمل على (و الذي تم نشره في وقت سابق اليوم)، وقمت بتكييفه ليكون قابلاً للتثبيت على ROM مخصصة أخرى من خلال ملف مضغوط قابل للاشتعال (بدلاً من الاضطرار إلى تنفيذه عند تجميع ROM).
توجد حاليًا ثلاثة إصدارات متاحة لمنصات مختلفة، بما في ذلك Xpose SDK25 أرم64، اكسبوزد SDK25 ذراعوXpose SDK25 س86. اختبر فريق PurifyOS هذا الإصدار الجديد من Xpose مع هاتف OnePlus 3T الذي يعمل بنظام OxygenOS استنادًا إلى نظام التشغيل Android 7.1، ولكن من المفترض أن يعمل على الهواتف الأخرى التي تعمل بنظام Android Nougat وأبلغ المستخدمون بالفعل أنهم تمكنوا من تثبيته بنجاح على ROMs مختلفة و الأجهزة. على سبيل المثال، أبلغ عدد قليل من مستخدمي OnePlus 5 عن نجاحه (ليس مفاجئًا، نظرًا لأنه يعمل على OnePlus 3T على ما يرام)، ولكن أبلغ أيضًا أحد المستخدمين الذين يقومون بتشغيل ROM المستند إلى AOSP لجهاز Samsung Galaxy S6 أنه يعمل لصالحهم.
ستكون هناك مراوغات يجب اكتشافها، ولم يتمكن الجميع من تشغيلها حتى الآن، حيث يعاني بعض المستخدمين من عمليات الإغلاق القسري وغيرها من الأمور الشاذة. ومع ذلك، حتى في هذه الحالة، لا يزال بإمكانك تجربتها إذا كنت تنتظر وصول Xpose إلى Nougat منذ إصدار الإصدار السابق من نظام التشغيل Android. لن تعمل جميع وحدات Xpose Framework الموجودة على الفور، ولكن تم الإبلاغ عن أن بعض الوحدات المشهورة حقًا مثل Amplify تعمل.
تأكد من عمل نسخ احتياطية منتظمة وقراءة الموضوع بعناية قبل المغامرة إذا لم تكن متأكدًا مما إذا كان جهازك أو ROM مدعومًا. وأخيرا، تأكد من استخدام وظيفة "البحث" قبل ترك سؤال مكرر. قد يكون Android O قريبًا جدًا، ولكن كما يقول المثل، "أن تأتي متأخرا أفضل من ألا تأتي أبدا." بالإضافة إلى ذلك، لن يتمكن الكثير من المستخدمين من رؤية Android O على أجهزتهم لبعض الوقت، لذلك يجب أن يكون Xpose بمثابة متعة رائعة حتى لا تشعر بالتخلف عن الركب.
تحديث: استجابة Rovo89
تم تطوير النسخة الأصلية خلف إطار عمل Xpose، وهو أحد كبار مطوري XDA المعترف بهم روفو89، كان يرد على Github بأفكاره حول هذه التطورات الأخيرة.
من تجربتي، أستطيع أن أخبرك أنه في الواقع ليس من الصعب إنجاز الأساسيات، لكن الأمر يستغرق الكثير من الوقت للحصول على التفاصيل. إنها مثل قاعدة 80-20، إلا أنها أقرب إلى 95-5 أو نحو ذلك.
يعد أسلوب التثبيت الذي صممته للإصدارات السابقة مستقرًا إلى حد ما ويمكن تطبيقه على الإصدارات الأحدث أيضًا. أفترض أنك بحاجة معظم الوقت للتحقق من جميع الأماكن التي
IsProxyMethod()
وIsDirect()
يتم استدعاؤه وتحديد ما إذا كان ينبغي عليهم النظر في مُعدِّل الطريقة الجديدة أم لا (أي استخدام المعلمةtrue
أم لا). إذا لم تقم بذلك، فربما فاتتك بعض الأماكن التي قاموا فيها بتقديم مثل هذه المكالمات حديثًا. الشيء نفسه بالنسبة لأساليب مثلInstallStubsForMethod()
، والتي تحتاج إلى العمل بالطريقة الأصلية الأصلية حتى عندما يتم استدعاؤها لطريقة معقوفة. ستحتاج إلى التحقق من المزيد من الأماكن التي قد يكون فيها ذلك ذا صلة. لا يزال هذا في نطاق الأيام، ولكن إذا فاتك القيام بذلك، فقد ترى أعطالًا غامضة أو سوء سلوك يصعب تصحيحه.بالإضافة إلى ذلك، فقد اتبعت نهجًا حيث تعمل الخطافات بشكل صحيح فقط مع ذاكرة القراءة فقط (ROM) التي تم تجميعها بالكامل من البداية. على ROM المخزون وحتى معظم ROM المخصصة (التي لم تتضمن المنفذ الخاص بك أثناء الإنشاء) بالإضافة إلى أي تطبيقات قد يكون الجهاز قد قام بتجميعها من قبل. لذلك سيتعين عليك البدء من جديد باستخدام جهاز تم مسحه يقوم بتشغيل ذاكرة ROM خاصة. إذا لم يكن الأمر كذلك، فإن التحسينات (مثل التضمين) قد تمنع استدعاء الطريقة على الإطلاق، وبالتالي لن تعمل الخطافات. أسوأ شيء في هذا هو أن السلوك الدقيق سيعتمد على ذاكرة القراءة فقط، أو حتى كيفية استخدام المستخدم للجهاز (الآن بعد أن تم تجميع التطبيقات بناءً على الملفات الشخصية). قد تفشل الوحدات بشكل عشوائي وسيتساءل مطورو الوحدات عن الخطأ الذي ارتكبوه (الإجابة: لا شيء). إذا لم يتم استيفاء جميع المتطلبات الأساسية، فهي واجهة برمجة تطبيقات غير موثوقة إلى حد كبير. تخيل أن Google نشرت تحديثًا حيث
OnClickListener
لم يتم استدعاء الزر في بعض الأحيان، إلا إذا قمت بتجميع ذاكرة القراءة فقط (ROM) الخاصة بك من البداية... بالنسبة لي شخصيا، هذا قيد كبير.
يتابع:
ليس من المنطقي على الإطلاق نشر ملفات ZIP قابلة للاشتعال باستخدام هذا، حيث أن المنفذ مخصص فقط لإعادة ترجمة ROM من البداية.
وكما كنت أخشى، لا يوجد تحذير واحد بأن هذا المنفذ غير مكتمل وغالبًا ما يفشل في الوفاء بعقد API. 😠 هذا أمر سيء بالنسبة للمطورين والمستخدمين، يجب عليهم على الأقل أن يعرفوا أنه غير مكتمل حتى يتمكنوا من تحديد ما إذا كانوا يريدون دعمه/استخدامه. لن أجرؤ أبدًا على فعل شيء كهذا دون تحذير كبير. في الواقع، نظرًا لأنني أسعى إلى الكمال إلى حد ما، فلن أنشر نسخة غير كاملة على الإطلاق، فالموثوقية مهمة جدًا بالنسبة لي.
لقد قمت للتو بمراجعة سجل Git الخاص بي وكان التثبيت الأساسي (كما هو الحال في هذا المنفذ) جاهزًا في أكتوبر. ومنذ ذلك الحين، عملت على إزالة القيود. لجعله أكثر موثوقية على ذاكرة القراءة فقط (ROM) المجمعة مسبقًا، كان بإمكاني نقل جزء إعادة الترجمة أيضًا، ولكن هذا لا يزال غير مثالي. كما هو موضح في مكان ما أعلاه، لدينا JIT الآن، والذي يسمح لنا بالاحتفاظ بجميع التحسينات، فقط إبطال (وربما إعادة ترجمة) الأساليب التي تتأثر بشكل مباشر بالربط. يعد هذا أمرًا صعبًا للغاية، لأنه أكثر من مجرد نسخ ولصق. وإلى أن يتم ذلك، لن أنشر أي شيء. أعلم أن 9 أشهر (حتى الآن) هي فترة طويلة حقًا، ولكن مهلا، إنه وقت فراغي وعلى سبيل المثال. بسبب الانتقال الى شقة جديدة، ولم أتمكن من العمل على Xpose لعدة أشهر (!) على الإطلاق، ولم يكن لدي سوى وقت محدود للغاية بخلاف ذلك.
يجب أن نوضح أن هذه التطورات الأخيرة ليست "Xpose" الحقيقي الذي تعرفونه جميعًا أحبها، ولكنها تسمح لك من الناحية الوظيفية باستخدام بعض وحدات Xpose Framework الآن على Android نوجا. لن نخطئ في عدم انتظار الإصدار الرسمي والأكثر استقرارًا والأكثر توافقًا من Xpose Framework لنظام Android Nougat، لكننا نريد أن نوضح أن هذا التكرار هو مجرد إجراء مؤقت يهدف إلى تلبية احتياجات بعض المستخدمين بشكل صحيح الآن. من المحتمل ألا تكون هذه هي الطريقة التي سيتم بها التعامل مع Xpose في المستقبل.
قم بتنزيل إطار عمل Xpose غير الرسمي لـ Nougat على منتديات XDA