Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Z torby pocztowej: co do cholery oznacza deodeksowane?

Spisu treści:

Anonim

Clark pisze,

Co do cholery znaczy odex i deodex? Widzę terminy wymienione w prawie każdym niestandardowym wątku ROM i nie mogę znaleźć odpowiedzi, którą mogę zrozumieć. Mam nadzieję, że Android Central może pomóc.

Niesamowite pytanie, Clark. I myślę, że możemy odpowiedzieć w sposób zrozumiały dla większości ludzi. Jak zauważyłeś, warunki odex i deodexed znajdują się w wielu postach na forach na temat niestandardowych ROM-ów lub różnych włamań do telefonów i tabletów. Programiści zajmują dużo czasu, aby tworzyć deodeksowane pamięci ROM z „magazynowych” pamięci ROM, takich jak te oferowane zarówno przez producentów OEM, jak i Google.

Na początek musimy wiedzieć, co to jest plik odex. Jest to część aplikacji (plik.apk), która została wstępnie zbudowana w celu przyspieszenia ładowania wirtualnej maszyny Dalvik przy użyciu mniejszych zasobów. Jeśli zajrzysz do folderu / system / app / na telefonie lub tablecie z Androidem, zobaczysz, że prawie każda aplikacja ma zarówno plik apk, jak i plik.odex. Pliki te współpracują za pośrednictwem Dalvik VM, aby aplikacje działały tak, jak powinny na naszych urządzeniach. Rozbijmy to wszystko po przerwie.

Dalvik VM

Dalvik VM to duża część systemu Android. Jest to składnik, który pozwala aplikacjom zewnętrznym napisanym w Javie działać na twoim telefonie lub tablecie. Sam system uruchamia DVM, a kiedy naciskasz, aby uruchomić aplikację, zaczyna działać. Pobiera dane z plików.apk i używając kompilatora Just-in-time (JIT), buduje informacje w programie, a następnie je uruchamia. Po zoptymalizowaniu i wbudowaniu części kodu w plik, który DVM może uruchomić, proces ten jest szybszy i zużywa mniej zasobów. Tak właśnie wygląda plik ODEX.

Pliki Odex

Pliki odex widoczne w folderze systemowym są tworzone przez ludzi, którzy napisali i zbudowali samą aplikację. Aplikacje na Androida są pisane w Javie, a następnie konwertowane na kod bajtowy. Następnie są one konwertowane ze standardowych plików.class zgodnych z wirtualną maszyną wirtualną Java na specjalny typ pliku, który może odczytać maszyna wirtualna Dalvik. Są to tak zwane pliki.dex. Gdy te pliki.dex zostaną umieszczone poza resztą kodu (który znajduje się w pliku.apk), pozostanie Ci samodzielny plik.odex.

Istnieje wiele dobrych powodów, aby mieć samodzielne pliki.odex. Przyspieszają czasy rozruchu (zwłaszcza pierwszego rozruchu), budując pamięć podręczną Dalvik podczas uruchamiania systemu. Oszczędzają również trochę miejsca, wskazując na platformę Android, o ile to możliwe, i pozwalają twórcy aplikacji na optymalizację swoich programów. Ale posiadanie plików seperate.odex nie jest zbyt przyjazne dla hakerów.

Deodeksowanie

Dezodeksowanie plików oznacza wzięcie samodzielnego pliku.odex i pliku.apk oraz przebudowanie ich w taki sposób, aby wszystkie te wstępnie skompilowane informacje o aplikacji były zawarte w pliku.apk zamiast w jego własnym pliku. Wstępnie skompilowane dane dla maszyny wirtualnej Dalvik znajdują się teraz w pliku klas.dex w pliku apk, jak na powyższym obrazku. To sprawia, że ​​pliki.apk są nieco większe i nie można ich wstępnie załadować po uruchomieniu systemu. Ale mogą być poddane inżynierii wstecznej przez hakerów i specjalistów.

Mając cały kod i dane dla programu w jednym miejscu, możesz używać narzędzi do „odblokowywania” aplikacji i edytowania jej w dowolny sposób. W ten sposób tworzone są motywy i poprawki, takie jak modyfikacje procentowe baterii dla „standardowych” pamięci ROM. Po wprowadzeniu zmian przez programistę odbudowują plik.apk i zmiany można uruchomić. Nie wpłynie to na żadną inną część systemu, ponieważ żaden kod ani dane nie są udostępniane innym aplikacjom.

Który powinieneś wybrać?

To naprawdę zależy od ciebie i jakie będą twoje potrzeby, ale sugeruję flashowanie wersji deodex, gdy tylko jest to możliwe. Tak, ROMy odex ROM uruchamiają się szybciej, ale tak naprawdę zauważasz to tylko przy pierwszym uruchomieniu, gdy wszystkie aplikacje systemowe są wstępnie buforowane przez maszynę wirtualną Dalvik. Możesz również zaoszczędzić sporo miejsca, używając plików odex, ale to miejsce jest na partycji systemowej i nie da ci miejsca na więcej aplikacji, jeśli twój telefon lub tablet korzysta z oddzielnej partycji aplikacji. Dzięki dzisiejszym nowoczesnym telefonom i ich wielordzeniowym procesorom oraz ogromnym bankom pamięci RAM nie zauważysz nawet szybszego ładowania aplikacji.

Jeśli chcesz robić takie rzeczy, jak zmiana paska stanu, motywu TouchWiz lub Sense, potrzebujesz deodex ROM. Będziesz także potrzebował pamięci deodex ROM, aby wykonać niektóre naprawdę fajne głębokie poprawki systemowe, takie jak zmiana menu ustawień lub edycja frameworka. Krótko mówiąc, jeśli już odblokowałeś bootloader i zrootowałeś i jesteś gotowy na niestandardową pamięć ROM, wybór wersji deodeksowanej jest prawdopodobnie najlepszym wyborem. Zdziwisz się, co wymyślą ci szaleni programiści, a na pewno spotkasz kilka, które chcesz wypróbować sam.