كيفية تصميم واجهة مستخدم نظام Android يدويًا

وغيرها من الأسئلة المشابهة المتعلقة بواجهة مستخدم Android. تسمح بعض العلامات التجارية بذلك من خلال متاجر السمات ، ولكن قد تختلف المسافة المقطوعة بحسب ما يمكن تغييره بالضبط.



ما يتلخص كل هذا ، مع ذلك ، هو SystemUI.apk - وسأعرض عليك خطوة بخطوة حول تحرير الموارد الموجودة داخل ملف apk هذا لتخصيص واجهة مستخدم Android بالشكل الذي تريده. يرجى ملاحظة أن هذا الدليل مخصص بشكل أساسي لذاكرة القراءة فقط (ROM) المستندة إلى AOSP - وقد تختلف الإشارات إلى الملفات الموجودة داخل SystemUI.apk عما لديك ، اعتمادًا على الشركة المصنعة لهاتفك. ولكن إذا كان الأمر كذلك ، فلا يزال بإمكانك تحقيق ما نقوم به ، بقليل من التجربة والخطأ.

نظرًا لأن هذا الدليل يدور حول تحرير ملفات نظام Android وتخصيص ذاكرة القراءة فقط (ROM) الخاصة بك ، يجب أن ترى أيضًا أدلة Appual التالية:



المتطلبات:

  • جهاز جذر ( البحث في Appual's عن أدلة جذر Android )
  • أدوات ADB و Fastboot ( انظر دليل Appual كيفية تثبيت ADB على Windows )
  • جافا SDK
  • APKTool أو APKMultiTool
  • NotePad ++ ( أو محرر نصوص آخر سهل الاستخدام لتحرير خطوط XML و Smali )
  • برنامج تحرير الصور مثل GIMP أو Photoshop
  • 7-Zip أو Winrar

ملاحظة: بالنسبة لهذا الدليل ، سأستخدم أداة APKTool كمرجع - إذا كنت تستخدم APKMultiTool بدلاً من ذلك ، فقد تختلف عملية الإعداد الأولي وإلغاء التحويل / إعادة التحويل البرمجي ، ولكن الخطوات بشكل عام هي نفسها.



أيضًا ، قد ترغب في التفكير في تثبيت ROM الخاص بجهازك في محاكي Android على جهاز الكمبيوتر الخاص بك ، حتى تتمكن من اختبار ومعاينة تغييرات SystemUI الخاصة بك قبل تحميلها على جهازك.



إعداد APKTool لنظام التشغيل Windows

  1. تنزيل Windows البرنامج النصي المجمع (انقر بزر الماوس الأيمن ، حفظ الارتباط باسم apktool.bat)
  2. تنزيل apktool-2 ( تجد الأحدث هنا )
  3. إعادة تسمية الجرة التي تم تنزيلها إلى apktool.jar
  4. انقل كلا الملفين (apktool.jar & apktool.bat) إلى دليل Windows (عادةً C: // Windows)
  5. إذا لم يكن لديك حق الوصول إلى C: // Windows ، فيمكنك وضع الملفين في أي مكان ثم إضافة هذا الدليل إلى متغير البيئة متغيرات النظام PATH.
  6. حاول تشغيل apktool عبر موجه الأوامر

APKTool إعداد لينكس

  1. قم بتنزيل Linux البرنامج النصي المجمع (انقر بزر الماوس الأيمن ، حفظ الرابط باسم apktool)
  2. تنزيل apktool-2 ( تجد الأحدث هنا )
  3. إعادة تسمية الجرة التي تم تنزيلها إلى apktool.jar
  4. انقل كلا الملفين (apktool.jar & apktool) إلى / usr / local / bin (الجذر مطلوب)
  5. تأكد من أن كلا الملفين قابلين للتنفيذ (chmod + x)
  6. حاول تشغيل apktool عبر cli

APKTool Setup لنظام التشغيل Mac OS X

  1. تنزيل Mac البرنامج النصي المجمع (انقر بزر الماوس الأيمن ، حفظ الرابط باسم apktool)
  2. تنزيل apktool-2 ( تجد الأحدث هنا )
  3. إعادة تسمية الجرة التي تم تنزيلها إلى apktool.jar
  4. انقل كلا الملفين (apktool.jar & apktool) إلى / usr / local / bin (الجذر مطلوب)
  5. تأكد من أن كلا الملفين قابلين للتنفيذ (chmod + x)
  6. حاول تشغيل apktool عبر cli

فك النظام UI.Apk مع APKTool

  1. بعد تثبيت APKTool ، نحتاج إلى سحب ملف الإطار الخاص بك من جهازك عبر ADB. ال AOSP عام ملف الإطار المسمى ' framework-res.apk ' عثر عليه في / نظام / إطار المسار على جهازك ، لكن معظم الشركات المصنعة تتضمن ملفات إطار العمل الخاصة بها بالإضافة إلى إطار عمل AOSP.
  2. قد يكون هذا أمرًا صعبًا لأنك ستحتاج إلى معرفة أن الشركة المصنعة قامت بتسمية ملف موارد إطار العمل على جهازك. عادة ما يتم العثور عليها في / نظام / إطار ، ولكن في بعض الأحيان يمكن إخفاؤها / data / system-framework أو / system / priv-app . عادةً ما تحتوي الملفات نفسها على ' مصادر' ، 'لحم بقري' ، أو إطار العمل' في أسماء الملفات.
  3. بمجرد تحديد موقع ملف Framework ، اسحبه مع SystemUI.apk عبر وحدة تحكم ADB. ستفعل هذا بالأمر:
  4. adb pull /system/framework/framework-res.apk (قم بتغيير المسار إذا لزم الأمر وقم بنفس الأمر لـ SystemUI.apk)
  5. ستجد الملفات التي تم سحبها في مجلد تثبيت ADB الرئيسي على جهاز الكمبيوتر الخاص بك.
  6. الآن سنقوم بتثبيتها في APKTool. لذلك في موجه الأوامر ، اكتب:
  7. Apktool إذا لذلك على سبيل المثال apktool إذا كان C: ADB framework-res.apk
  8. كرر ما ورد أعلاه لـ SystemUI.apk
  9. سنقوم الآن بفك تشفير ملف SystemUI.apk ، لذا اكتب في نافذة الأوامر: أبكتول د SystemUI.apk
  10. سيؤدي ذلك إلى استخراج ملف SystemUI.apk بأكمله في سلسلة من المجلدات.

تحرير الأيقونات وألوان واجهة المستخدم

لذا أنت الآن بحاجة إلى معرفة DPI لهاتفك ، لأنك ستحب المجلدات SystemUI / res / drawable-hdpi ، SystemUI / res / xhdpi ، إلخ. هذه طريقة عملها:



  • ldpi (منخفض) ~ 120 نقطة في البوصة
  • mdpi (متوسط) ~ 160 نقطة في البوصة
  • hdpi (عالية) ~ 240 نقطة في البوصة
  • xhdpi (عالية جدًا) ~ 320 نقطة في البوصة
  • xxhdpi (فائقة للغاية) ~ 480 نقطة في البوصة
  • xxxhdpi (اضافية اضافية عالية) ~ 640 ديسيبل متوحد الخواص

لذلك لتعديل موارد SystemUI الخاصة بك ، ستحتاج إلى معرفة الفئة التي تندرج تحتها شاشتك.

داخل المجلد ، سترى إلى حد كبير جميع ملفات .png المستخدمة لواجهة مستخدم النظام - كل شيء بدءًا من رموز شريط الإشعارات ، وأيقونات لوحة الإعدادات السريعة ، وما إلى ذلك. يمكن أن تختلف أسماء الملفات الفعلية اعتمادًا على الشركة المصنعة ، ولكن AOSP- يجب أن تحتوي ملفات ROM المستندة إلى ملفات مسماة مثل هذا:

  • Notification_panel_bg.9 ( خلفية شريط الحالة الخاصة بك)
  • ic_qs _ ####. png ( رموز لوحة الإعدادات السريعة)
  • stat_syst _ ####. png ( رموز شريط الحالة)

لكن الشركة المصنعة قد لا تتبع اصطلاحات التسمية هذه ، لذلك عليك فقط إلقاء نظرة على ملفات .png عن كثب لمعرفة الغرض منها بالضبط.

هام: إذا واجهت ملفات .9.png ، فلا تحاول تعديلها مباشرةً في GIMP أو Photoshop بدون برنامج تعليمي أولاً. هذه هي ملفات 9Patch .png والتي لها حدود مرئية عند تحرير الصور ، لكن هذه الحدود تصبح غير مرئية في واجهة مستخدم Android من خلال تقنية خاصة ( طويل جدا لشرح) ، وهناك طريقة خاصة للتلاعب بها. يجب عليك استخدام أداة Draw 9-Patch من Android Studio ، أو تعرف على كيفية تحرير / إنشاء صور 9Patch بشكل صحيح في Photoshop / GIMP.

لتعديل لون الخلفية الفعلي للوحة الإعدادات السريعة نفسها ، ستحتاج إلى فتحها /res/values/colors.xml وتعديل الأسطر وفقًا لذلك. يجب أن يتم التعليق على الأسطر مع تفسيرات أو على الأقل يسهل فهم اصطلاحات التسمية. هذا هو السبب في أنني أوصيت باستخدام Android Emulator ، للمعاينة والتعديل أثناء المضي قدمًا.

تحرير ألوان النص

تحقق في /res/layout/tw_statusbar.xml لهذه الأسطر:

لون نص رمز البطارية ( إذا تم عرض بطاريتك كنسبة نصية)

لون نص الساعة:

تحقق في /res/layout/tw_status_bar_expanded_header.xml لهذه الأسطر:

لون الساعة المنسدلة

لون التاريخ

'@ style / TextAppearance.StatusBar.Expanded.Date' android: textColor = '# something'

هناك الكثير من الأشياء التي يجب تخصيصها في SystemUI ، ولا يمكنني شرح كل شيء صغير في هذا الدليل - يمكنك العثور على دليل سمة SystemUI يشرح كل سطر في ملفات .XML ، لكنك ستكون على ما يرام إذا قمت بعمل قم بمعاينة التغييرات في محاكي Android وقم بالتعديل أثناء المضي قدمًا.

إعادة ترجمة وتثبيت SystemUI.Apk المعدل

  1. في نافذة الأوامر ، اكتب: apktool ب SystemUI
  2. سيؤدي هذا إلى إنشاء مجلد .apk جديد في ملف Dist مجلد في دليل APK decompiled. لذا انظر في / systemUI / dist لملف SystemUI.apk الجديد.
  3. أنت الآن بحاجة إلى استخدام شيء مثل 7-Zip لنسخ واستبدال مجلد META-INF و AndroidManifest.XML من ملف APK الأصلي داخل ال APK جديد ، ثم أعد التحويل البرمجي مرة أخرى.
  4. يمكنك الآن تحديث ملف SystemUI.apk الجديد على جهازك.

تعديل سعيد!

5 دقائق للقراءة