Logo th.androidermagazine.com
Logo th.androidermagazine.com

จากถุงจดหมาย: สิ่งที่ heck ทำ deodexed หมายความว่าอย่างไร

สารบัญ:

Anonim

คลาร์ก เขียน

โอเด้งและดีโอเดกซ์หมายความว่าอย่างไร ฉันเห็นเงื่อนไขที่กล่าวถึงในเกือบทุกหัวข้อ ROM ที่กำหนดเองและไม่สามารถหาคำตอบที่ฉันเข้าใจได้ ฉันหวังว่า Android Central สามารถช่วยได้

คำถามยอดเยี่ยมคลาร์ก และฉันคิดว่าเราสามารถตอบได้ในแง่ที่คนส่วนใหญ่จะเข้าใจ ดังที่คุณได้บันทึกไว้คุณจะเห็นคำศัพท์ odex และ deodexed ในฟอรัมมากมายที่โพสต์เกี่ยวกับ ROM ที่กำหนดเองหรือแฮ็กสารพันสำหรับโทรศัพท์และแท็บเล็ต นักพัฒนาซอฟต์แวร์ต้องใช้ความพยายามอย่างมากในการสร้าง ROM แบบแยกส่วนจากรอม "สต็อค" เช่นเดียวกับที่เสนอจากทั้ง OEM และ Google

ในการเริ่มต้นเราจำเป็นต้องรู้ว่าไฟล์ odex คืออะไร เป็นส่วนหนึ่งของแอปพลิเคชัน (ไฟล์. apk) ที่สร้างไว้ล่วงหน้าเพื่อให้ Dalvik Virtual Machine โหลดได้เร็วขึ้นโดยใช้ทรัพยากรน้อยลง หากคุณดูใน / system / app / โฟลเดอร์บนโทรศัพท์หรือแท็บเล็ต Android คุณจะเห็นว่าทุกแอปพลิเคชันมีทั้งไฟล์. apk และไฟล์. odex ไฟล์เหล่านี้ทำงานร่วมกันผ่าน Dalvik VM เพื่อให้แอปทำงานตามที่ควรจะเป็นบนอุปกรณ์ของเรา เรามาทำลายมันกันหลังจากหยุด

Dalvik VM

Dalvik VM เป็นส่วนสำคัญของระบบ Android มันเป็นองค์ประกอบที่ช่วยให้แอปพลิเคชันของบุคคลที่สามที่เขียนใน Java ทำงานบนโทรศัพท์หรือแท็บเล็ต ระบบจะเริ่ม DVM ขึ้นและเมื่อคุณกดเพื่อเริ่มแอประบบจะเริ่มทำงาน ใช้ข้อมูลภายในไฟล์. apk และใช้คอมไพเลอร์ Just-in-time (JIT) สร้างข้อมูลลงในโปรแกรมแล้วเรียกใช้ การมีรหัสบางส่วนได้รับการปรับให้เหมาะสมและสร้างไว้ในไฟล์ที่ DVM สามารถเรียกใช้ทำให้กระบวนการเร็วขึ้นและใช้ทรัพยากรน้อยลง นั่นคือไฟล์ odex

ไฟล์ Odex

ไฟล์ odex ที่คุณเห็นในโฟลเดอร์ระบบของคุณนั้นสร้างขึ้นโดยผู้ที่เขียนและสร้างแอปพลิเคชันเอง แอพ Android เขียนด้วย Java จากนั้นแปลงเป็น bytecode จากนั้นจะถูกแปลงจากไฟล์. class Java Virtual Machine ที่รองรับมาตรฐานเป็นไฟล์ชนิดพิเศษที่ Dalvik VM สามารถอ่านได้ สิ่งเหล่านี้เรียกว่าไฟล์. doc เมื่อไฟล์. dex เหล่านี้อยู่นอกรหัสที่เหลือ (ซึ่งอยู่ในไฟล์. apk) คุณจะเหลือไฟล์. odex แบบสแตนด์อโลน

มีเหตุผลที่ดีมากมายที่ต้องยืนอยู่คนเดียวไฟล์. odex พวกเขาทำให้การบู๊ตเร็วขึ้น (โดยเฉพาะการบู๊ตครั้งแรก) โดยการสร้าง Dalvik-cache เมื่อระบบบู๊ต พวกเขายังประหยัดพื้นที่ด้วยการชี้ไปที่เฟรมเวิร์กของ Android ทุกครั้งที่ทำได้และอนุญาตให้ผู้พัฒนาแอพพลิเคชั่นเพิ่มประสิทธิภาพโปรแกรมของเขาหรือเธอ แต่การมีไฟล์ seperate.odex นั้นไม่ค่อยเป็นมิตรกับแฮ็กเกอร์

Deodexing

ไฟล์ Deodexing หมายถึงการใช้ไฟล์. odex แบบสแตนด์อะโลนและไฟล์. apk และสร้างใหม่เพื่อให้ข้อมูลแอปพลิเคชันที่สร้างไว้ล่วงหน้านี้ทั้งหมดมีอยู่ในไฟล์. apk แทนไฟล์ของตนเอง ข้อมูลที่สร้างไว้ล่วงหน้าสำหรับ Dalvik VM ขณะนี้อยู่ในไฟล์ classes.dex ภายในไฟล์. apk เช่นในภาพด้านบน สิ่งนี้ทำให้ไฟล์. apk มีขนาดใหญ่ขึ้นเล็กน้อยและไม่สามารถโหลดล่วงหน้าได้เมื่อระบบเริ่มทำงาน แต่พวกเขาสามารถออกแบบโดยแฮกเกอร์และผู้พลิกกลับ

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

คุณควรเลือกแบบไหน

มันขึ้นอยู่กับคุณแล้วและความต้องการของคุณจะเป็นอย่างไร แต่ฉันขอแนะนำให้คุณทำการกะพริบเวอร์ชั่น deodex ทุกครั้งที่ทำได้ ใช่ odex ROMs บูตเร็วขึ้น แต่คุณจะสังเกตเห็นได้เฉพาะในการบู๊ตครั้งแรกเมื่อแอประบบทั้งหมดถูกแคชไว้ล่วงหน้าโดย Dalvik VM คุณสามารถประหยัดเนื้อที่ได้เล็กน้อยด้วยการใช้ไฟล์ odex แต่พื้นที่นี้มีอยู่ในพาร์ติชันระบบและจะไม่ให้พื้นที่สำหรับแอปเพิ่มเติมหากโทรศัพท์หรือแท็บเล็ตของคุณใช้พาร์ติชันแอปพลิเคชันแยกต่างหาก ด้วยโทรศัพท์ที่ทันสมัยในปัจจุบันและโปรเซสเซอร์แบบมัลติคอร์และแรมขนาดใหญ่คุณจะไม่สังเกตเห็นเวลาในการโหลดแอปพลิเคชันที่เร็วขึ้น

หากคุณต้องการทำสิ่งต่าง ๆ เช่นเปลี่ยนแถบสถานะหรือชุดรูปแบบ TouchWiz หรือ Sense คุณจะต้องใช้ ROM deodex นอกจากนี้คุณยังต้องใช้ deodex ROM ในการปรับแต่งระบบที่ล้ำลึกเช่นการเปลี่ยนเมนูการตั้งค่าหรือการแก้ไขเฟรมเวิร์ก กล่าวโดยย่อถ้าคุณปลดล็อก bootloader และรูทแล้วและคุณพร้อมสำหรับ ROM ที่กำหนดเองการเลือกรุ่น deodexed น่าจะเป็นตัวเลือกที่ดีที่สุด คุณจะประหลาดใจกับสิ่งที่นักพัฒนาที่บ้าเหล่านี้สามารถสร้างขึ้นมาได้และคุณจะพบกับสิ่งที่คุณต้องการลองด้วยตัวเอง