إطار Xposed لـ Android Lollipop هنا!

إطار Xposed لا يحتاج إلى مقدمة للقراء. عندما سئل عن الأشياء التي يكرهها مجتمعنا أكثر حول Lollipop ، كان أعلى تعليق صوتي في المناقشة هو أنه حطم دعم Xposed. في الواقع ، حتى أن العديد من أعضاء المنتدى رفضوا التحديث إلى Lollipop خصيصًا لهذا السبب. ولكن كل هذه التغييرات الآن ، حيث وصل إطار Xposed Framework المتوقع للغاية لـ Android Lollipop.

إذا لم تكن معتادًا بالفعل على Xposed ، ببساطة ، إنها هبة من السماء لمجتمع التعديل. لا يتطلب Xposed أي وميض من أي ROM ، ولكنه يجلب الكثير من التخصيص والقرص الذي يمكن للمستخدمين تثبيته مثل التطبيقات على الأجهزة الجذر. انها بسيطة بشكل لا يصدق للاستخدام ومع مخاطر محدودة. والآن ، يمكن لجميع عشاق Android على Lollipop الاستمتاع بمزايا هذا المشروع الرائع على أجهزتهم. احصل على التنزيل واحصل على التعديل!

قم بتنزيل Xposed Framwork على Android Lollipop هنا.

كان rovo89 لطيفًا أيضًا بما يكفي لتزويدنا بسؤال وجواب عن أحدث مشروع. يمكنك العثور على إجابات لجميع أسئلتك حول المشروع أدناه.

لماذا استغرق وقتا طويلا؟ تم نشر ART منذ أكثر من عام!

بادئ ذي بدء - لا يزال الكثير من الناس يسألون عن دعم ART. يحتوي Lollipop على تغييرات أكثر بكثير من ذلك ، مثل سياسات SELinux الأكثر صرامة ، وتغييرات ROM ذات 64 بت وتغييرات البنية التي تتوقعها من إصدار رئيسي. وبالطبع يتم تحسين ART نفسها باستمرار. هناك اختلافات كبيرة بين ART لـ KitKat و ART لـ Lollipop.

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

سبب آخر هو أن هناك أشياء أخرى في حياتي غير Xposed ، لذلك كانت هناك أسابيع أو حتى أشهر لم أكن قد نظرت فيها في الكود مطلقًا.

هل نحن بحاجة إلى إعادة كتابة جميع الوحدات؟

لا ، لم تتغير واجهة برمجة تطبيقات Xposed. تقوم Xposed بتلخيص كل التفاصيل ، لذلك لا تحتاج الوحدات إلى الاهتمام بما إذا كانت تعمل على Dalvik أو ART. ستعمل العديد من الوحدات في الواقع دون أي تغييرات ، خاصة تلك التي تعدل سلوك تطبيقات المستخدم. قد تحتاج الوحدات النمطية التي تستهدف سلوك النظام إلى التعديل وفقًا لرمز إطار عمل Android الجديد ، والذي لا ينتج عن ART ، ولكن ببساطة عن طريق تغييرات الهندسة المعمارية والتعليمات البرمجية التي تحدث بين أي إصدارين من إصدارات Android. الأكثر أهمية هو أنه تم نقل رمز خدمات النظام إلى ملف منفصل. بالنسبة لمعظم الوحدات المتأثرة ، يمكن حل هذا الأمر عن طريق إعادة بيع بعض الشيء (نقل الكود إلى مكان مختلف).

هل تعمل فعلا؟

نعم! بالنسبة لي على الأقل ، يعمل بشكل جيد على جهازي اليومي (Nexus 5 على CM12) وأيضًا على Nexus 9 (يتم الدفع بواسطة - شكرًا!). الهاتف مستقر كالمعتاد والتطبيقات تعمل بشكل جيد. ومن الواضح أن الوحدات النمطية واستبدالاتها الخاصة بالموارد / الموارد تعمل بشكل جيد أيضًا ، وإلا لن يكون هناك أي نقطة في إطلاق شيء ما.

ولكن إذن لماذا هي نسخة ألفا؟

نظرًا لوجود تغييرات ضخمة منذ آخر إصدار ثابت يلزم اختباره من قِبل أشخاص يعرفون كيفية استخدام الاسترداد ، والهروب من حلقات التمهيد والإبلاغ عن الأخطاء بشكل صحيح. أنصح بشدة newbies بالانتظار حتى يتم اختبار Xposed بواسطة عدد كاف من الأشخاص ذوي الخبرة.

هناك أيضًا بعض الحالات التي لم يتم اختبارها بعد ، مثل تثبيت أساليب وطرق JNI (الأصلية) التي يتم تنفيذها في وقت تركيبها.

أريد تثبيته. الآن! ماذا علي ان افعل؟

تأكد من أنك قد قرأت كلماتي أعلاه وأنك على دراية بالداخلية في هاتفك. من الواضح أنك تحتاج إلى أن تكون على Lollipop ROM وأن تتمتع بنسخة احتياطية جيدة لبياناتك. في الوقت الحالي ، سأنشر فقط نسخة ARMv7. 64 بت أكثر تعقيدًا ، لذلك دعونا نجرب الخيار "السهل" أولاً.

في الوقت الحالي ، يجب إجراء التثبيت يدويًا في عملية استرداد مخصصة. سيتم تثبيت وميض ملف zip:

  • app_process32_xposed وبعض الروابط
  • libexposed_art.so
  • libart.so وبعض ثنائيات + مكتبات ذات صلة (استنادًا إلى 5.0.2 ، معززة بدعم لتثبيت إلخ.)
  • XposedBridge.jar (المخزنة الآن في / النظام / الإطار)

سيتم إنشاء نسخ احتياطية من الملفات الموجودة تلقائيًا ويمكن استعادتها لاحقًا.

لا يعمل / أنا لا أحب ذلك! كيف يمكنني إلغاء تثبيته؟

أسهل طريقة هي استعادة نسخة احتياطية أو فلاش قسم النظام. لم يتم بعد إنشاء ملف مضغوط لإلغاء التثبيت.

لماذا تحل محل ملفات ART على جهازي؟ هذا أكثر غزوًا منه على Dalvik ، وسوف يسبب مشاكل كبيرة في الأداء وسيكون غير مستقر!

لقد كتبت بعض الأسباب على جيثب. نعم ، إنه أكثر غزوًا ، لذا حاولت تجنبه لفترة طويلة ، لكن من وجهة نظر تقنية وموجهة نحو الدعم ، أعتقد أنه الخيار الأفضل.

أداء أقل من ART الأصلي؟ ربما ، حيث اضطررت إلى تعطيل بعض التحسينات لجعل أنواع معينة من السنانير ممكنة. ومع ذلك ، فإن هذا لا يؤثر إلا على جزء بسيط من جميع الطرق ، وحتى بالنسبة لهذه الطرق ، فإن خسارة الأداء ليست بالتأكيد مهمة أو ملحوظة ، حتى لو كانت قابلة للقياس. لا يزال هناك الآلاف من التحسينات الأخرى التي أجراها ART ، وحاولت تعطيل أقل عدد ممكن مع توفير أكبر قدر ممكن من المرونة.

الاستقرار على ما يرام كما ذكر أعلاه. مقارنةً بالنهج الذي استخدمته لـ Dalvik (تعديل هياكل البيانات الداخلية الخاصة بوقت التشغيل من app_process) ، أنا متأكد تمامًا من أن استبدال المكتبات تمامًا هو وسيلة أكثر موثوقية. يمكنني دمج التغييرات التي أجريتها في التعليمات البرمجية الحالية بشكل نظيف وإعادة استخدام الوظائف ذات الصلة ، بينما ستكون هناك حاجة إلى العديد من الاختراقات والافتراضات لطرق أخرى.

هل ستنجح الكود المصدري في النهاية؟

بالتأكيد ، ستجده على GitHub بعد وقت قصير جدًا من إصدار إصدار ألفا ، في فرع منفصل في الوقت الحالي.

هل هذا يعني أن نسخة الأندرويد الأقدم لم تعد مدعومة الآن؟

لا! يتم تجميع الشفرة الجديدة على جميع إصدارات 4.x من Android ، وتحتاج فقط إلى اختبارها قبل إصدار موحد. لكن أولاً ، يجب أن أتأكد من أنه يعمل بشكل جيد مع Lollipop. ربما ، يمكن إعادة دعم ART إلى KitKat ، لكن هذا أقل أولوية.

كيف يمكنني أن أشكرك على عملك؟

طلب الكثير من الناس طرقًا للتبرع بعدد قليل من الدولارات ، لذلك قمت بإنشاء صفحة للتبرع الآن.

ما المبلغ الذي أحتاجه للتبرع لك لإضافة الميزة X أو وحدة نمطية Y؟

هذا ليس التبرع ، وهذا يدفع لشخص ما في انتظار العمل في المستقبل. أنا غير مهتم بالوظائف المستقلة.