2013年6月17日月曜日

Xperia acro HD を deodex化する

資材置き場さんの Xperia acro SのJB(6.2.B.0.200)を入れてみる と自作ライダーさんの SO-03DにJB(6.2.B.0.200)を導入を参考にして、Xperia acro HD の JB化を行いました。

グローバルモデル用の ROMのため、いわゆるガラケー機能(赤外線、ワンセグ、エリアメール等)は使えなくなってしまいます。個人的にエリアメールが使えなくなるのは、いざという時ちょっといたいかなという気もしますが、Galaxy Tab 7.7 mvno運用でもエリアメールの受信はできるので良しとしました。ちなみにワンセグも見られますな ;-)

資材置き場さんの公開物、以前は odexな環境で動くものがほとんどだった気がするのですが、JB化以降は deodex環境が条件のようです。

資材置き場さんにも deodex化の方法が記載されていますが、もう少し簡単にできるよう Thjapさんの【how to deodex】xperiaのdeodexをwindows上でやってみよう【やりかた】を参考に deodex化をしました。以下、自分用備忘録。

  1. deodex簡単ツールを落として展開をします。
  2. smali と baksmali の最新版(この時点では 1.4.2)を Google から落とし、deodex簡単ツールを展開したフォルダーに入れます。
  3. AutoDEOToolMain.bat を編集を編集します。
    14行目の set useversion=1.3.2 を set useversion=1.4.2 に、
    1.2.6 を全て 1.4.2 に書き換えて保存をします。
  4. DOS窓を開き、deodex簡単ツールを展開したディレクトリに移動します。自分の場合はAutoDEOTool_ICSForHoliday です。
  5. /system/app と /system/framework にあるファイルを取ってきます。
    adb pull /system/app/ _app/
    adb pull /system/framework _framework/
    ※ この後 deodex化に成功したファイルは _app と _framework から削除されるので、
       バックアップしておくのを忘れずに。
  6. Thjapさんの 2012.11.03 追々記を実施。
    ・playstationcertified.odex は com.playstation.playstationcertified.odexにリネーム。
    ・SemcGenericUxpRes.apk、 SemcGenericUxpRes.odex は _app に移動しておく。
    (deodex後、/frameworkに戻すこと)
  7. AutoDEOToolMain.bat を実行
    自分は全て deodex化ということで 1を選択。
    _framework に odex と対になっていないファイルが残るのは問題無し。
    ※ クラスパスの入力は求められませんでした。
    2013/06/19 以下を修正
    自分は全て deodex化ということで 2を選択。
    _framework に odex と対になっていないファイルが残るのは問題無し。
    クラスパスは core.jar を入力
  8. 内部ストレージに deodex化されたファイルをコピー
    ・deodexed_APK は /system/app へコピーするファイル
    ・deodexed_JAR は /system/framework へコピーするファイル
    なので、自分の場合は deodex/app と deodex/framework を作成し、それぞれにコピーしました。
  9. リカバリーモードで起動
    ・/sdcard と /system をマウントし、該当ファイルをコピー。
    ・パーミッションを 644 に。(グループは root.root になっているはず。一応確認)
    ・odexファイルを削除。(ドキドキ! もう戻れない)
    ・cache と falvik-cache を wipeする。
  10. 再起動
    ブートロゴが長い... ドキドキしながら待つ。

無事起動したら成功です。お疲れ様でした。

5 件のコメント:

  1. はじめまして ブログ参考にいろいろやっているものです。
     so03d の deodex ですが オリジナルではクラスパスの打ち込みを求められますが1.4.2に書き換えればいらないのでしょうか? ちょっとうまくいかずいろいろ探していたところで記事を拝見しましたので質問させていただきました

    返信削除
    返信
    1. アクロさん、こんばんは

      グローバル版 JB はバッチファイルを修正し、1.4.2 の使用でクラスパス指定無しでいけました。
      docomo版 ICS のときは 1.3.2 を使っていたためか、クラスパスの指定をしないと駄目でした。クラスパスは thjapさんの 2012.11.03 追々記の指定を行いました。どれだったか忘れてしまいましたが、ひとつクラス指定を消さないと上手くいかなかった記憶があります。

      一度お試しください。

      削除
  2. ばっくらっしゅ 様

     早速のアドヴァイスありがとうございます。
    いろいろ試してみましたがなかなかうまくいきません。
    今度は初期化してroot直後のクリーンな状態で
    やってみようと思います。
    これからもご参考にさせていただきます
    今回はありがとうございました。

    返信削除
  3. アクロさん

    ごめんなさい、AutoDEOTool の使い方を間違えていました。偶数選択しないと駄目なので、2 (全deodex化)を選択したら、クラス指定を求められました。(ちなみに core.jar で ok。)
    オリジナルってのが ICS のことかなと思い、こちらも試してみましたが core.jar をクラスパスに指定すれば ok でした。

    # 見てくれてるかなぁ?

    返信削除
  4. バックラッシュ 様

     そうでしたか! バージョンあげるとクラスパスも簡単になるとは(笑
    わざわざのご回答ありがたいと思います。
    こちらもその方法で試してみようと思います。
    検証ありがとうございます。

     ブログはこまめにチェックさせてもらってます(笑

    返信削除