อย่างไรก็ตามสิ่งที่เดือดลงไปทั้งหมดนี้คือ SystemUI.apk - และฉันจะแสดงให้คุณเห็นทีละขั้นตอนเกี่ยวกับการแก้ไขทรัพยากรภายใน. apk นี้เพื่อปรับแต่ง UI ของ Android ตามที่คุณต้องการ โปรดทราบว่าคู่มือนี้มีไว้สำหรับ ROM ที่ใช้ AOSP เป็นหลักและการอ้างอิงถึงไฟล์ภายใน SystemUI.apk อาจแตกต่างจากที่คุณมีขึ้นอยู่กับผู้ผลิตโทรศัพท์ของคุณ แต่หากเป็นเช่นนั้นคุณยังสามารถบรรลุสิ่งที่เรากำลังทำอยู่ได้ด้วยการลองผิดลองถูกเพียงเล็กน้อย
เนื่องจากคู่มือนี้เกี่ยวข้องกับการแก้ไขไฟล์ระบบ Android และการปรับแต่ง ROM ของคุณคุณควรดูคู่มือ Appual ต่อไปนี้:
- วิธีถอดรหัสและธีม APK ของ Android
- วิธีสร้าง ROM Android แบบกำหนดเองจาก Source
- วิธีสร้าง ROM Android แบบกำหนดเองจาก Source pt. 2
ข้อกำหนด:
- อุปกรณ์ที่รูท ( ค้นหา Appual สำหรับ คู่มือรูท Android )
- ADB & Fastboot เครื่องมือ ( ดูคู่มือของ Appual วิธีติดตั้ง ADB บน Windows )
- Java SDK
- APKTool หรือ APKMultiTool
- NotePad ++ ( หรือโปรแกรมแก้ไขข้อความที่เป็นมิตรกับรหัสอื่น ๆ สำหรับการแก้ไขบรรทัด XML และ Smali )
- ซอฟต์แวร์แก้ไขภาพเช่น GIMP หรือ Photoshop
- 7-Zip หรือ Winrar
หมายเหตุ: สำหรับคำแนะนำนี้ฉันจะใช้ APKTool เป็นข้อมูลอ้างอิงหากคุณใช้ APKMultiTool แทนขั้นตอนการตั้งค่าเริ่มต้นและการแยกคอมไพล์ / คอมไพล์ใหม่อาจแตกต่างกัน แต่โดยรวมแล้วขั้นตอนจะเหมือนกัน
นอกจากนี้คุณอาจต้องการพิจารณาติดตั้ง ROM ของอุปกรณ์ลงใน Android Emulator บนคอมพิวเตอร์ของคุณเพื่อให้คุณสามารถทดสอบและดูตัวอย่างการเปลี่ยนแปลง SystemUI ก่อนที่จะโหลดลงในอุปกรณ์
APKTool Setup สำหรับ Windows
- ดาวน์โหลด Windows สคริปต์ wrapper (คลิกขวาบันทึกลิงค์เป็น apktool.bat)
- ดาวน์โหลด apktool-2 ( ค้นหาใหม่ล่าสุดที่นี่ )
- เปลี่ยนชื่อ jar ที่ดาวน์โหลดมาเป็น apktool.jar
- ย้ายทั้งสองไฟล์ (apktool.jar & apktool.bat) ไปยังไดเร็กทอรี Windows ของคุณ (โดยปกติคือ C: // Windows)
- หากคุณไม่สามารถเข้าถึง C: // Windows คุณสามารถวางไฟล์ทั้งสองไว้ที่ใดก็ได้จากนั้นเพิ่มไดเร็กทอรีนั้นในตัวแปร Environment Variables System PATH ของคุณ
- ลองเรียกใช้ apktool ผ่านพร้อมรับคำสั่ง
การตั้งค่า APKTool สำหรับ Linux
- ดาวน์โหลด Linux สคริปต์ wrapper (คลิกขวาบันทึกลิงค์เป็น apktool)
- ดาวน์โหลด apktool-2 ( ค้นหาใหม่ล่าสุดที่นี่ )
- เปลี่ยนชื่อ jar ที่ดาวน์โหลดมาเป็น apktool.jar
- ย้ายทั้งสองไฟล์ (apktool.jar & apktool) ไปที่ / usr / local / bin (จำเป็นต้องรูท)
- ตรวจสอบให้แน่ใจว่าไฟล์ทั้งสองสามารถเรียกใช้งานได้ (chmod + x)
- ลองรัน apktool ผ่าน cli
APKTool Setup สำหรับ Mac OS X
- ดาวน์โหลด Mac สคริปต์ wrapper (คลิกขวาบันทึกลิงค์เป็น apktool)
- ดาวน์โหลด apktool-2 ( ค้นหาใหม่ล่าสุดที่นี่ )
- เปลี่ยนชื่อ jar ที่ดาวน์โหลดมาเป็น apktool.jar
- ย้ายทั้งสองไฟล์ (apktool.jar & apktool) ไปที่ / usr / local / bin (จำเป็นต้องรูท)
- ตรวจสอบให้แน่ใจว่าไฟล์ทั้งสองสามารถเรียกใช้งานได้ (chmod + x)
- ลองรัน apktool ผ่าน cli
Decompiling SystemUI.Apk ด้วย APKTool
- หลังจากติดตั้ง APKTool แล้วเราจำเป็นต้องดึงไฟล์เฟรมเวิร์กของคุณจากอุปกรณ์ของคุณผ่าน ADB AOSP ทั่วไป ไฟล์เฟรมเวิร์กชื่อ ‘ framework-res.apk ’ พบใน / system / framework เส้นทางบนอุปกรณ์ของคุณ แต่ผู้ผลิตส่วนใหญ่มีไฟล์เฟรมเวิร์กของตัวเองนอกเหนือจากเฟรมเวิร์ก AOSP
- อาจเป็นเรื่องยุ่งยากเนื่องจากคุณจะต้องทราบว่าผู้ผลิตตั้งชื่อไฟล์ทรัพยากรกรอบงานบนอุปกรณ์ของคุณ พวกเขามักจะพบใน / system / framework แต่บางครั้งอาจซ่อนอยู่ใน / data / system-framework หรือ / system / priv-app . โดยทั่วไปไฟล์จะมี ' ทรัพยากร ’ , 'เนื้อวัว' , หรือ ' กรอบ' ในชื่อไฟล์
- เมื่อคุณพบไฟล์เฟรมเวิร์กแล้วให้ดึงมาพร้อมกับ SystemUI.apk ของคุณผ่านคอนโซล ADB คุณจะทำสิ่งนี้ด้วยคำสั่ง:
- 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 (พิเศษ - พิเศษ - สูงพิเศษ) ~ 640dpi
ดังนั้นในการแก้ไขทรัพยากร SystemUI คุณจะต้องพิจารณาว่าหน้าจอของคุณอยู่ในหมวดหมู่ใด
ภายในโฟลเดอร์คุณจะเห็นไฟล์. png ทั้งหมดที่ใช้สำหรับ System UI ของคุณทุกอย่างตั้งแต่ไอคอนแถบการแจ้งเตือนไอคอนแผงการตั้งค่าด่วน ฯลฯ ชื่อไฟล์จริงอาจแตกต่างกันไปขึ้นอยู่กับผู้ผลิต แต่ AOSP- ROM ที่ใช้โดยทั่วไปควรมีไฟล์ที่มีชื่อดังนี้:
- Notification_panel_bg.9 ( พื้นหลังแถบสถานะของคุณ)
- ic_qs _ ####. png ( ไอคอนแผงการตั้งค่าด่วน)
- stat_syst _ ####. png ( ไอคอนแถบสถานะ)
แต่ผู้ผลิตของคุณอาจไม่ปฏิบัติตามหลักเกณฑ์การตั้งชื่อเหล่านั้นดังนั้นคุณเพียงแค่ต้องดูที่. png อย่างใกล้ชิดเพื่อให้เข้าใจว่ามีไว้เพื่ออะไร
ข้อสำคัญ: หากคุณพบไฟล์. 9.png อย่าพยายามแก้ไขโดยตรงใน GIMP หรือ Photoshop โดยไม่มีบทช่วยสอนก่อน นี่คือไฟล์ 9Patch .png ซึ่งมีเส้นขอบที่มองเห็นได้เมื่อแก้ไขภาพ แต่เส้นขอบเหล่านี้จะมองไม่เห็นใน UI ของ Android ด้วยเทคนิคพิเศษ ( ยาวเกินไปที่จะอธิบาย) และมีวิธีพิเศษในการจัดการพวกมัน คุณควรใช้ไฟล์ วาดเครื่องมือ 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 ที่แก้ไขแล้วของคุณ
- ในหน้าต่างคำสั่งพิมพ์: apktool b SystemUI
- สิ่งนี้จะสร้างโฟลเดอร์. apk ใหม่ในไฟล์ ระยะทาง โฟลเดอร์ในไดเร็กทอรี APK ที่แยกส่วน ดังนั้นมองเข้าไป / systemUI / dist สำหรับไฟล์ SystemUI.apk ใหม่
- ตอนนี้คุณต้องใช้บางอย่างเช่น 7-Zip เพื่อคัดลอกและแทนที่โฟลเดอร์ META-INF และ AndroidManifest.XML จาก APK ดั้งเดิม เข้าไปใน APK ใหม่ จากนั้นคอมไพล์ใหม่อีกครั้ง
- ตอนนี้คุณสามารถแฟลช SystemUI.apk ใหม่บนอุปกรณ์ของคุณได้แล้ว
มีความสุข modding!
อ่าน 5 นาที