[Deodex & Odex Nedir?][Nasıl Yapılır?][Avantajları ve Dezavantajları][Dalvik VM -?]

Bu konuyu okuyanlar

KaptaPrism

Asistan
Katılım
3 Ocak 2013
Mesajlar
283
Reaksiyon puanı
1
Puanları
16
Forumu inceledim ve böyle önemli bir konunun eksikliğini hissettim ve bende hemen paylaşayım dedim.Herkesin anlayabileceği bir şekilde hazırladım.Yeterince detaya girdiğimi düşünüyorum.

Giriş
Biliyorsunuz ki android işletim sisteminde tüm uygulamalar .apk (Android aplikasyon paketi) formatındadır.Ve android işletim sistemi Dalvik Sanal Makinesi adında java tabanlı bir sanal makinenin üzerine kuruludur.Bir .dex uzantılı dosya ve ya deodexed uygulamaa dalvik sanal makinesi tarafından kullanılan verileri depolar.Ve bu dosya (.dex) .apk dosyasının içinde bulunur.

.Dex dosyası : .Apk dosyalarının çalışmasını sağlayan kodları içeren blok.Bir .apk dosyası yapılırken java kodları, Dalvik Sanal Makinesi'nin okuyabildiği smali adı verilen dile dönüştürülür.Bu smali dosyaları .dex dosyalarının içinde bulunur.

Classes.dex dosyası : Bahsi geçen .dex dosyası.

Odex (Optimized Dex File)
Android sistemi açılırken dalvik verileri, Dalvik VM (Dalvik Virtual Machine)'nin .odex dosyalarını okuyarak çalıştırılacak olan uygulamaları öğrenir.

.Odex dosyası : .Apk dosyasının içinde bulunan .dex dosyasının, .apk dosyasından ayrılmış ve optimize edilmiş halidir.

Odex işlemi ilen .apk dosyalarından ayrılan .dex dosyaları optimize edilerek .odex dosyalarına dönüştürülür.Bu .apk dosyalarına Odexed Apk denir.Bu olaya ise Odex denir.


Deodex (De-optimized Dex File)
Deodex ise bu .odex dosyalarının .apk dosyasının içine koyup hepsini tek bir kod bütünü haline getirmektir.

Deodex işlemi ilen .odex dosyaları .apk dosyasının içine konulan .apk dosyalarına Deodexed Apk dosyası denir.Bu işleme de Deodex denir.



Framework klasöründeki bazı dosyalar da odex ve ya deodex işleminden geçirilmektedir.


Avantajları ve Dezavantajları
Deodex

-Deodex Apk'lar tek bir bütün halinde bulunur.Smali dosyaları ayrılmaz.Bu sayede .apk dosyaları düzenlenir, modifiye edilebilir ve tema uygulanabilir bir hale gelir.

-Fakat ilk açılışta ve ya Dalvik verileri temizlendiğinde boot(Açılış) süresi fazla olabilir.


Odex

-Dalvik VM, odex dosyalarını açılışta hızlı bir şekilde okur.Yüklenecek uygulamalır belirler.Boot (Açılma) süresinde de bir artış yaşandığı söylenebilir.Tabi bu tek seferlik bir artış.Çünkü Deodexed Apk dosyası dalvik verilerini zaten telefonda barındıracaktır.Yani fazla bir fark olmayacak.Tabi dalvik verilerini temizlerseniz boot süresi yine tek seferlik artar.

-Ayrıca odexed sistemlerin ram kullanımının azaldığı, daha stabil ve daha güvenli olduğu söylenmektedir.Bana göre de öyle ama katılmayan kişiler var.Ben kendim odexed sistem kullanıyorum.Ve farkı hissediyorum.

-Apk dosyasının bazı dosyaları kendisinden ayrılacağından bu .apk dosyalarını doğru bir şekilde düzenleyemeyiz.


Dalvik Verileri;
Dalvik verileri, telefonunun root bölümünün data klasörünün içinde dalvik cache adlı klasörde bulunur.Data klasörünü düzgün bir şekilde görebilmek için sistemi yazabilir hale getirmeniz gerekir.Ve bunu telefondan yapabilmek için root yetkisi gerekir.

Ve ya ADB.exe ile shell rm directory ile de dalvik verilerinin olduğu klasörü temizleyebilirsiniz.Tek gereken ADB sürücüleri.Adb.exe ve gerekli kütüphaneleri(.dll).

Sonuç
Genellikle stock romlar odexed olarak gelir.Custom romlar ise deodexed olarak gelir.
Ben kesinlikle odexed sistem kullanmanızı öneririm.Eğer telefonunuza sürekli SystemUI gibi dosyalar yüklüyorsanız deodexed sistem öneririm.


Şimdi gelelim Deodex ve Odex işlemi nasıl yapılır sorusunun cevabını bulmaya...

Deodex işlemi
Deodex işlemini xUltimate adı verilen ünlü bir programla yapabilirsiniz.Tüm sistem uygulamalarınızı deodex işlemine tabi tutar.

xUltimate


Odex işlemi
Odex işlemi için Universal Odex Script'i öneririm.

UOS

Bu işlemi yapmadan önce bir yedek alırsanız iyi olur.Sorun çıkacağınız zannetmiyorum ama yedek almaktanda can çıkmaz.
Buradan UOS ile başlayan dosyayı indirin.Zip dosyasını, telefonunuzun sdkartına atın.Telefonunuzu recovery moduna alın.Zip dosyasını yükleyin.Telefonu başlatın.Terminal Emülatör, isimli bir uygulama yüklenmiştir.Şimdi sırasıyla aşağıdaki komutları gönderin;

Kod:
su
dexo -h

Odex menüsü gözükecektir.Eğer telefonunuzun dahili hafızası yeterliyse uygulayabileceğiniz işlemler gözükür.Onlardan birini kullanarak sistem klasöründeki tüm uygulamaları ve ya seçili uygulamaları, framework klasörünündeki bazı dosyaları odex işlemine tabi tutabilirsiniz.

Tek bir dosyanın odex ve ya deodex işlemleriyle ilgileniyorsanız;

Manual Deodex & Odex on Windows


Hazırlayan : Doğan Akçakaya aka KaptaPrism
Bu konu SDN Forum kaynak gösterilmek şartıyla her yerde paylaşıma serbesttir.


Ve soru sormaktan çekinmeyin.Bilgi paylaştıkça büyüyorsa paylaşmanın neresi zarar ki ? Değil mi :laugh:
 

Elusive

Dekan
Katılım
2 Eylül 2012
Mesajlar
8,627
Reaksiyon puanı
260
Puanları
63
Hakkaten ya böyle bir konu yoktu da neden fark etmedik :D
Çok güzel anlatmışsın kardeşim tebrikler :)
 
Üst