スマフォ初心者による『docomo REGZAphone T-01C であそぼう!』のブログ
リンク メール 掲示板 このブログについて Twitter T01C 取扱説明書 QLOOKアクセス解析
.9.png 画像を編集してみる
6月 19日-Sun

アンドロイドには
.9.png という形式の画像が結構使われていて
これが案外面倒くさい。

かなり大雑把に言うと
.9.png の画像は 9個のパーツから成り立っていて
端末の画面サイズに合わせて拡大縮小が容易に出来る、
それも画像を劣化させずに、
みたいな長所があるらしい。

Android端末は種類も多く、機種によって画面のサイズも違う

アプリ側も
画面サイズに合わせた画像を全部用意するのは手間になるうえ、
ファイルサイズも大きくなってしまう。
そんなわけでこの .9.pngが役に立つってことですね。


ま、そんなこんなはさておき
Metamorphやらで画像を差し替えたいだけのこっちとしては

ペイントソフトで編集して上書き保存してしまうと
.9.png の形式が失われたり…。

ここでは、
その面倒くさい画像
.9.pngを編集して使えるようにする手順をメモしています。


準備&確認

 ・JRE のインストール
スクリーンショットを撮るためなどに
SDK のインストール、PATH設定が完了しているなら問題ないです。

 ・framework-res.apk のコピー



レグザフォンが故障する可能性があります。

故障したとしても
修理を受け付けてもらえない可能性もあります。

すべて自己責任で行ってください。

なにがあっても、
こちらは一切責任を負いません。


つづきへ。




ここから apktoolをダウンロード
http://code.google.com/p/android-apktool/downloads/list

ダウンロードするファイルは apktool1.4.1.tar.bz2


そして自分の環境に合ったスクリプト(?)ファイル
Windows、MacOS、Linux それぞれ用意されている。

Windows の場合は apktool-install-windows-r04-brut1.tar.bz2


 ※バージョンが違う場合があるかもしれませんが
   ↑に置いてあるものをダウンロードすれば問題ないと思います



以上のふたつをダウンロードして解凍。

lhaz7-zip で解凍できる。
  7-zip で展開させて tarファイルになったら
  その tarファイルももう一回展開させる



apktool1.4.1.tar.bz2 に入っているのは apktool.jar

apktool-install-windows-r04-brut1.tar.bz2 には
aapt.exe と apktool.bat


 apktool.jar
 aapt.exe
 apktool.bat
この 3つのファイルを
同じフォルダに入れ、PATHを通す。
または 3つのファイルをPATHの通ったところに入れる。

SDK をパソコンに入れてあるなら、そこでもOK。

PATHが終わっている場合は apktoolの使い方

例として apktoolというフォルダを新規作成し、
それを Cドライブ直下に置いてみた



C:\apktool このフォルダにPATHを通す。

[コンピュータ]または[コントロールパネル]などから
[システムのプロパティ]→[システムの詳細設定](画像は vistaの場合)



[環境変数]をクリック


システム環境変数の欄で Path を選択、編集ボタン



変数値の欄に C:\apktool(3つのファイルのありか)をコピペ。


セミコロン ; で区切られているので、
C:\apktool の前後にもセミコロン ; を書き加えておきましょう。


終わったら OKで画面を閉じる。


これで PATH設定が完了。


やっとapktoolを使えるようになりました。


解凍したいapkファイルを apktoolフォルダに入れる。
ここでは framework-res.apk



コマンドプロンプトを立ち上げる

立ち上げた状態だと C:\User\***> となっていると思うので
 (*** のところはユーザーアカウント

apktool がある場所(フォルダ)に移動します。

cd C:\apktool

  cd 移動先フォルダ(エクスプローラなどからコピペすれば確実)


作業開始。


まずは共有するためのリソースだかなんだかを
インストールしておく必要があるらしいので
以下のコマンドを実行。

apktool if framework-res.apk


C:\Users\ユーザ名\ に apktoolフォルダが作られ、
framework-res\1.apk とインストールされる。
詳しいことはよく分かりませんが
まぁ、これがないと
framework-res.apkを apktoolでうまく弄れないっぽいので必須。

  編集したいアプリ(apk)が
  framework-res.apk ではない場合も、この手順はやっておく。




次に弄りたいアプリファイル(apkを解凍。
ここでは framework-res.apk

apktool d framework-res.apk






解凍が終わると、framework-resフォルダが出来ている



見慣れた階層になっているので
framework-res\res\drawable-hdpi へ入っていくと
画像になにやら黒い枠線みたいなのがついてる


この黒い線みたいなのが
配置を決めたりする目印?目安?みたいな役割らしいですね。

  上と左は引き伸ばせる部分を指定、
  下と右は内側の領域を指定・・らしい。
  このあたりのルールを理解できれば
  黒線を編集して好きなように表示させることもできそう。
  ・・だけど わたしは理解足りてないので
  まだ黒線編集は出来ません。



MENUボタンを押したときの背景を変えたいので、
menu_background_fill_parent_width.9.png を編集してみる。


ペイントソフトなどで開いて (ここでは PictBearを使用)



水色でぼかしっぽくしてみた。


黒い線とかは絶対に消さないこと。
黒い線の色を変えたり、透過させたりもだめです。
画像を透過させたりエフェクトを加えたいときは
レイヤーなどを使って黒い線には影響しないようにすること。




編集が終わったら画像を保存。上書き保存でOK



コマンドプロンプトの画面に戻り、
framework-resフォルダを再コンパイル。
乱暴に言うと「元に戻す」ということですね。

apktool b framework-res
※「フォルダ」を指定するので apk は付けない





終わると、framework-resフォルダ内に

 build
 dist
という、2つのフォルダが新しく作成される。


dist の中には、framework-res.apk がありますが
ここに出来た apkは使うことが出来ないらしい。
今回は使いません。


必要なのは buildフォルダに入っているファイル群。

build フォルダの中身は
これもまた見慣れた構造になっているので、この中の
apk\res\drawable-hdpi フォルダへ。


menu_background_fill_parent_width.9.png がありました。
黒い線も消えてます。



あとは
この menu_background_fill_parent_width.9.png を
Metamorph で適用させるなり
framework-res.apk に差し替えるなりしてください。



こんな感じになりました



menu_background_fill_parent_width.9.png の使われ方が
これでなんとなく分かる感じですかね。






今までは、
メタモフるための画像はこの手順は踏まずにやることも多く
「適切ではない画像」になって
うまく適用されないことも多かった。

手間ではありますが
 apktool で解凍→画像編集→ apktool で圧縮
 その画像を Metamorph
をやれば、とりあえずは大丈夫 ・・なのかな。


framework-res.apk 内の画像の編集(差し替え)は

「あらかじめ用意しておいた画像」を使うのではなく

「解凍したフォルダの画像を直接編集」という方法で。


たぶん、黒い線みたいなのが
ちゃんとないとコンパイルが成功しないっぽい(?)


以前、適切ではない画像を
activity_title_bar.9.png でメタモフった結果
アプリが開けなくなったけど

この方法でやったらうまくいった。



「あらかじめ用意しておいた画像を
 drawable-hdpi フォルダにコピペ」だと、
コンパイル失敗する可能性が高いです。



  :::追記:::
apk manager でも出来るみたいですね(apk managerのが簡単かな)
後日書きたいと思います。
  ::::::::



必ず成功するとか
文鎮化してもアップデータで必ず復旧出来るとか
それについては断言出来ません。
なにがどうなろうとも、自己責任です。


余談続編。

カメラのフォーカス音は消せた。

ざっとした手順

レグザフォン本体 system\app\ から
カメラアプリ ToshibaCamera.apk をコピー
 ↓
ToshibaCamera.apk を apktoolで解凍
 ↓
ToshibaCamera.apk\res\raw\ の wavファイルを無音化
 ↓
apktool でコンパイル
 ↓
コンパイルしたフォルダから
resources.arsc と rawファイル以下を
無圧縮で ToshibaCamera.apk 内に戻す
 ↓
ToshibaCamera.apk をレグザフォンに戻す

カメラも普通に使えるし
ピント合わせるときもエラー吐かずに動くけど
無音にしたはずのシャッター音は生きてる。くそぅ。
もうちょっとやってみる。
このエントリーをはてなブックマークに追加
JJ  (6月20日)

いつもお世話になります。プリインストールされている壁紙や、ライブ壁紙等は削除できますか?
管理人  (6月20日)

JJさん、こちらこそいつもありがとうございます。

ライブ壁紙はそういうアプリなので
TitaniumBackupなどを使えばアンインストール、または凍結などが出来るのではないでしょうか?

最初から用意されている壁紙については
root化していれば
内部に入って削除または入れ替えなども可能です。

何れにしろ、わたしは試したことがないので
どうなるかは分かりませんし、
自己責任となります。

いろいろ自分で試してみるのも楽しいですよ。
コメント投稿の受付は終了しました。
★最新記事
★タグ一覧
regzaphone... (43)
アプリ... (78)
スクリーンショット... (14)
ツール... (28)
ホーム画面... (14)
壁紙... (12)
着信音... (4)
要root... (57)
カスタム... (38)
入れてみた... (41)
接続... (2)
音楽... (8)
BWスキン... (2)
google... (9)
Metamorph... (8)
Twitter... (2)
UOHkitchen... (5)
こまごま... (5)
その他... (57)
アップデート... (8)
ウィジェット... (26)
ゲーム... (1)
サッカー... (6)
セキュリティ... (5)
ニュース... (1)
メール... (5)
ランチャー... (1)
動画... (2)
自分用メモ... (34)
chronotopia... (4)
環境構築... (2)

壁紙ギャラリー
★月別アーカイブ
March_2013... (1)
November_2012... (1)
October_2012... (1)
June_2012... (3)
April_2012... (4)
March_2012... (7)
February_2012... (8)
January_2012... (8)
December_2011... (4)
November_2011... (8)
October_2011... (5)
September_2011... (11)
August_2011... (7)
July_2011... (10)
June_2011... (24)
May_2011... (22)
April_2011... (16)
March_2011... (20)
February_2011... (26)
January_2011... (35)
December_2010... (2)
★コメントThank you!
marimo... 1/20
管理人... 1/13
dmc... 1/7
管理人... 12/5
ゆうたぱぱ... 12/4
管理人... 12/2
とーちゃん... 12/2


ばじとうふう
 ...本家ブログ。アルビ愛
にほんブログ村
 ...ランキングに参加しています


QLOOK BLOG

RSS/ ATOM