先日の Xperia acro HD に GXModv3a移植版を導入で予定していた、ジョルテのウィジェットでの曜日表示用に framework-res.apk に手を入れることにした。Overlayで表示されているため、システムの framework-res.apk ではなく、/system/vendor/overlay/framwork/framework-res.apk を修正しました。
c: ドライブ直下に tmpディレクトリを作成し、その中で作業した備忘録を残しておきます。
- ファイルを取ってくる
adb pull /system/vendor/overlay/framwork/framework-res.apk - デコンパイルする
apktool d framework-res.apk - こんな感じでディレクトリが作成され、ファイルも作成されているはず。変更の対象となるのは framework-res\res\values-ja 配下にある strinhgs.xml
──framework-res
├─assets
│ ├─images
│ ├─sounds
│ └─webkit
└─res
├─drawable-xhdpi
├─values
└─values-ja - エディタで開き <string name="day_of_week_medium_sunday">日曜</string> となっている箇所を 日 のみにする
※ 日~土まで修正、念のため - リコンパイルする
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 - 元ファイルから署名をコピーする (その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 - 元ファイルから署名をコピーする (その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 としますが、無圧縮で入れ直した方がいいかもしれないです。
文字列修正後の ジョルテのウィジェット |
個人的には [日] より [日曜] と表示された方がいい感じなので、ジョルテでの曜日の表示がday_of_week_medium_~ から day_of_week_short_~ を使ってもらえると嬉しいですね。
0 件のコメント:
コメントを投稿