Android 6.0のsystemをdeodexする方法

この記事の賞味期限は切れています。
投稿から1年以上経過しているため、情報が古い可能性があります。

当サイトで紹介するMODやアプリなどの内、システムファイルの改変やシステムに深く関わるものはroot化やリカバリが必須となります(root化の必要なしと明記している場合は除く)。導入は自己責任で行ってください。また、技適の無い機器の使用は自己責任です。

how to deodex

Android 6.0のsystemをdeodexする方法を紹介します。


deodexとは?

かつてAndroidアプリはDalvik VMという仮想マシン上で動作しており、dex (Dalvik Executable) という形式が利用されていました。

端末毎にdexを最適化したものをodex (Optimized Dalvik Executable) といい、ユーザーが何も書き換えしないのであればその状態でも良いのですが、書き換えたい時にはodexのままでは動作しなかったり、書き換えに手間が掛かったりします。

そこで、odexファイルをdexファイルへと変換 (deodex) して書き換えしやすくしたり、他の端末から必要なアプリを移植したりといったことをします。

Android 5.0以降ではDalvik VMはART (Android Runtime) に置き換えられていますが、dex、odexという名称はそのまま残されています。

deodex用ツール

Android 5.0以降のART環境でのdeodexに対応したツールの一つにDeodexer for Android Runtimeがあります。

2016年5月1日の時点ではv4.1が最新のため、「New version v4.1 here」のリンク先から、PCに合わせたバージョンのDeodexer (32bitならSVADeodexerForArtx32.zip、64bitならSVADeodexerForArtx64.zip) をダウンロードしてください。

deodexする方法

1. まず、zipを解凍します。
なお、解凍したフォルダにdeodexしたファイルが保存されるので、空き容量に余裕がある場所に解凍してください。

2. SVADeodexerForArt.exeを実行します。

Deodexer

3. deodexしたいファイルを用意します。
systemフォルダを作成し、そのフォルダの中に端末から取り出したapp、framework、priv-appフォルダとbuild.propを置いてください。

deodexするフォルダ

4. Xperiaの場合、frameworkフォルダにSemcGenericUxpResフォルダがありますが、Deodexerはv4.1の時点ではSemcGenericUxpResのdeodexに対応していません。
一旦appフォルダへSemcGenericUxpResフォルダを移動してください。

5. Deodexerの…をクリックし、3. のsystemフォルダを選んでください。

6. 下図のようにframework、app、priv-appにチェックを入れ、deodexしていないアプリのフォルダをdeodex結果のフォルダにコピーする場合は右端のチェックボックスにもチェックを入れてください。

Deodexer画面

7. 「Execute」をクリックしてください。

8. ログが開かれるとdeodexへの変換は完了です。

deodex結果

SVADeodexerForArt.exeと同じフォルダにdeodexされたapp、framework、priv-appフォルダが保存されます。

9. appフォルダへ移動していたSemcGenericUxpResフォルダを、元通りframeworkフォルダへ移動してください。

10. このzipをダウンロードして、zip内のsystemフォルダの中にあるapp、framework、priv-appフォルダにdeodexしたapp、framework、priv-appフォルダの中身をぞれぞれ入れてください。
※圧縮すると問題が起きることがあるようなので、7zやWinRARなど、無圧縮で入れられるソフトを使ってください。

11. zipをTWRPなどのリカバリでインストールしてください。
※app、framework、priv-appフォルダがzip内のものに置き換わるので、SuperSUなども必要に応じてインストールしてください。

以上でdeodexの作業は完了です。


Sony Mobile Communicationsのスマートフォン、Xperia向けのカスタマイズや便利なツールを紹介しています。OnePlus 3T A3010とXperia XZ F8332を使用中で、Androidアプリも開発しています。

Twitter: @AndroPlus_org

コメントフォーム右上の「ログイン」メニューで各種SNSアカウントでログインできます。
匿名でコメントしたい場合は、名前とメールアドレスを入力した後「アカウントを作成せず投稿する」にチェックを入れてください。
Disqusに登録すると、返信通知を受け取れます。