วิธีการใช้ UI Android System ด้วยตนเอง
ผู้ใช้ฟอรัมบนฟอรัมของ Android จำนวนมากถามคำถามเช่น วิธีเปลี่ยนสีแผงแจ้งเตือนของ Android วิธีการเปลี่ยนไอคอนการตั้งค่าด่วนของ Android และคำถามอื่นที่คล้ายคลึงกันเกี่ยวกับ Android UI แบรนด์บางยี่ห้ออนุญาตให้ใช้งานผ่านร้านธีม แต่ไมล์สะสมอาจแตกต่างกันไปตามรูปแบบที่สามารถเปลี่ยนแปลงได้
สิ่งนี้ทั้งหมดเดือดลง แต่เป็น SystemUI.apk - และฉันจะแสดงให้คุณเห็นทีละขั้นตอนในการแก้ไขแหล่งข้อมูลภายในของ. apk นี้เพื่อปรับแต่ง Android UI ตามที่คุณต้องการ โปรดทราบว่าคู่มือนี้ใช้สำหรับรอมส่วนใหญ่ที่ใช้ AOSP และการอ้างอิงไปยังไฟล์ภายใน SystemUI.apk อาจแตกต่างจากที่คุณมีอยู่ทั้งนี้ขึ้นอยู่กับผู้ผลิตโทรศัพท์ของคุณ แต่ถ้าเป็นกรณีนี้คุณยังสามารถบรรลุสิ่งที่เรากำลังทำอยู่ได้ด้วยการทดลองและข้อผิดพลาดเล็กน้อย
เนื่องจากคู่มือนี้เกี่ยวกับการแก้ไขไฟล์ระบบ Android และการปรับแต่งรอมของคุณคุณควรดูคู่มือ Appual ต่อไปนี้:
- วิธีแยกส่วนประกอบและธีม Android APKs
- วิธีสร้างรอม Android ที่กำหนดเองจากแหล่งที่มา
- วิธีการสร้างรอม Android ที่กำหนดเองจากจุดที่มา 2
ที่ต้องการ:
- อุปกรณ์แบบฝังราก ( ค้นหา Appual สำหรับ คำแนะนำรากของ Android )
- ADB & Fastboot Tools ( ดูคู่มือ Appual วิธีการติดตั้ง ADB บน Windows )
- Java SDK
- APKTool หรือ APKMultiTool
- NotePad ++ ( หรือโปรแกรมแก้ไขข้อความอื่นที่ใช้โค้ดง่ายสำหรับการแก้ไขบรรทัด XML และ Smali )
- ซอฟต์แวร์แก้ไขรูปภาพเช่น GIMP หรือ Photoshop
- 7-Zip หรือ WinRAR
หมายเหตุ: สำหรับคู่มือนี้ฉันจะใช้ APKTool เป็นข้อมูลอ้างอิง - หากคุณใช้ APKMultiTool แทนกระบวนการตั้งค่าและการแปล / การคอมไพล์ครั้งแรกอาจแตกต่างออกไป แต่โดยรวมแล้วขั้นตอนจะเหมือนกัน
นอกจากนี้คุณอาจต้องการพิจารณาติดตั้ง ROM ของอุปกรณ์ลงใน Android Emulator ในคอมพิวเตอร์ของคุณเพื่อให้คุณสามารถทดสอบและแสดงตัวอย่างการเปลี่ยนแปลง SystemUI ก่อนที่จะโหลดลงในอุปกรณ์ของคุณ
การตั้งค่า APKTool สำหรับ Windows
- ดาวน์โหลดสคริปต์ wrapper ของ Windows (คลิกขวาบันทึกลิงก์เป็น apktool.bat)
- ดาวน์โหลด apktool-2 (หาข้อมูลล่าสุดที่นี่)
- เปลี่ยนชื่อ jar ที่ดาวน์โหลดมาเป็น apktool.jar
- ย้ายไฟล์ทั้งสอง (apktool.jar & apktool.bat) ไปยังไดเรกทอรี Windows ของคุณ (โดยปกติจะเป็น C: / / Windows)
- หากคุณไม่สามารถเข้าถึง C: // Windows คุณสามารถวางไฟล์ทั้งสองไว้ที่ใดก็ได้จากนั้นเพิ่มไดเร็กทอรีนั้นลงในตัวแปรตัวแปรตัวแปรสภาพแวดล้อมของระบบ
- ลองใช้ apktool ผ่านทาง command prompt
การตั้งค่า APKTool สำหรับ Linux
- ดาวน์โหลดสคริปต์ wrapper Linux (คลิกขวาบันทึกลิงก์เป็น apktool)
- ดาวน์โหลด apktool-2 (หาข้อมูลล่าสุดที่นี่)
- เปลี่ยนชื่อ jar ที่ดาวน์โหลดมาเป็น apktool.jar
- ย้ายไฟล์ทั้งสอง (apktool.jar & apktool) ไปที่ / usr / local / bin (รากต้องการ)
- ตรวจสอบให้แน่ใจว่าไฟล์ทั้งสองมีการปฏิบัติการ (chmod + x)
- ลองใช้ apktool ผ่าน cli
การตั้งค่า APKTool สำหรับ Mac OS X
- ดาวน์โหลดสคริปต์ wrapper ของ Mac (คลิกขวาบันทึกลิงก์เป็น apktool)
- ดาวน์โหลด apktool-2 (หาข้อมูลล่าสุดที่นี่)
- เปลี่ยนชื่อ jar ที่ดาวน์โหลดมาเป็น apktool.jar
- ย้ายไฟล์ทั้งสอง (apktool.jar & apktool) ไปที่ / usr / local / bin (รากต้องการ)
- ตรวจสอบให้แน่ใจว่าไฟล์ทั้งสองมีการปฏิบัติการ (chmod + x)
- ลองใช้ apktool ผ่าน cli
การคอมไพล์ SystemUI.Apk ด้วย APKTool
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่- หลังจากติดตั้ง APKTool แล้วเราจำเป็นต้องดึงไฟล์กรอบงานจากอุปกรณ์ของคุณผ่านทาง ADB ไฟล์กรอบงาน AOSp ทั่วไป มีชื่อว่า ' framework-res.apk' ใน / system / framework path บนอุปกรณ์ของคุณ แต่ผู้ผลิตส่วนใหญ่จะมีไฟล์กรอบงานของตนเองนอกเหนือจากกรอบงาน AOSP
- ซึ่งอาจเป็นเรื่องยุ่งยากเพราะคุณจะต้องเข้าใจว่าผู้ผลิตชื่อไฟล์ทรัพยากรกรอบในอุปกรณ์ของคุณ โดยทั่วไปจะพบใน / system / framework แต่บางครั้งอาจถูกซ่อนไว้ใน / data / system-framework หรือ / system / priv-app โดยทั่วไปไฟล์เหล่านี้จะมี ' ทรัพยากร', 'res' หรือ ' กรอบงาน' ในชื่อไฟล์
- เมื่อคุณพบไฟล์โครงร่างแล้วให้ดึงมาพร้อมกับ SystemUI.apk ผ่านทาง ADB console คุณจะทำเช่นนี้กับคำสั่ง:
- adb pull /system/framework/framework-res.apk (เปลี่ยนเส้นทางหากจำเป็นและทำคำสั่งเดียวกันสำหรับ SystemUI.apk)
- คุณจะพบไฟล์ที่ดึงมาจากโฟลเดอร์ติดตั้ง ADB หลักของคุณในคอมพิวเตอร์ของคุณ
- ตอนนี้เราจะติดตั้งลงใน APKTool ดังนั้นในพรอมต์คำสั่งให้พิมพ์:
- Apktool ถ้ามี เช่น apktool ถ้า C: \ ADB \ framework-res.apk
- ทำซ้ำด้านบนสำหรับ SystemUI.apk
- ตอนนี้เราจะแปลภาษา SystemUI.apk เพื่อพิมพ์ลงในหน้าต่างคำสั่ง: apktool d SystemUI.apk
- ซึ่งจะแยก SystemUI.apk ทั้งหมดออกเป็นชุดของโฟลเดอร์
การแก้ไขไอคอนและสี UI
ตอนนี้คุณจำเป็นต้องค้นหา DPI ของโทรศัพท์ของคุณเนื่องจากคุณจะมีโฟลเดอร์ต่างๆเช่น SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi เป็นต้นซึ่งเป็นวิธีการทำงาน:
- ldpi (ต่ำ) ~ 120dpi
- mdpi (ปานกลาง) ~ 160dpi
- hdpi (สูง) ~ 240dpi
- xhdpi (สูงพิเศษ) ~ 320dpi
- xxhdpi (สูงพิเศษพิเศษ) ~ 480dpi
- xxxhdpi (extra-extra-extra-high) ~ 640dpi
ดังนั้นเพื่อแก้ไขแหล่งข้อมูล SystemUI ของคุณคุณจะต้องทราบว่าหน้าจอของคุณอยู่ในระดับใด
ภายในโฟลเดอร์คุณจะเห็นไฟล์. png ทั้งหมดที่ใช้สำหรับ UI ระบบของคุณทุกอย่างตั้งแต่ไอคอนแถบแจ้งเตือนไอคอนแผงการตั้งค่าด่วนเป็นต้นชื่อไฟล์จริงอาจแตกต่างกันออกไปขึ้นอยู่กับผู้ผลิต แต่ AOSP- based รอมมักจะมีไฟล์ชื่อเช่นนี้:
- Notification_panel_bg.9 ( พื้นหลังแถบสถานะของคุณ)
- ic_qs _ ####. png ( ไอคอนแผงการตั้งค่าด่วน)
- stat_syst _ ####. png ( ไอคอนแถบสถานะ)
แต่ผู้ผลิตของคุณอาจไม่ปฏิบัติตามข้อกำหนดในการตั้งชื่อดังกล่าวดังนั้นคุณจะต้องดูไฟล์. pngs อย่างใกล้ชิดเพื่อดูว่าพวกเขาต้องการอะไร
สำคัญ: ถ้าคุณเรียกใช้ไฟล์. 9.png อย่าพยายามแก้ไขโดยตรงใน GIMP หรือ Photoshop โดยไม่ต้องใช้การกวดวิชาก่อน ไฟล์เหล่านี้คือไฟล์ 9Patch .png ที่มีเส้นขอบที่มองเห็นเมื่อแก้ไขภาพ แต่เส้นขอบเหล่านี้จะมองไม่เห็นใน Android UI ผ่านทางเทคนิคพิเศษ ( ยาวเกินไปที่จะอธิบาย) และมีวิธีการพิเศษในการจัดการกับไฟล์เหล่านั้น คุณควรใช้เครื่องมือ 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 ทุก แต่คุณจะดีถ้าคุณเพียงแค่ทำ ดูตัวอย่างการเปลี่ยนแปลงของคุณในเครื่องจำลองแอนดรอยด์และปรับแต่งตามที่คุณทำไป
การคอมไพล์และติดตั้ง Modified SystemUI.Apk ของคุณ
- ในหน้าต่างคำสั่งให้พิมพ์: apktool b SystemUI
- ซึ่งจะสร้างโฟลเดอร์. apk ใหม่ในโฟลเดอร์ Dist ในไดเรกทอรี APK ที่คอมไพล์แล้ว ให้ดูที่ / systemUI / dist สำหรับไฟล์ SystemUI.apk ใหม่
- ตอนนี้คุณต้องใช้ข้อมูลบางอย่างเช่น 7-Zip เพื่อคัดลอกและแทนที่โฟลเดอร์ META-INF และ AndroidManifest.XML จาก APK เดิม ลงใน APK ใหม่ จากนั้นจึงคอมไพล์ใหม่อีกครั้ง
- ขณะนี้คุณสามารถแฟลช SystemUI.apk ใหม่ลงในอุปกรณ์ของคุณได้
modding ความสุข!
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่