Wirbelwind_IF

備忘録)odexとdeodex

Jul 15th, 2013
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. ■いわゆるodexとdeodexの違い
  2. ・odex
  3.  apk(jar)ファイルとodexファイルが対になっている
  4.  例:framework.jarとframework.odex、SystemUI.apkとSystemUI.odexなど
  5.  そもそもodexとは、odexファイルの拡張子の名前
  6. ・deodex
  7.  1つのパッケージは1ファイル
  8.  例:TaskSwitcher.apk(TaskSwitcher.odexは存在しない)
  9.  
  10. ■そもそもodexファイルとは何か
  11. パッケージのうちコード部分がまとめられ、その機種に最適化され、さらに署名が埋め込まれたファイルのこと
  12. deodexの場合、コード部分はapk(jar)の中にclasses.dexの形で内包されている
  13. 逆に、odexファイルがある場合は、apk(jar)の中にclasses.dexは存在しない
  14. optimaizedなdex → odex
  15.  
  16. ■odex方式のメリット・デメリット
  17. 【メリット】
  18. ・コード部分がはなから最適化されているため、効率がいい(はず)
  19. ・利用者側は、余分な作業をせずapk(jar)やodexを上書きするだけの簡単なお仕事
  20. 【デメリット】
  21. ・odexファイルがその機種に最適化されているため、他機種にそのまま移しても動かない
  22. ・カスタムしようとしたときに、apk(jar)とodexそれぞれを別々に管理しないといけないので面倒
  23. ・odexファイルは実機上でしか再作成出来ない
  24. ・odexの署名部分を自力で生成することは不可能なので、元々odexの形になっている必要がある
  25.  作業の最後に、オリジナルのodexから改変後のodexに署名部分を移す工程がある
  26.  (例えばTaskSwitcher.apkをodex方式にするのは無理)
  27.  
  28. ■その他
  29. deodex方式の場合、結局odexに相当するものが/data/dalvik-cacheに生成される
  30. よくカスタムシーンで「dalvik-cacheをワイプしなさい」と言われるのはそういうこと
  31.  
  32. ■個人的な好み
  33. 元々odex式のものはodex式のままにしておく方が好き
Add Comment
Please, Sign In to add comment