2013年5月10日金曜日

GXModv3a移植版の曜日表示を変える

先日の Xperia acro HD に GXModv3a移植版を導入で予定していた、ジョルテのウィジェットでの曜日表示用に framework-res.apk に手を入れることにした。Overlayで表示されているため、システムの framework-res.apk ではなく、/system/vendor/overlay/framwork/framework-res.apk を修正しました。

c: ドライブ直下に tmpディレクトリを作成し、その中で作業した備忘録を残しておきます。

  1. ファイルを取ってくる
    adb pull /system/vendor/overlay/framwork/framework-res.apk
  2. デコンパイルする
    apktool d framework-res.apk
  3. こんな感じでディレクトリが作成され、ファイルも作成されているはず。変更の対象となるのは framework-res\res\values-ja 配下にある strinhgs.xml
    ──framework-res
        ├─assets
        │  ├─images
        │  ├─sounds
        │  └─webkit
        └─res
            ├─drawable-xhdpi
            ├─values
            └─values-ja
  4. エディタで開き <string name="day_of_week_medium_sunday">日曜</string> となっている箇所を 日 のみにする
    ※ 日~土まで修正、念のため
  5. リコンパイルする
    apktool b framework-res

    こんな感じでディレクトリが追加され、framework-res\dist に変更をかけた framework-res.apk が作成される
    ──framework-res
        ├─assets
        │  ├─images
        │  ├─sounds
        │  └─webkit
        ├─build
        │  └─apk
        │      └─res
        │          └─drawable-xhdpi
        ├─dist
        └─res
            ├─drawable-xhdpi
            ├─values
            └─values-ja
  6. 元ファイルから署名をコピーする (その1:元ファイルの展開)
    7z x framework-res.apk

    こんな感じでディレクトリが追加され、元ファイルにあった AndroidManifest.xml が作業ディレクトリに、署名用ファイルが META-INF に展開される
    ├─assets
    │  ├─images
    │  ├─sounds
    │  └─webkit
    ├─framework-res
    │  ├─assets
    │  │  ├─images
    │  │  ├─sounds
    │  │  └─webkit
    │  ├─build
    │  │  └─apk
    │  │      └─res
    │  │          └─drawable-xhdpi
    │  ├─dist
    │  └─res
    │      ├─drawable-xhdpi
    │      ├─values
    │      └─values-ja
    ├─META-INF
    └─res
        └─drawable-xhdpi
  7. 元ファイルから署名をコピーする (その2:マニフェストファイルと署名用ファイルの追加)
    7za a -tzip framework-res\dist\framework-res.apk AndroidManifest.xml
    7za a -tzip framework-res\dist\framework-res.apk META-INF

これで完成。
/data/local/tmp あたりにコピーした後、recovery で再起動し /system/vendor/overlay/framwork にコピーすれば ok

元ファイルとサイズが大きく違っていたので調べてみたら、サウンドファイル等圧縮が掛かっていたためでした。取り敢えず動いているので ok としますが、無圧縮で入れ直した方がいいかもしれないです。

文字列修正後の
ジョルテのウィジェット
Screenshot_20130510-001

個人的には [日] より [日曜] と表示された方がいい感じなので、ジョルテでの曜日の表示がday_of_week_medium_~ から day_of_week_short_~ を使ってもらえると嬉しいですね。

0 件のコメント:

コメントを投稿