2010年2月13日土曜日
Motorola Milestoneにテーマを導入するメモ
Milestone用のテーマはまだ数が少なく、どれも微妙な感じだったのでDroid用のテーマをMilestoneに移植してみました。
移植したのはDroidのカスタムROMBugless Beast V0.7.5のテーマに
UI Tweak, Silver Notification Icons & Transparent Scrollbarsの
パッチを適用させた物を今回使用しました。
ちなみにMilestone用テーマは下記フォーラムにあります。
AllDroid Themes>>Motorola>>Milestone
自己責任でお願いします。文鎮、レンガになっても泣かない事。消えたら困るデータはクラウドかチラシの裏に保存しておく事!
テーマ導入手順
1)SDCardにthemeディレクトリを作成し、そこへ「framework-res.apk」と「services.jar」をコピー
2) ADBRecoveryを用い、リカバリモードでadb shellコマンドを打てるようにする。
3)ターミナルで以下のコマンド実行
mount system
cp /sdcard/theme/framework-res.apk /system/framework
cp /sdcard/theme/services.jar /system/framework
chmod 644 /system/framework/framework-res.apk
chmod 644 /system/framework/services.jar
4)リブート
テーマの移植手順
用意する物
1.オリジナルのservices.jar
2.オリジナルのframework-res.apk
3.Bugless Beast V0.7.5のframework-res.apk
4.UI Tweak, Silver Notification Icons & Transparent Scrollbarsのパッチ(お好みで)
5.http://code.google.com/p/smali/のbaksmali-1.1.jarとsmali-1.1.jar
6.AXMLPrinter2.jar
7.バイナリエディタ
8.7-zipとかwinrarとか
----------
services.jar書き換え
[HOW-TO] Change status bar clock color
↑参考資料・・・
1)services.jarを7-zipで開き、classes.dex抜いてくる。
2)java -jar baksmali.jar -o classout/ classes.dex
3)classout/com/android/server/status/StatusBarIcon.smaliを編集
.line 46,
const/high16 v6, -0x100 → const v6, -0x1
文字色を黒から白に
4)java -Xmx512M -jar smali.jar classout/ -o new-classes.dex
5)new-classes.dexを適当な所にコピーし、classes.dexにリネームの後、services.jarに上書き
----------
framework-res.apkの編集
画像は3. / 4.のファイルをそのままオリジナルのframework-res.apkに突っ込めばOK
xmlファイルは要編集
編集するのはlayout下の以下3つのファイル。
status_bar.xml ・・・ notificationの日付
status_bar_expanded.xml ・・・ notificationのキャリア情報
status_bar_latest_event_content.xml ・・・ notificationのイベント欄
xmlファイル、バイナリ形式になっており簡単に中身をみる事ができません。
AXMLPrinter2.jarを用い、テキスト形式に変換し、中身を覗きます。
参考:Shanghai Android Laboratory Convert Android binary XML to human-readable XML
とりあえずstatus_bar.xmlをテキスト形式に変換してみます。
java -jar AXMLPrinter2.jar status_bar.xml >> status_bar.txt
テキストファイルを覗くと「android:textColor="#FF000000"」という記述が見つかると思います。
コイツを白、#FFFFFFFFに書き換えてあげれば良いのです。
書き換えはバイナリエディタでちょこちょこっと・・・ね。
書き換えたら念のためAXMLPrinter2.jarでテキスト形式に変更し、意図した書式に書き変っているか確認。
書き換え終わったらframework-res.apkに上書き
signは特に必要無さそうです。
俺専用メモなので端折りまくってます・・・気が向いたら追記の方向で・・・
今回、Milestoneのテーマという事でしたが、Magic(HT03A)でも使えるネタでございます・・・