ネットワークエンジニアが教えるスマホ塾
yuta

Androidスマホ・格安スマホ・格安SIMについて、ネットワークエンジニアの視点をからわかりやすく簡単にお届けします!

framework-res.apkをいじってソフトキーを出してみた!

2012年11月25日
REGZA Phone T-01D 10
壊れてもないのに物理キーが壊れてしまった時の対処を実施。

とりあえず文鎮化から見事に脱出しまして、ソフトキーの導入ができました。

実際、ソフトキーの導入時には文鎮化していませんでしたが、まぁいいや。


apktool-ics7zipが必要となります。

参照:オックスフォードの環境博士 【インドネシア編】: Android4.0、アイスクリームサンドイッチ(ICS)にソフトキーを表示させる方法
非常にわかりやすいです(´∀`)

上記のサイトと同様の箇所(bools.xmlなどなど)を変更すればイケます。



◆1月2日追記◆
root化したT-01Dを弄る環境を整えるまでのまとめメモ
↑どういう方法で置き換えるのかを詳しく説明しています。こちらで分かれば、以下読まなくても大丈夫です。




最後の方が少しわからなかったので記述しておきますと、

◆framework-res.apkファイルの作成

上記resources.arscを/apktool/にコピー。

次に、"framework-res.apk"を"framework-res.zip"にリネーム。
(↑このapkファイルは何もいじっていないapkファイルです。framework-res/dist/の中にあるapkは使ってはいけません。)

コマンドプロンプト上で、apktoolがあるディレクトリ上から以下のコマンドを入力。

7z.exe u -mx=0 framework-res.zip resources.arsc

/apktool/に新しい"framework-res.zip"が生成される。

"framework-res.zip"は"framework-res.apk"にリネームしておきます。

◆framework-res.apkファイルの差し換え

adb push framework-res.apk /sdcard/
adb shell
cd data/local.org/tmp
./fjsec_unlock 0
$ su
# mount -o rw,remount /system
# mv /system/framework/framework-res.apk /system/framework/framework-res.org
# busybox cp /sdcard/framework-res.apk /system/framework/
# exit
$ exit
>adb reboot


これで無事にできた。



device-2012-11-25-111103.png
↑物理キーとソフトキーの共存が実現しました。笑

本当にframework-res.apkの扱いには注意が必要です。

(後で詳しく再編集していきます。)

こちらでナビゲーションバー(ソフトキー)のボタン数を5つに増やしている記事を書いています。
・ ナビゲーションバーのアイコンを5つに増やす!
・ 5つに増やしたナビゲーションバーの詳細





◆関連記事

調子に乗ってframework-res.apkいじってたら文鎮化した
root化したT-01Dを弄る環境を整えるまでのまとめメモ
adb shellを使ってPCからandroidの中身を擽る
Android 4.0.3 (ICS) T-01Dをroot化した手順


関連記事

気に入ったらシェアお願いします♪

yuta
この記事を書いた人: yuta
理系大学院卒業後、企業でネットワークエンジニアしています。
時間のある時にブログ書いています。
ツイッターは今準備中でございます。

コメント10件

コメントはまだありません

もり  

framework

僕はF-05Dを持ってて、ナビゲーションバーを出そうと思ったのですが、
ちょうどframework-res.apk の作成がよくわかりません。
上記 resources.arsc とは、framework-res/dist/ の中にあるapk を解凍して出てくるやつのことですか?(汗)
また、勝手に解釈してやってみたのですが、良く分からず、
参照のサイトの adb push でいれてみようとすると、read only みたいなのが出て書き込めません。
どうしたらいいですか?

2012年12月16日 (日) 13:27

yuta  

Re: framework

> 僕はF-05Dを持ってて、ナビゲーションバーを出そうと思ったのですが、
> ちょうどframework-res.apk の作成がよくわかりません。
> 上記 resources.arsc とは、framework-res/dist/ の中にあるapk を解凍して出てくるやつのことですか?(汗)

コメントありがとうございます。

【java -jar apktool.jar b framework-res】と打ち込みリコンパイルすると、framework-resフォルダにbuildフォルダとdistフォルダが出来上がっているはずです。そのうちbuildフォルダの方に注目します。

おそらく、framework-res/build/apk/の中に、
・resフォルダ
・AndroidManifest.xml
・resources.arsc
が含まれていると思います。このresources.arscを使用します。

framework-res/build/apk/resources.arscを、元のframework-res.apkに存在するresources.arscと差し替えます。
多分、今後差し替えという操作が多くなってくると思いますが、差し替えるときはほぼbuildフォルダの中のものと差し替えます。


> また、勝手に解釈してやってみたのですが、良く分からず、
> 参照のサイトの adb push でいれてみようとすると、read only みたいなのが出て書き込めません。
> どうしたらいいですか?

まずroot化はしてますか??
# mount -o rw,remount /system
が実行できるのであればread onlyみたいなのは出ないと思うのですが・・・。

2012年12月16日 (日) 16:19

もり  

framework

返信ありがとうございます!涙

resources.arsc ありました!
これを使うんですね!理解しました。


rootは取ってあります。

framework-res.apk  を差し替えるのは、

adb push framework-res.apk /sdcard/
adb shell




# exit
$ exit
>adb reboot

までをコピペして良いものなのか分からなかったので、
参照サイトの adb push~ で無理やり入れようとしました。
そしたら ~read only ってのが出てきました。

また、F-05Dのwiki の、書き込み解放(ICS)のコマンドを打って
再度チャレンジしてみましたが、出来ませんでした。

勉強不足で申し訳ないのですが、ごきょうじゅお願いします。

2012年12月16日 (日) 23:33

もり  

framework


お騒がせしてすいません。

改めてやり直してみたらできました。
adb push ~ でいれるときにパーミッションを変えたらできました。

ありがとうございました!!

2012年12月17日 (月) 19:24

yuta  

Re: framework

> お騒がせしてすいません。
>
> 改めてやり直してみたらできました。
> adb push ~ でいれるときにパーミッションを変えたらできました。
>
> ありがとうございました!!

なるほど!パーミッションの問題があったのですね!
こちらも勉強になりました('∀`)

2012年12月18日 (火) 15:42

もり  

framework-res.apk 差し替え

度々すみません。

せっかくナビゲーションバーを反映できたんですが、
アイコンをいじろうと思ったら文鎮化しました。

そして改めてやり直してみたんですが、
framework-res.apk を差し替えるとコマンド打つ前に勝手にリブートして
延々再起動をくりかえします。

全部で6回文鎮化してます(笑)

成功した時が偶然だったようです。。。

パーミッションは 777 に変更して差し替えているのですが、
ここは問題あるんでしょうか?

また、 adb push~ で入れるより、
別のフォルダから移動する形で差し替えるほうが安全なのでしょうか?

2012年12月18日 (火) 23:02

yuta  

Re: framework-res.apk 差し替え

> 度々すみません。
>
> せっかくナビゲーションバーを反映できたんですが、
> アイコンをいじろうと思ったら文鎮化しました。
>
> そして改めてやり直してみたんですが、
> framework-res.apk を差し替えるとコマンド打つ前に勝手にリブートして
> 延々再起動をくりかえします。
>
> 全部で6回文鎮化してます(笑)
>
> 成功した時が偶然だったようです。。。
>
> パーミッションは 777 に変更して差し替えているのですが、
> ここは問題あるんでしょうか?

6回は多いですね!文鎮化から復帰ができるのが本当助かりますよね。

僕の場合は、パーミッションを変更することは全くしていません。
ちなみに現在僕のT-01Dにあるframework-res.apkやSystemUI.apkのパーミッションを見てみましたが、755(rwxrwxr-x)になっています。

また、framework-res.apkの差し替え時はきちんと最後のadb rebootまでコマンドを打つことができますよ。メール来たりするのが怖いので、機内モードでやっています。
何かバックグラウンドで常時動いているアプリなどがあれば、それが原因で再起動してしまったりするかもしれませんね(^_^;)詳しいことはわかりませんが・・・。

> また、 adb push~ で入れるより、
> 別のフォルダから移動する形で差し替えるほうが安全なのでしょうか?

adb pushの1行であれば、フォルダ移動で済むと思いますよー。
それ以降のコマンドはフォルダ移動だけでは危険だと思います^^;

2012年12月19日 (水) 00:39

もり  

さしかえ

今日もめげずにやってみたら出来ました!
ほんとありがとうございます!


なんかですね、、
元から入ってるフレームワークのパーミッションが644で、
交換したい方のパーミッションが775だったので、644→775
に変えたら出来ました!

因みに、yutaさんの意見を参考にして機内モードでやったので、
むしろそっちが正解だったのかもしれませんが、
とりあえずお礼を言おうと思い、コメントさせていただきました。


ほんとありがとうございます!!

2012年12月19日 (水) 22:32

yuta  

Re: さしかえ

> 今日もめげずにやってみたら出来ました!
> ほんとありがとうございます!
>
>
> なんかですね、、
> 元から入ってるフレームワークのパーミッションが644で、
> 交換したい方のパーミッションが775だったので、644→775
> に変えたら出来ました!
>
> 因みに、yutaさんの意見を参考にして機内モードでやったので、
> むしろそっちが正解だったのかもしれませんが、
> とりあえずお礼を言おうと思い、コメントさせていただきました。
>
>
> ほんとありがとうございます!!


一つ前の僕のコメントに"755(rwxrwxr-x)"と表記していましたが、誤りです。実際は"775(rwxrwxr-x)"でしたね(^_^;)失礼しました。

機内モードでも実際はあまり推奨はできず、リカバリモードに入って行うことが安全だと言われています。
僕はリカバリモードってのをまだあまり知らないので、機内モードでやっています。

また何かありましたらコメントください!
コメントを参考にして、よりわかりやすい記事を書いていこうと思います。

2012年12月20日 (木) 00:38

もり  

報告

リカバリーモードは、
僕も調べて見つけてたんですが
adb reboot recovery を打っても
入らないんですよね(^^;)))
どうやらF系の端末はリカバリーモードでadb接続出来ない仕様みたいです(違ったらごめんなさい)


分かりやすいブログを書くのに協力出来るのなら、うれしいです 。
なのでまたコメントします!

2012年12月22日 (土) 02:24
ARROWS NX F-06E (13)
REGZA Phone T-01D (49)
NEXUS7 (17)
テンプレート (2)
スマートフォンあれこれ (116)
┣  モバイルバッテリー (6)
┣  スマホニュース (12)
┣  Androidメモ (1)
┣  バッテリー節約 (6)
┣  Androidアプリ (15)
┗  バッテリー記録 (3)
スマートフォン (80)
┣  iPhone5 (1)
┣  ARROWS X F-02E (3)
┣  Xperia AX SO-01E (7)
┣  ARROWS V F-04E (2)
┣  Xperia Z (2)
┣  スマートフォン for ジュニア SH-05E (1)
┣  N-02E ONE PIECE (1)
┣  Optimus LIFE L-02E (0)
┣  AQUOS PHONE ZETA SH-02E (1)
┣  Ascend HW-01E (1)
┣  L-06D JOJO (1)
┣  REGZA Phone T-02D (9)
┣  ELUGA power P-07D (1)
┣  Optimus LTE L-01D (1)
┣  ELUGA V P-06D (13)
┣  ARROWS me F-11D (1)
┣  GALAXY S III SC-06D (2)
┣  AQUOS PHONE ZETA SH-09D (1)
┣  MEDIAS N-07D (1)
┣  AQUOS PHONE sv SH-10D (5)
┣  らくらくスマートフォン F-12D (1)
┣  Xperia GX SO-04D (3)
┣  Xperia SX SO-05D (3)
┣  ARROWS X F-10D (2)
┣  キッズケータイ HW-01D (1)
┣  F-09D ANTEPRIMA (2)
┣  L-04D (1)
┣  AQUOS PHONE st SH-07D (1)
┣  ARROWS X LTE F-05D (2)
┣  Disney Mobile on docomo F-08D (1)
┗  AQUOS PHONE SH-01D (1)
持田香織 (47)
Every Little Thing (133)
┣  ELT曲 (29)
┣  ELTコンサート映像 (16)
┣  X'mas concert 2003 (1)
┣  every little thing:2003 tour MANY PIECES (6)
┣  Every Little Thing X'mas Concert 2008 (3)
┣  a-nation 2003 (3)
┣  a-nation 2010 (1)
┣  ELTテレビ出演 (15)
┣  ELTツアー関連 (42)
┣  ELTその他イベント等 (1)
┗  個人的な曲ランキング (5)
ゲーム (150)
┣  ポケモンBW2 (9)
┣  ポケモン (39)
┣  HGSS乱数 (1)
┣  ドラクエ (47)
┣  テリワン3D (3)
┣  テイルズ (16)
┣  世界樹の迷宮 (6)
┗  その他のゲーム (15)
miwa (12)
未分類 (35)
白ロム情報 (14)
日記 (526)
お知らせ (5)
タブレット関連 (6)
┣  View Pad 7e (1)
┣  Surface (1)
┗  dtab (1)
ファブレット (2)
┗  GALAXY Mega (1)
イーモバイル (1)
ブログ (0)
2013夏モデル (2)
だんじょんクエスト (1)
ぷよクエ (1)
Disney Mobile on docomo F-07E (1)
NEXUS4 (1)
NEXUS5 (1)
サモンズボード (1)
WiMAX (2)
Chomebook (2)