תוכן עניינים:
קלארק כותב,
מה המשמעות של אודקס ודאודקס בעצם? אני רואה את התנאים המוזכרים כמעט בכל חוט ROM מותאם אישית ולא מוצא תשובה שאני יכול להבין. אני מקווה ש- Android Central יכול לעזור.
שאלה מדהימה, קלארק. ואחד שאני חושב שאנחנו יכולים לענות עליו במונחים שרוב האנשים יבינו. כפי שציינת, אתה רואה את המונחים odex ו- deodexed בפוסטים רבים בפורומים על ROM מותאם אישית או פריצות שונות לטלפונים וטאבלטים בשניהם. למפתחים דרוש עבודה רבה כדי ליצור ROMs deodexed מ- ROM "מלאי", כמו אלה המוצעים הן מחברי היצרן המקומי והן מגוגל.
כדי להתחיל, עלינו לדעת מהו קובץ odex. זהו חלק מאפליקציה (קובץ.apk) שנבנה מראש בכדי לגרום למכונה הווירטואלית של Dalvik לטעון אותה מהר יותר תוך פחות משאבים. אם אתה מסתכל בתיקיה / system / app / בטלפון או טאבלט אנדרואיד שלך, תראה שכמעט לכל יישום יש גם קובץ.apk וגם קובץ.odex. קבצים אלה פועלים יחד באמצעות VM של Dalvik כדי ליישם את האפליקציות כמו שצריך במכשירים שלנו. בואו נשבר את הכל אחרי ההפסקה.
VM של דלוויק
ה- Dalvik VM הוא חלק גדול ממערכת אנדרואיד. זהו הרכיב המאפשר ליישומי צד ג 'הכתובים בג'אווה לרוץ בטלפון או בטאבלט שלך. המערכת עצמה מפעילה את ה- DVM, וכשאתה לוחץ להפעיל יישום היא עובדת. זה לוקח את הנתונים בתוך קבצי.apk ומשתמש במהדר Just-in-time (JIT), זה בונה את המידע לתוכנית ואז מפעיל אותו. לאחר חלקים מהקוד שעברו אופטימיזציה ומובנה בתוך קובץ ש- DVM יכול להריץ, הופך את התהליך למהיר יותר ומשתמש בפחות משאבים. זה מה שקובץ odex.
קבצי Odex
קבצי ה- odex שאתה רואה בתיקיית המערכת שלך בנויים על ידי האנשים שכתבו ובנו את היישום עצמו. אפליקציות אנדרואיד נכתבות בג'אווה, ואז עוברות המרה לקוד-בייט. לאחר מכן, הם מומרים מקבצי Class Virtual התואמים של Java Virtual Machine לסוג קובץ מיוחד ש- Dalvik VM יכול לקרוא. אלה נקראים קבצי dex. כאשר קבצי.dex אלה ממוקמים מחוץ לשאר הקוד (שנמצא בקובץ.apk), אתה נשאר עם קובץ.odex עצמאי.
יש המון סיבות טובות לקבצי קוד.x. הם הופכים את זמני האתחול למהירים יותר (במיוחד את האתחול הראשון), על ידי בניית המטמון של Dalvik בזמן האתחול של המערכת. הם גם חוסכים מקום בכך שהם מצביעים על מסגרת האנדרואיד בכל הזדמנות אפשרית ומאפשרים למפתח היישומים לייעל את התוכניות שלו. עם זאת קבצי seperate.odex אינם ידידותיים מאוד להאקרים.
Deodexing
פירוש קבצי deodexing פירושו לקיחת קובץ ה-.odex העצמאי וקובץ.apk ולבנות אותם מחדש כך שכל מידע היישום שנבנה מראש כלול בתוך קובץ ה-apk במקום הקובץ שלו. הנתונים שנבנו מראש עבור VM של Dalvik נמצאים כעת בקובץ class.dex בתוך קובץ.apk, כמו בתמונה למעלה. זה הופך את קבצי ה- apk למעט גדולים יותר ולא ניתן לטעון אותם מראש כשהמערכת מופעלת. אבל הם יכולים להיות מהונדסים לאחור על ידי האקרים ותומרים.
עם כל הקוד והנתונים של התוכנית במקום אחד, אתה יכול להשתמש בכלים כדי "לבנות" את האפליקציה ולערוך אותה ככל שתרצה. כך נוצרים ערכות נושא וציוד כמו מצבי אחוז סוללה עבור ROM "מלאי". לאחר שמפתח מבצע את השינויים שלו, הם בונים מחדש את קובץ ה-.apk והשינויים יכולים להופיע. זה לא ישפיע על אף חלק אחר במערכת מכיוון שאף אחד מהקודים או הנתונים אינו משותף עם אפליקציות אחרות.
באיזה כדאי לבחור?
זה באמת תלוי בך, ומה יהיו הצרכים שלך, אבל אני מציע להבהב גרסת דאודקס בכל הזדמנות אפשרית. כן, ROMs של odex אתחול מהר יותר, אבל אתה באמת שם לב לכך רק באתחול הראשון כאשר כל יישומי המערכת מטופלים מראש במטמון של Dalvik VM. אתה יכול גם לחסוך מעט מקום רב על ידי שימוש בקבצי odex, אך שטח זה נמצא במחיצת המערכת ולא ייתן לך מקום לעוד יישומים אם הטלפון או הטאבלט שלך משתמשים במחיצת אפליקציות נפרדת. עם טלפונים מודרניים של ימינו ומעבדי ריבוי ליבות שלהם ובנקים גדולים של זיכרון RAM, לא תבחין אפילו בזמני טעינה מהירים יותר של יישומים.
אם אתה רוצה לעשות דברים כמו לשנות את שורת המצב, או נושא TouchWiz או Sense, תזדקק ל- ROM של deodex. תצטרך גם ROM deodex כדי לבצע כמה מהציוצים של המערכת העמוקה והמגניבה ממש כמו לשנות את תפריט ההגדרות או עריכות למסגרת. בקיצור, אם כבר ביטלת את הנעילה של טעינת האתחול ושורשת, ואתה מוכן ל ROM מותאם אישית, בחירת גרסת קודקס היא כנראה הבחירה הטובה ביותר. תתפלאו מהדברים שהמפתחים המטורפים האלה יכולים לבוא בהם, ובוודאי תיתקלו בכמה שתרצו לנסות בעצמכם.