Hướng dẫn De-odex Rom

Thảo luận trong 'Android: Kiến Thức, Kinh Nghiệm' bắt đầu bởi ebooker, 1 Tháng mười hai 2011.

  1. Thuật ngữ này thường được sử dụng khi up một firmware Android hoặc cài đặt một ROM cook odex và deodex. Nhiều bạn mới làm quen android sẽ thắc mắc về hai thuật ngữ này . Hôm này mình sẽ giải thích thêm và hướng dẫn mọi người cách de-odex một bản Rom. Điều này sẽ là rất cần thiết cho các bạn trong quá trình tùy chỉnh Rom cho riêng mình, mà đây chình là một điểm Andoid thu hút người dùng
    Một tập tin Odex là gì?
    Ứng dụng cho các thiết bị Android được gói trong một định dạng mở rộng. Apk. Các ứng dụng này chứa một file .Odex mà có chức năng chính là để tiết kiệm không gian lưu trữ. Những tập tin Odex này được biên dịch để tải trước một phần của một ứng dụng trên khi khởi động để nó có thể tăng tốc độ. Khi một ứng dụng là Odexed , rất khó để hack hay sửa bởi vì một phần của ứng dụng đã được nạp ở một nơi khác.
    Deodex là gì?
    Khi một ứng dụng là Deodexed , nó cơ bản là đóng gói lại các apk để chúng được lưuvào các tập tin classes.dex. Sau đó, khi ứng dụng này đã được lưu, nó là một apk tất cả trong một và việc sửa đổi sẽ không xung đột với các khu vực khác, nơi các tập tin odexed cư trú.
    Hiểu đơn giản rằng, việc de-odex sẽ mở rộng đường để các bạn tùy chỉnh Rom mà hạn chế lỗi phát sinh.

    Tiến hành de-odex rom của bạn:

    -Yêu cầu : Android của bạn đã được root, máy tính cài ADB ( tải về tại đây http://dl.google.com/android/installer_r15-windows.exe) và java
    1-Tải về máy tính xUltimate v2.2.3 và giải nén vào thư mục riêng.
    2- kết nối máy tính với điện thoại, chạy Main.exe
    3-Nếu mọi việc ok, xUltimate sẽ nhận ra điện thoại của bạn, của sổ main.exe sẽ bao gồm các tùy chọn.
    4-Chọn tùy chọn 1 ( bằng cách gõ 1 rồi enter) lấy các file app từ system của điện thoại, sau đó là tùy chọn 2 cho các file trong framework. Bây giờ bạn có thể thấy các thư mục origin-app và origin_frame chứa các file từ system/app và system/framework của điện thoại.
    5-Tùy chọn 3 và 4 sẽ de-odex các file trong origi_app và frame hay là “đóng gói” các file .odex vào các file .apk dưới dạng .dex . Các file sau khi de-odex được chứa trong thư mục done_app và done_frame
    6-Thoát xUltimate
    7-Copy hai thư mục done_app và done_frame vào sdcard của điện thoại.
    8-Mở Command Prompt của máy tính (chương trình DOS, các bạn có thể tìm thấy trong start-all programs-accessories) và chạy đoạn lệnh sau ( sau mỗi dòng nhấn enter và đợi phản hồi) :
    Adb shell
    Su
    rm /system/app/*.odex
    rm /system/framework/*.odex
    cp /sdcard/done_app/* /system/app/

    cp /sdcard/done_frame/* /system/framework/
    reboot
    -Chú ý là system trong điện thoại đang ở r/w (góc trên, bên phải trong root-explorer) để có thể ghi và xóa file.
    *Để chạy ADB từ command prompt các bạn mở My computer >system property> advance system settings > advanced > environment Variables > system variables > path các bạn them vào địa chỉ của adb.exe , ví dụ như của mình là C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe

    Điện thoại của bạn sẽ khởi động lại và đã được de-odex, nhưng lần khởi động đầu tiên sau khi de-odex sẽ hơi lâu nên các bạn kiên nhẫn nhé.
    phidinhdat, HuyTim, zHelloz and 5 others like this.
  2. ebooker

    ebooker Staff Member

    Bài viết:
    396
    Được Like:
    398
    Có ai thực hành chưa vậy?!!!
  3. nmmvnnnet

    nmmvnnnet Thành viên

    Bài viết:
    34
    Được Like:
    0
    Đọc để thêm kiến thức. E rằng trình em còn non kém nên chưa dám thực hành.
  4. bolk68

    bolk68 Thành viên

    Bài viết:
    35
    Được Like:
    2
    co thể fix lỗi tin nhăn trên rom stock của m110s bằn cach nào vậy ebook,mình muốn tim hiểu nhưng không tìm được ở đâu
    thanks
  5. ebooker

    ebooker Staff Member

    Bài viết:
    396
    Được Like:
    398
    Lỗi trên file GsmSMSDispatcher.smali và SmsMessage.smali trong file framework.odex , bạn có thể tìm thấy hai file này sau khi deodex và decompile file framework.odex theo đường dẫn \smali\com\android\internal\telephony\gsm. Hãy thử so sánh file này của stock và rom đã fix của mình xem, bạn sẽ thấy chúng khác nhau như thế nào.
    bolk68 and toeloexoe like this.
  6. bolk68

    bolk68 Thành viên

    Bài viết:
    35
    Được Like:
    2
    main.exe ở đâu vậy ebook,
    lam sao để biết một rom đã deodex hay chưa?
    thanks
  7. ebooker

    ebooker Staff Member

    Bài viết:
    396
    Được Like:
    398
    Giải nén file zip sẽ có main.exe mà bạn?!!! trong system/app không có các file .odex nghia là deodex rồi.
  8. bolk68

    bolk68 Thành viên

    Bài viết:
    35
    Được Like:
    2
    ok,minh da lam
    đến khi chạy cp /sdcard/done_app/* /system/app/
    enter xog no báo la "no space on deice"
    hiện tương này giải quyết thê nào vậy ebooker
    thanks
  9. ebooker

    ebooker Staff Member

    Bài viết:
    396
    Được Like:
    398
    Vậy bạn nên xoá các file Odex trước bằng lệnh
    rm /system/app/*.odex
    rm /system/framework/*.odex

    Rồi mới copy vì bạn hết bộ nhớ hệ thống.
  10. bolk68

    bolk68 Thành viên

    Bài viết:
    35
    Được Like:
    2
    minh đã làm được,cảm ơn vì sự nhiệt tình
    thanks
    giờ thi mình mong bạn hương dẫn mình fix lỗi tin nhắn
    mình không tìm được đường dẫn \smali\com\android\internal\telephony\gsm
    như bạn nói thi có sự khác nhau giữa stock va cook,tức la mình có thể thay file GsmSMSDispatcher.smali và SmsMessage.smali của ebooker đã fix vào hai file trong cái chưa fix la được pai k
    thanks