พิเศษ: Android Oreo จะได้รับการสนับสนุนธีมทั้งระบบแบบรูทภายใน 1 สัปดาห์

Android Oreo รุ่นล่าสุดของ Google มีการรองรับธีมดั้งเดิมอยู่แล้ว และต้องขอบคุณเอ็นจิ้นธีม Substratum ที่จะมาใน 1 สัปดาห์

อัปเดต 09/13/17: โปรแกรมเสริม Andromeda สำหรับ Substratum ซึ่งอนุญาตให้ใช้ธีมที่กำหนดเองบนอุปกรณ์ Android Oreo ที่ไม่ได้รูทได้รับการเผยแพร่แล้ว ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม. บทความต้นฉบับจะยังคงอยู่ด้านล่าง

กับทุกๆ รุ่นใหม่ ของระบบปฏิบัติการ Android ของ Google มีเหตุผลน้อยกว่าสำหรับผู้ใช้ส่วนใหญ่ รูทอุปกรณ์ของพวกเขา. อย่างไรก็ตาม ในบรรดาผู้ใช้ที่เหลือที่ยังคงเลือกที่จะรูทอุปกรณ์ของตน หนึ่งในเหตุผลที่อ้างถึงบ่อยที่สุดคือการเปิดใช้งานการรองรับธีมทั้งระบบ โดยปกติแล้ว สิ่งนี้จะได้รับการจัดการผ่านชั้นล่าง กรอบธีม นับตั้งแต่ การจากไปอย่างน่าเสียดายของ CyanogenMod Theme Engine. เมื่อเวลาผ่านไป ทีมงานเบื้องหลัง Substratum ทำงานอย่างหนักเพื่อรวมการรองรับอุปกรณ์เพิ่มเติมโดยผสมผสานการรองรับ Substratum ในระดับ ROM ดังนั้นจึงสามารถทำงานได้โดยไม่ต้องเข้าถึงรูท และตอนนี้ทีมงานได้นำโครงการนี้ไปเกินกว่าที่พวกเราจะจินตนาการได้ด้วยการนำมา รองรับธีมทั้งระบบเต็มรูปแบบโดยไม่ต้องรูทสำหรับอุปกรณ์ Android Oreo ใด ๆ.

ภาพหน้าจอที่แสดง ธีม Android Oreo Black ของ Sai ทำงานบน Google Pixel ที่ยังไม่ได้รูทบน Android Oreo 8.0.0

เพื่อให้คุณมีแนวคิดว่าอย่างไร เหลือเชื่อกับพัฒนาการแบบนี้ให้พิจารณาว่าสิ่งต่อไปนี้จะเป็นไปได้ในขณะนี้ โดยไม่ต้องรูท:

  • ธีมของ Android Framework และ UI ระบบ Androidตลอดจนแอปพลิเคชันระบบอื่นๆ (หลายท่านคงไป. รัก ในที่สุดก็มีธีมสีเข้มแล้ว!)
  • ธีมของ แอปพลิเคชันบุคคลที่สามใด ๆ
  • แบบอักษรที่กำหนดเองสำหรับแอปพลิเคชันบุคคลที่สาม
  • การปรับเปลี่ยนอื่นๆ อีกมากมาย เช่น ตัวดัดแปลงนาฬิกากลางของแถบสถานะ

รายการดำเนินต่อไป! ชั้นล่างมี รายการธีมที่มีอยู่มากมาย ที่รองรับกรอบการทำงาน (ทั้งหมดนี้รองรับใน Substratum เวอร์ชันใหม่ที่กำลังจะมาถึงสำหรับ Android 8.0) ชุมชนที่กระตือรือร้นบน Google+ และของเราเอง ฟอรั่มและด้วยการพัฒนานี้ การสนับสนุนก็จะเติบโตขึ้นเท่านั้น!


Android Oreo และบริการตัวจัดการโอเวอร์เลย์

ตัวอย่างธีมของ Substratum บางส่วน

นับตั้งแต่บริษัท Google เข้ามา การสนับสนุนดั้งเดิมสำหรับ Runtime Resource Overlay ของ Sony เอ็นจิ้นธีม (RRO) ใน Android 6.0 Marshmallow เรากำลังรออยู่ สำหรับ Google เพื่อจัดเตรียมอินเทอร์เฟซในตัวและ API สาธารณะที่นักพัฒนาสามารถใช้เพื่อกำหนดธีมทั้งแอปพลิเคชันกรอบงานระบบและแอปพลิเคชันบุคคลที่สาม อนิจจาการเปิดตัว Android Nougat ได้นำสิ่งใหม่มาสู่ตารางเล็กน้อยนับตั้งแต่ RRO ของ Sony ถูกเพิ่มเข้าไปใน Android Open Source Project (AOSP)

แต่ด้วยการทำงานอย่างขยันขันแข็งของวิศวกรที่ Sony Mobile ในที่สุดเอ็นจิ้นธีม RRO ก็พัฒนาเป็นสิ่งที่เรียกว่า Overlay Manager Service (OMS) ซึ่งเป็นสิ่งที่ Substratum ใช้เป็นหลัก Sony เป็นผู้บุกเบิกเกี่ยวกับโซลูชันธีมโอเพ่นซอร์ส แต่เนื่องจากเอ็นจิ้นธีม OMS ของพวกเขาได้รับการยอมรับใน AOSP รอบ เวลาของการเปิดตัว Android 7.1 สุดท้าย วิธีเดียวสำหรับผู้ใช้อุปกรณ์ที่ไม่ใช่ของ Sony ที่จะใช้ประโยชน์จากเอ็นจิ้นธีมคือผ่านการปรับแต่ง รอม.

สิ่งนั้นเปลี่ยนไปใน Android 8.0 เมื่อ Substratum เปิดตัวครั้งแรกสำหรับ ตัวอย่างแรกของนักพัฒนา Android Oผู้พัฒนา Substratum ก็ตระหนักได้ว่า การสนับสนุนอย่างเต็มที่ สำหรับโซนี่ โอเอ็มเอส มีอยู่ ซึ่งหมายความว่าผู้ใช้สามารถติดตั้งธีมที่รองรับ Substratum ที่มีอยู่ได้ และธีมจะทำงานได้อย่างสมบูรณ์บนอุปกรณ์ Android Oreo โดยไม่ต้องใช้แพตช์ ROM ใด ๆ มีปัญหาเพียงอย่างเดียว: กระบวนการเปิดใช้งานธีม Substratum ที่ติดตั้งนั้นจำเป็นต้องมีการเข้าถึงรูท หรือเป็นเช่นนั้นพวกเขาก็คิด.


รองรับธีม Substratum ทั่วทั้งระบบแบบไร้รูทสำหรับ Android Oreo

ในขณะที่นักพัฒนายังคงทำงานอย่างเงียบ ๆ ในประเด็นการให้ผู้ใช้ Android Oreo ได้รับโซลูชันธีมแบบไม่ต้องรูทที่ด้านหลัง จริงๆ แล้ว เรากำลังเจาะลึกดูตัวอย่างนักพัฒนา Android O ทุกตัวอย่างอิสระ และค้นหาหลักฐานของกลไกธีมที่ใช้งานอยู่ แม้ว่า เราระบุมันผิด เนื่องจากใช้ RRO รุ่นเก่ามากกว่า OMS รุ่นใหม่ของ Sony Google ยังล้อเลียนชุมชนเกี่ยวกับการสนับสนุนธีมใน AMA ที่เน้นนักพัฒนาเป็นศูนย์กลาง ใน Reddit โดยระบุว่ายังคงมีอุปสรรคบางประการที่ต้องเอาชนะก่อนที่จะสร้างโซลูชันธีมเต็มรูปแบบใน Android

ไม่พอใจกับคำตอบนั้น เราต้องการดูว่า Google ได้ไปไกลแค่ไหนในการรับการสนับสนุนธีมสำหรับ Android Oreo เพื่อทำเช่นนั้นฉันขุดเข้าไป ซอร์สโค้ดของ Android 8.0 เมื่อรุ่นสุดท้ายหลุดออกไปและค้นพบ การมีอยู่ของคำสั่งเชลล์ ADB ที่สามารถเปิดหรือปิดใช้งานการซ้อนทับได้ซึ่ง Adam Conway นักเขียน XDA พูดถึงเมื่อวานนี้

ปิดการใช้งานการซ้อนทับเริ่มต้น

ในตอนแรก ฉันไม่ประทับใจกับการค้นพบนี้มากนัก เนื่องจากตามความรู้ของฉันในขณะนั้น มันไม่มีประโยชน์ในการใช้งาน เนื่องจากตัวฉันและเพื่อนร่วมงานรู้สึกว่าการติดตั้ง ธีมยังคงต้องการการเข้าถึงรูทเนื่องจากไฟล์ธีมจะต้องถูกย้ายไปยังโฟลเดอร์ที่ไม่สามารถเข้าถึงได้ในพื้นที่ผู้ใช้ (ใน /system/vendor/overlay ซึ่งเป็นวิธี RRO ทำหน้าที่) นิโคลัส ชุม ตัวเขาเองซึ่งเป็นหนึ่งในนักพัฒนาหลักที่อยู่เบื้องหลัง Substratum แสดงความคิดเห็นในโพสต์ของเราว่าเขาตระหนักถึงการมีอยู่ของคำสั่งเหล่านี้มาระยะหนึ่งแล้วและ ได้ใช้กับ Android O builds แล้ว.

แต่มีคนหนึ่งมองเห็นโอกาสเกิดขึ้นหลังจากที่เราเผยแพร่บทความของเราเมื่อวานนี้ XDA ของตัวเองมาก เจฟฟ์ คอร์โคแรนผู้พัฒนาที่อยู่เบื้องหลังในบ้านของเรา แอปพลิเคชัน XDA Labsพบว่ามีวิธีแก้ไขที่เป็นไปได้ในการรับอินเทอร์เฟซบรรทัดคำสั่งดั้งเดิมของ Android Oreo เพื่อให้ OMS ทำงานโดยไม่ต้องรูท มันเกี่ยวข้องกับวิธีการที่ใช้โดย ฮีเลียมโซลูชันการสำรองข้อมูลที่ไม่ใช่รูทยอดนิยม และล่าสุดโดยทางเลือก Greenify โอเพ่นซอร์สที่รู้จักกันในชื่อ เบรเวนต์.

ยกระดับสิทธิ์ผ่านสคริปต์

โดยปกติแล้ว "การซ้อนทับ cmdคำสั่ง " ที่ Google เพิ่มใน Oreo release สามารถเรียกใช้ผ่านอุปกรณ์ที่มีสิทธิ์รูทหรือผ่านอุปกรณ์ที่เชื่อมต่อกับคอมพิวเตอร์ที่เรียกใช้เชลล์ Android Debug Bridge (ADB) ตลอดหลายปีที่ผ่านมา นักพัฒนาที่ชาญฉลาดจำนวนหนึ่ง เช่น นักพัฒนา Helium และ Brevent วิธียกระดับสิทธิ์ของแอปพลิเคชันที่ทำงานบนโทรศัพท์ให้ตรงกับสิทธิ์ของ ADB เปลือก. ในการทำเช่นนั้น แอปพลิเคชันสามารถส่งคำสั่งที่ปกติแล้วไม่สามารถทำได้เนื่องจากการอนุญาตที่จำกัด ในกรณีของ Substratum นั่นหมายถึง แอปพลิเคชันสามารถติดตั้งจากนั้นเปิดหรือปิดใช้งานธีม Substratum โดยไม่ต้องรูท.

การตระหนักรู้นี้คือก วิชาเอก ความก้าวหน้าที่เพิ่งค้นพบเมื่อวานนี้ตอนเย็น ภายในเวลาไม่กี่ชั่วโมง Nicholas (ด้วยความช่วยเหลือจาก Jeff) สามารถสร้างเวอร์ชันอัลฟ่าอย่างรวดเร็วของตัวจัดการธีม Substratum แบบไม่รูทสำหรับอุปกรณ์ Android Oreo และมันใช้งานได้ - แต่มีข้อแม้บางประการ

คำเตือนของการรองรับชั้นล่างแบบไร้รูท

กระบวนการที่จำเป็นเพื่อให้สิทธิ์การยกระดับเชลล์ ADB ของ Substratum จะต้องมีการใช้ เรียบง่ายและเบามาก แอปพลิเคชันเดสก์ท็อป (หรือเพียงแค่คำสั่งเชลล์ ADB หากคุณรู้ว่าคุณกำลังทำอะไรอยู่) เมื่อได้รับสิทธิ์แล้ว Substratum จะทำงานตามที่คุณคาดหวัง โดยสามารถจัดการธีม Substratum ที่ติดตั้งไว้ทั้งหมดได้ ธีมใดๆ ที่คุณติดตั้งจะยังคงติดตั้งอยู่ จนกว่าคุณจะเลือกถอนการติดตั้งผ่าน Substratum อีกครั้ง

อย่างไรก็ตาม สิทธิพิเศษที่ Substratum ได้รับนั้นเป็นเพียงสิทธิพิเศษชั่วคราวเท่านั้น จะหายไปเมื่อผู้ใช้ทำการรีบูตแบบเต็ม (แม้ว่าโชคดีที่การรีบูท System UI อีกครั้งอย่างนุ่มนวลจะไม่สูญเสียสิทธิ์) ซึ่งหมายความว่าคุณจะต้องเรียกใช้โปรแกรมเดสก์ท็อปอีกครั้งหากคุณรีบูทโทรศัพท์และต้องการใช้ Substratum เพื่อเพิ่ม ลบ หรือแก้ไขธีม อยากจะย้ำอีกครั้งว่า ธีมใดๆ ที่คุณติดตั้งจะยังคงติดตั้งอยู่แม้ว่าคุณจะรีบูทก็ตามนั่นหมายความว่าหากคุณต้องการเปลี่ยนธีมเพียงไม่กี่ธีมเป็นครั้งคราว สิ่งนี้น่าจะเหมาะสำหรับคุณ คุณควรจะสามารถสลับธีมได้จากเมนูการตั้งค่าเป็น ตัวเลือก "ธีม" ของ Developer Preview ภายใต้การตั้งค่าการแสดงผล จากนั้นจะจดจำธีมที่ติดตั้งไว้ และให้คุณสลับไปมาระหว่างธีมเหล่านั้นได้

สุดท้ายนี้สิ่งสุดท้ายที่ผมต้องพูดถึงคือสิ่งที่ดูเหมือนชัดเจนเมื่อคุณคิดถึงมัน แต่ในความตื่นเต้นเมื่อได้ยินข่าวคุณอาจลืมไปแล้ว อุปกรณ์ของคุณยังไม่ได้ทำการรูท. นั่นหมายความว่าคุณไม่สามารถสัมผัสหรือแก้ไขไฟล์ใด ๆ ที่ต้องการการเข้าถึงรูทเพื่อแก้ไขได้ แม้ว่าธีม Substratum ที่คุณติดตั้งสัญญาว่าจะเปลี่ยนแปลงบางอย่างก็ตาม ขออภัย น่าเสียดาย นั่นหมายความว่าคุณไม่สามารถใช้การเปลี่ยนแปลงแบบอักษรทั้งระบบได้ นำอิโมจิหยดกลับมา แม้ว่าดังที่ได้กล่าวไปแล้วในตอนต้นก็ตาม เป็น เป็นไปได้สำหรับธีม Substratum เพื่อเปลี่ยนแบบอักษรของแต่ละแอปพลิเคชัน

ความจำเป็นของชั้นล่าง

เรามาดูรายละเอียดที่สำคัญกันดีกว่า เมื่อไหร่จะมาคะ? ตามชื่อที่กล่าวถึง ความพร้อมใช้งานสาธารณะครั้งแรกของ Substratum ไร้รูทสำหรับอุปกรณ์ Android 8.0 เช่น Google Nexus 5X, Google Nexus 6P, Google Pixel และ Google Pixel XL ควรเป็น ภายใน 1 สัปดาห์. นั่นก็คือ ไม่ใช่การรับประกัน ไม่ว่าจะด้วยวิธีใดก็ตาม เนื่องจากสิ่งต่าง ๆ สามารถเปลี่ยนแปลงได้ในกระบวนการพัฒนาที่อาจต้องใช้เวลาลงทุนเพิ่มเติม แต่เนื่องจาก OMS นั้นมีอยู่แล้ว ได้รับการสนับสนุนอย่างเต็มที่ใน AOSP ทีม Substratum ทั้งหมดกำลังทำงานอยู่ในขณะนี้คือการเชื่อมต่อระหว่างแอป Substratum และไม่ได้รูท อุปกรณ์

ถัดไป: มันจะฟรีหรือไม่? เลขที่ ชั้นล่างสำหรับอุปกรณ์ Android Oreo ที่ไม่ได้รูทจะเป็น ใบสมัครที่ต้องชำระเงิน. ฉันไม่สามารถบอกคุณได้ว่าราคาเท่าไหร่ เนื่องจากนิโคลัสยังไม่ได้ตัดสินใจเรื่องราคา แต่มั่นใจได้ว่าราคาจะยุติธรรมเมื่อพิจารณาจากมูลค่าของสิ่งที่คุณจะได้รับ เมื่อถึงจุดนี้ Substratum สามารถใช้งานได้อย่างเสรีสำหรับอุปกรณ์จำนวนมาก ดังนั้นควรพิจารณาสนับสนุนการพัฒนาประเภทนี้โดยการสนับสนุน Team Substratum ก่อน คุณสามารถรอให้ Google เปิดตัวธีมสีเข้มที่คุณต้องการมาโดยตลอดในที่สุด (ฮ่า ดี หนึ่ง) หรือคุณสามารถทุ่มเงินสักสองสามเพนนีเพื่อสนับสนุนการพัฒนาอิสระที่หลายๆ คนยอมรับ ได้รับ.

ยังไม่มั่นใจในคุณค่าของมัน? คุณสามารถ พยายาม การติดตั้งธีม Substratum บนอุปกรณ์ 8.0 ที่ไม่ได้รูทของคุณเอง อันที่จริงนั่นคือสิ่งที่เราทำข้างต้น แน่นอนว่าเราได้รับความช่วยเหลือเล็กน้อยจากนิโคลัสเพื่อที่จะทำเช่นนั้น หากคุณต้องการติดตั้งธีม Substratum ที่มีอยู่จาก Google Play Store ต่อไปนี้เป็นขั้นตอนทั่วไป:

  1. ดาวน์โหลดและติดตั้งไฟล์ APK ลงในอุปกรณ์ของคุณ
  2. แยกเนื้อหาและคอมไพล์แต่ละโอเวอร์เลย์เป็นไฟล์ APK แต่ละแอปสำหรับแต่ละแอปที่คุณต้องการให้เป็นธีม
  3. ติดตั้งไฟล์ APK ซ้อนทับแต่ละไฟล์ที่คุณรวบรวมด้วยตนเองในขั้นตอนที่ 2
  4. สำหรับ APK โอเวอร์เลย์แต่ละรายการที่คุณติดตั้ง ให้รันคำสั่งต่อไปนี้เพื่อเปิดใช้งาน: cmd overlay enable
  5. หากคุณต้องการเปลี่ยนลำดับความสำคัญของการวางซ้อน ให้ใช้: cmd overlay set-priority PARENT|lowest|highest
  6. แสดงรายการโอเวอร์เลย์ที่ติดตั้งทั้งหมดของคุณด้วย: cmd overlay list
  7. ลบภาพซ้อนทับที่คุณไม่ต้องการด้วย: cmd overlay disable

หากคุณต้องการใช้บรรทัดคำสั่งเพื่อจัดการธีมจริงๆ เชิญมาเป็นแขกของเราได้เลย! โดยส่วนตัวแล้ว ฉันติดอยู่กับการผ่านขั้นตอนที่ 2 ชั้นล่างไม่ได้ใช้วิธีการที่ซ่อนอยู่ซึ่งคุณไม่สามารถคิดขึ้นมาเองได้ แต่มันกำลังสร้างมันขึ้นมา ไกล ง่ายกว่าสำหรับคุณในการจัดการ เมื่อเป็นไปได้ที่จะทำอะไรบางอย่างด้วยตนเอง แต่แอปพลิเคชันสามารถทำสิ่งนั้นให้ฉันได้ง่ายกว่ามาก ฉันมักจะปล่อยให้แอปทำงานได้ แต่นั่นก็ขึ้นอยู่กับคุณ

โดยส่วนตัวแล้วฉันเป็น ตื่นเต้นจริงๆ เพื่อดูว่าสิ่งนี้จะไปที่ไหน สำหรับอุปกรณ์ใด ๆ ที่ไม่รองรับระบบจัดการธีมในตัว (เช่นอุปกรณ์ Motorola หรือ OnePlus) ตอนนี้คุณมีเหตุผลอื่นที่ต้องรอคอยในการอัปเดต Android 8.0 สำหรับผู้ที่โชคดีได้ลิ้มรสโอรีโอรสหวานนั้นแล้ว คุณมีบางอย่างที่ต้องตั้งตารอใน 1 สัปดาห์


ป.ล. ผู้ใช้ Samsung คุณรู้หรือไม่ว่าอุปกรณ์ของคุณ รองรับธีม Substratum แล้ว โดยไม่ต้องรูทใช่ไหม?

พี.พี.เอส คุณเป็นนักพัฒนาที่สนใจเรียนรู้เพิ่มเติมเกี่ยวกับ Substratum หรือไม่? ลองดูของนิโคลัสสิ การนำเสนอสไลด์โชว์ที่ยอดเยี่ยมที่นี่!