XperiaにおけるAndroidアプリ考察

【acro HD】SO-03DをICS化する(キメラ仕様)

一向に来る気配のないSO-03DのICS。確か2012年秋冬モデル発売前にICSアップデートするという話だった気がしますがいかがお過ごしでしょうか、ドコモの中の人さま。

【acro HD】海外版acro Sのファームを焼く【acro S】rooted→SystemUImod→CWM導入(ICS acro HDでもOK)でまだ公式ICS化されないSO-03DをICS化する策を考察していますが、ガラスマ機能が全部使えないという不十分仕様。

auのIS12Sは既にICS化されているのに一向にアップデートされない哀れなSO-03DをICS化してみようじゃないか!と手順を編み出された@huhka_comさんのブログ「huhka.com Blogger出張所」のエントリー「XPERIA acro HD SO-03DのAndroid 4.0.4 (ICS)化とガラ機能の補完」を参考に導入してみます。

 

※このエントリーは書き始めて2週間以上紆余曲折してます。なんだかそろそろアップデートの案内が来るとか来ないとか噂されてますね。。

準備するもの

※ftfファイルの入手は各自で行なってください。

 

作業手順

※作業前に必ずバックアップを取ってから作業を進めて下さい。特におサイフケータイ機能のバックアップ(機種変更処理)を忘れずに!現行環境をCWMとアプリ・ユーザデータはTitanium Backupで。

■ICS化■

※初期化推奨です。

 ftfは以下の組み合わせで焼きます。

区分 機種 ビルド番号 ファイル
fota IS12S 6.1.D.0.170 fotakernel.sin
kernel IS12S 6.1.D.0.170 kernel.sin
system LT26w 6.1.A.1.58 system.sin
app_log LT26w 6.1.A.1.58 apps_log.sin
cache LT26w 6.1.A.1.58 cache.sin
data LT26w 6.1.A.1.58 userdata.sin
baseband SO-03D 6.0.A.5.12 amss_fs_1.sin
baseband SO-03D 6.0.A.5.12 amss_fs_2.sin
baseband SO-03D 6.0.A.5.12 amss_fsg.sin
loader SO-03D 6.0.A.5.12 loader.sin

これらのファイルを組み合わせ、1つのftfファイルを作り出します。手順は以下。

  1. ベースとなるftfをSO-03Dとし、7-zipで下記のファイル群となるよう抜き差しします。

    IS12S、L26wも7-zipで開き、必要なファイルだけコピーし後でまとめてSO-03Dのftfに上書きしてやると吉。
    こんな感じで各々のftfから抜き出しておく。

  2. 抜き出したファイル群をSO-03Dのftfに入れてやる。
  3. ftfファイルの選択画面でわかりやすくするために、7-zipを用いてMANIFEST.MFを編集
    (ファイル一覧で表示される名称を変更するため。分別できる場合は編集しないでも可)

    \META-INF\MANIFEST.MFをPCをにコピーしテキストエディタで開き、devicesを自分が分かりやすいように変更し7-zipで上書きする。

  4. FlashToolで焼く。基本はデータもwipeします。
  5. 起動するか確認。
    systemデータはLT26wのため、中華フォントであること、ガラスマ機能は一切入っていない状態。ひとまず3G通信、Wi-Fi通信ができるかを確認する。
    (Sony Ericssonの文字が表示される最後の端末なんですよね。。)
  6. root取り。
    設定>開発者向けオプション>USBデバッグにチェックを入れてからRoot_with_Restore_by_Bin4ry_v2_win-linuxを用いて実行。【2012 ICS Xperia】ほぼ1クリックroot取り from xdaの考察を参照。(端末選択は3.Otherだとうまくいかず、2.LT26,LT22で行うとうまくいく)
  7. CWM導入
    【2012 Xperia】CWM導入した(アンロック不要)
    の考察を参照。ICSでもちゃんと焼けます。#最新版はV2になりますので、@kenjidctさんによる忘れがちな人のメモ帳さんのCWM Recovery for 2012 Xperia v02 リリースよりダウンロードしてください。
  8. CWMでバックアップ
    この状態で一旦バックアップを取っておきます。(俺zip適用失敗しブートループした場合、ここまでの状態に戻すことがあります)

ここまででベースが完成となります。

 

■ドコモ化■

ここからがガラスマ機能の移植です。

  1. ドコモ化ファイルのdeodex化
    (1)04DのDumpをダウンロード(04Dなのでワンセグ、赤外線は厳しいです。05D(SX)のをお持ちであれば良いのですが)
    (2)ThJapさんの【how to deodex】xperiaのdeodexをwindows上でやってみよう【やりかた】を参考にdeodex化
    (3)移植に必要なファイルリストを確認し、移植用のフォルダにまとめる。

  2. CWM用ファイルを作成
    (1)Titanium Backupで作成したupdate.zip、もしくはこちらのベースファイルを準備。
    • Titanium Backup>menu>update.zipの作成

      あくまでTitanium Backupを戻す用のものなので、これをベースとしてファイルを入れ込みます。
  3. 必要ファイルの準備
    04DのDumpから必要なファイルを入れ込む。ファイルの配置は記載された状態に。
    フォントの追加、絵文字関連ファイル(SPモードメール用)も必要に応じ集める。

    上記リストには赤外線関連、ワンセグ関連が含まれています。

    <FeliCa関連>

    /system/app/FelicaApp.apk
    /system/app/MobileFeliCaClient.apk
    /system/app/MobileFeliCaMenuApp.apk
    /system/app/MobileFeliCaSettingApp.apk
    /system/app/MobileFeliCaWebPluginBoot.apk
    /system/app/SemcFelicaLockServiceDocomo.apk
    /system/app/SemcFelicaLockServiceKddi.apk

    /system/etc/felica/Mcd_icon_72_ili.png

    /system/etc/felica/QP_logo.PNG
    /system/etc/felica/ana.png
    /system/etc/felica/biccameralogo.png
    /system/etc/felica/bookmark.cfg
    /system/etc/felica/common.cfg
    /system/etc/felica/edy.png
    /system/etc/felica/jre.png
    /system/etc/felica/mfc_falp.cfg
    /system/etc/felica/mfm.cfg
    /system/etc/felica/mfs.cfg
    /system/etc/felica/portal_icon.png
    /system/etc/felica/toku.png
    /system/etc/felica/waonicon.png
    /system/etc/felica/yodo_android_72x72.png

    /system/etc/product/applications/MobileFeliCaMenuMainApp.apk

    /system/etc/product/applications/MobileFeliCaWebPlugin.apk

    /system/lib/libandroid_runtime.so
    /system/lib/libfa_jni.so

    <絵文字関連 >

    \system/emoji\以下すべてのフォルダ・ファイル
    \system\lib\libDecoEmojiJniNative.so
    \system\lib\libemoji.so
    \system\lib\libemoji_docomo.so
    \system\lib\libemojibitmap_type2.so
    \system\lib\libemojidata_type2_docomo.so
    \system\lib\libemojifactory_type2.so
    \system\lib\libemojijni_type2_ics.so
    \system\lib\libemojisyswrapper_type2.so
    \system\lib\libkaomoji_kihon.so
    \system\lib\libkaomoji_tyukyu.so
    \system\lib\libnjemoji.so
    \system\lib\libnjemoji_voiceinput.so
    \system\lib\libnjexyomi.so
    \system\lib\libnjexyomi_new.so
    \system\lib\libnjexyomi_re.so

    <build.prop>
    IS12S(6.1.D.0.170)のbuild.propをベースにドコモ用の定義を追加

    ##### Final patch of properties #####
    ro.build.product=SO-03D
    ro.build.description=SO-03D-user 4.0.4 6.1.D.0.170 VT9_zw test-keys

    ro.product.name=SO-03D_1256-7200
    ro.product.device=SO-03D
    ro.build.tags=release-keys
    ro.build.fingerprint=docomo/SO-03D_1256-7200/SO-03D:4.0.4/6.1.D.0.170/VT9_zw:user/release-keys

    ######### Customized property values ########
    ro.semc.version.cust=1256-7200
    ro.semc.version.cust_revision=R20E
    ro.semc.spn.currentname=NTT DoCoMo
    ro.semc.spn.newname=NTT DOCOMO
    ro.com.google.clientidbase.am=android-docomo-jp
    ro.config.libemoji=libemoji_docomo.so
    ro.product.brand=docomo
    ro.semc.ecclist.num=6

    ##### Values from product package metadata #####
    ro.semc.product.model=SO-03D
    ro.semc.ms_type_id=AAD-3880132-BV
    ro.semc.version.fs=DCM
    ro.semc.product.name=Xperia acro HD SO-03D
    ro.semc.product.device=Hikari
    ro.product.model=SO-03D

  4. updater-scriptの編集
    俺zipの書き方は【CWM】俺様zip作成 (updater-script作成)を参照、もしくはTitanium Backupで作成したupdate.zipを参考に入れ込むファイルの定義を追記。パーミッション設定は以下の感じで。
    (setの前の*はワンセグ、赤外線関連ファイルがある場合は定義)
    set_perm(0, 0, 0644, "/system/app/*.apk");
    *set_perm(0, 0, 0755, "/system/bin/irdaserver");
    *set_perm(0, 0, 0755, "/system/bin/onesegtunerserver");
    set_perm(0, 0, 0444, "/system/etc/felica/*");
    *set_perm(0, 0, 0644, "/system/etc/permissions/Dc3pIrSimple.xml");
    set_perm(0, 0, 0644, "/system/etc/product/applications/*.apk");
    *set_perm(0, 0, 0644, "/system/framework/*.apk");
    *set_perm(0, 0, 0644, "/system/framework/*.jar");
    set_perm(0, 0, 0644, "/system/lib/*.so");
    set_perm(0, 0, 0644, "/system/build.prop");
    

    updater-scriptの編集が終わったら7-zipで上書き。

  5. CWMで俺zip適用
    zipファイル名はお好みで。(英数字のみが無難)
    もしブートループしてしまう場合はframeworkファイルを弄っていなければbuild.propのミスが考えられます。ちなみにSO-03D(GB)のをそのまま使っていたのに気づかず、10数回ブートループしました私w

 

これで作業は完了です。

今回のキメラ仕様はファイルを集める作業(ググるスキル)、deodex化、俺zip作成という大きく3つの山がありました。

CWM用ファイルをあげようとも思いましたがFeliCa関連はお金に絡む部分であり、何かあったらマズいこと、正規のICS化も近いだろうと思ったので、ファイルはご自身で集めて下さい。スミマセン。。。