さる消息筋の日常 -2ページ目

さる消息筋の日常

書きたいことを書きたいままに書いています。

もしお気に障ったら、ごめんなさい。

今回はロック画面の二重のNTT DOCOMOの解消、無線によるアクセスポイント化(テザリング)をadb.exeを使わずに行ってみます。


文鎮化に備えて、
Xperia arc root化 復旧の準備 (2)
だけは行っておいた方が良いと思います。

毎度の決まり文句ですが、端末が壊れたり、NTTとの規約違反になるおそれがあります。自己責任で!


準備するもの

1.root化されたXperia arc


2.ファイル管理ソフト
 システムファイルを変更できる機能があるファイル管理アプリが必要です。
 Root explorerが有名で、今回もこのアプリを使います。


 しかし残念ながら有料です。

 無料で済ませたいなら、Super managerというアプリで同様のことが可能です。

 最初に設定で、"Enabled ROOT function"にする必要があります。


 ただし、Super managerにはテキストエディタがありませんので
 一度SDなどにファイルを移し、arc上やPCで編集し、戻すという手間が必要です。
 

 マーケットで検索してインストールしても良いですし、

 (Super Manager http://jp.androlib.com/android.application.gpc-myweb-hinet-net-taskmanager-jwxEz.aspx ) こちらにもあります。


 (ちなみに、"root explorer.apk"でウェブ全体からgoogle検索する と、root explorerの割れファイル?がたくさん落ちています。使えそうですが怖くて試していません)


3. hostapd (無線LANアクセスポイントソフト)
 国内のXperia arcには同梱されていませんのでどこからか入手する必要があります。
 著作権法的にグレーですね。(まっくろ!?)
 ここ http://forum.xda-developers.com/showthread.php?t=970643
 や、ここ http://forum.xda-developers.com/showthread.php?t=971134
 に書かれている、ここ http://www.fileserve.com/file/2bdEA8u から、
 Dump_System_3.0.A.2.181_ADB_pulled.rar
 をダウンロードします。


 この中から/bin/hostapdを解凍します。
 抜いたhostapdはArc本体のSDカードに移しておきます。


 実際の手順です。
1.Root explorerを起動します。初回起動でSuperUser権限を要求されるので許可します。

  /systemを表示し、右上のMount R/Wをタップし/systemに書き込めるようにします。
  r/oという表示がr/wに変わります。


さる消息筋の日常-root_system


2./system/build.prop を長押しし、"Open in Text Editor"を選びます。
  ファイルの中が表示されるので、次のように修正します。
  ro.tether.denied=true
     ↓
  ro.tether.denied=false
  これで純正のテザリングがONになります。


  ついでに、
  ro.semc.spn.newname=NTT DoCoMo
     ↓
  ro.semc.spn.newname=半角英字で好きなナマエを付ける


さる消息筋の日常-書き換え

  これでロック画面のNTT DOCOMOの下の段の表示を変えることができます。


  できたら、Save & Exit


  上の段も変更したいなら ro.semc.spn.currentname=NTT DOCOMOを変更します。

3.変更した /system/build.prop を長押しし、"Permissions"を選びます。
  UserはReadとWrite、GroupとOthersはReadのみチェックします。

さる消息筋の日常-chmod 644

4.SDカードに保存していた hostapdを/system/binにコピーします。
  コピーしたhostapdを長押しし、"Permissions"を選びます。
  UserはRead・Write・Execute、GroupとOthersはReadとExecuteにチェックします。

5.最後に右上のMount R/Oをタップし、/sytemをr/o (書き込み禁止)に戻します。

6.再起動で終了です。


ロック画面の表示が変わっています。

さる消息筋の日常-ロック画面

設定メニューにはテザリングの項目が増えています。


さる消息筋の日常-テザリング

さる消息筋の日常-テザリング2

注:Docomoの場合、テザリングによりパケット代の請求が定額で収まるかどうかは不詳です。
  少なくともSPモードでテザリングを行うと規約違反であることは確かです。
  

  ネット上ではmoperaUを使えば大丈夫じゃないかって報告がいくつかありますが、
  
もしかしたら、外部接続と認定され定額の上限が1万円ほどになるかも知れませんし、
  それどころか従量制にカウントされ超高額の請求が来るかも知れません。
  危ない橋には変わりありません。
  ご注意を!


いつものお願い;DropBoxのアカウントを作るならここ からお願いしまーす!

私にもあなたにも容量が+250MB増えますです。


さる消息筋の日常-Dropbox


※ このブログの内容は、色々なネット上の情報の寄せ集めです。
 自分なりに吟味しているつもりですが、
 誤りや勘違いが含まれている畏れが多分にあります。

※ root化するとDocomoの保証がなくなります。
 また、Docomoとの契約違反にもなりそうです。
 プログラムの改編は、著作権法違反のおそれもあります。
 さらに、root化によってお持ちの端末に破損を与えたり、
 使用できなくなったりする危険性があります。
 もしあなたがこのブログを参考にしてご自分の端末を改造
 [root化その他]するのであれば、決まり文句ですが、自己責任でお願いします。



準備 はできましたか?

では実際の手順に入ります。


前回までは、arc中のファイルを取り出すために、SDカードをPCから認識させていましたが、抜き差しも面倒なのでコマンドプロンプトから行ってみましょう。


●arcはデバッグモードON!(設定→アプリケーションの管理から設定)


●USBでarcとPCをつなぎます

  デバッグモードの表示がarcの通知領域に出るはずです


●PCのコマンドプロンプトから、arcの/system/framework/framework-res.apk を取って(プルして)きます。


> adb pull /system/framework/framework-res.apk


PCに取ってきたframework-res.apkを改造しますので、まずはコピーを取ってオリジナルを安全な場所に保管してください。


このファイルは圧縮ファイルになっていて、7-Zで解凍できます。

中にはたくさんのアイコンや、XMLファイルなどが入っています。

このアイコンファイルを差し替えて、再圧縮すればアイコンの見た目だけの変更は可能です。

例えば、アンテナアイコンの色を変えるとかなら7-Zのみでいけるのです。

しかし、今回のように挙動も変化させようと思ったら、XMLファイルの追記、改変が必要です。


XMLファイルは7-Zで解凍しても読めません。暗号化(コンパイル)されているからです。

apk managerなどを使って元の状態に戻す(デコンパイルする)必要があります。


ということで、導入させておいて何ですが今回は7-Zは使いません。

まずはapk managerでframework-res.apkをデコンパイルします。


●framework-res.apk をapk managerの、place-apk-here-for-moddingフォルダに保存します。


●apk managerのScript.batを実行すると、アプリが立ち上がります。

 コマンドプロンプトを立ち上げ、DOS窓の中で

>script.bat

 でも良いですし、Script.batをダブルクリックしてもOKです。

 こんな画面が出ます。


さる消息筋の日常

このツールを使ってframework-res.apkをデコンパイル→改変→コンパイルしていきます。

やりたいコマンド番号を入力することで使用します。

では、解説しながら進めていきましょう!


22 を入れて Enter。Set current project ですね。

 →place-apk-here-for-moddingフォルダに入っているファイルが表示されます。

●今回改造しようとしている、framework-res.apk を選びます。

 framework-res.apkしかないなら1番ですね。

9番を選んで Decompileします。

 ちょっと待つと、apk manager\projectsフォルダにframework-res.apkの中身が復号化されます。


ここまでデコンパイルが終了。次は、projectsフォルダの中を改造していきます。


●projectsフォルダのframework-re.apkフォルダの中を改変します。

ここで前回XDA から落としたアイコンや.XMLファイルを使います。


XDAから落としたファイルには、drawableフォルダとdrawable-hdpi-v4フォルダが含まれています。


まず、drawableフォルダから。

drawableフォルダの中には2~3個のXMLファイルがあります。

これをapk managerのprojects\framework-res.apk\res\drawableフォルダの中にコピーします。

上書きしてしまいましょう。


次にdrawable-hdpi-v4フォルダ。

このフォルダの中にはたくさんのpngファイル(など)が入っています。

ファイル全てを

これをapk managerのprojects\framework-res.apk\res\drawable-hdpiフォルダの中にコピーします。

上書きOKです。

フォルダの名前がちょっと違いますがこれで正解です。


以上でprojectsフォルダの改造は終了です。次は再コンパイル。


●またapk managerに戻ります。

19番 でCompression levelを0にします。デフォルトは9になっていますが

level0 = 無圧縮でないとうまくいかんようです(重要!)。


11番 で Compile apk。 Projectsフォルダの中をコンパイルします。

 割と待たされた後に、2回質問が来ます。

 1回目の質問は、Systemアプリケーションかどうかというもの。Yes。

 2回目の質問は、安全のために改変されていないファイルは、元のframework-res.apkからコピーしますか、といったもの。これもY。

 さらに待たされた後、以下の様な表示が出ます。


In the apk manager folder u'll find a keep folder. Within it, delete everything you have modified and leave files that you haven't. If you have modified any xml, then delete resources.arsc from that folder as well. Once done then press enter on this script. .続行するには何かキーを押してください . . .


ここでキーを押してはいけません。


apk managerフォルダにkeepフォルダというのができています。projectsフォルダの中身とほぼ同一です。

この中から、改変したいファイルのみを削除します。改変しないファイルのみ残すのです。

XDAからのファイルで上書きされたファイルを削除することになります。

一個ずつ探して消しても良いですが、大変です。

そこで、以下の手順をオススメします。


1.XDAから落としたdrawableフォルダの中身を全選択し、keepフォルダのdrawableフォルダに移動します。

2.移動直後は、今移動したファイルが選択されているため、その選択状態のファイル全てを元のフォルダに移動します。

これで改変されたファイルのみ削除できます。

drawable-hdpiフォルダでも同じように行います。


他には変更日時からソートして選んでも良いでしょう。

何を言ってるのか分からないって方は、一個ずつ探して消すべし、です。


さらにIf you have modified any xml, then delete resources.


ってことです。今回XMLを変更していますので、resources.arscも削除します。


以上の作業が終わったら、

何かキーを押し」ます。

するとplace-apk-here-for-moddingフォルダに新しくunsignedframework-res.apkが出来ます。

これが改変されたapkファイルです。


●注意!

しかしこのファイル、もとのframework-res.apkに比べると妙に小さくなっています。

7-Zで見てみると、圧縮レベル0に設定したはずなのにresources.arscが圧縮されており

その分小さくなっているのです。これでは上手く動きません。

そこで圧縮されていないresources.arscに差し替える必要があります。

圧縮されていないresources.arscは、projects\framework-res.apk\build\apk\にありますので、

これをコピーして、差し替えます。

差し替えには7-Zを使っても良いと思いますが(試していませんが)、

今回はapk managerフォルダのotherフォルダに同梱されてる 7za.exe というソフトを使いました。


(7-Zは何のために導入させたのでしょう・・・・ ほとんど使いませんね、ごめんなさい)


unsignedframework-res.apkと同じフォルダに7za.exeと無圧縮のresources.arscをコピーします。
以下はコマンドプロンプトから作業します。


unsignedframework-res.apkからresources.arscを削除
>7za d -tzip unsignedframework-res.apk resources.arsc


無圧縮で追加する
>7za a -tzip -mx=0 unsignedframework-res.apk resources.arsc


以上で新しいframework-res.apkの完成です!

このapkは署名されていないですが、署名しないままでうまく行きます。

今回は、改変前とあまり変わらない大きさのファイルになったと思います。


では新しいこのファイルを、arcの/system/framework/framework-res.apkに上書きしましょう。


ここで注意事項があります。

arcの起動中に、framework-res.apkに変更を加えると自動的に再起動することがあります。

しかしこのファイルは大きいので、コピーに時間がかかります。

コピー中に再起動してしまうとコピーに失敗し、framework-res.apkが破損してしまい、

arcが起動できなくなることがあります。

これを避けるため、いきなりframework-res.apkを上書きするのではなく、

まずは同じフォルダに別名でコピーし、それをリネームすることでの上書きをオススメします。

Root explorerを使ってarc上で書き換えるときは、より書き換え速度が重要になるため

同様の手法が良いと思います。Root explorerを買ってないので試せないんですがw


また、ネット上では/dataからシンボリックリンクを張る手も紹介されていますが、ただでさえ少ないユーザー領域を減らすことになるので今回は見送りです。


書き換えは、

unsignedframework-res.apkをarcのSDカードにコピー→それを/system/frameworkにコピー

→framework-res.apkを上書き→パーミッションを揃える、でOKです。

なぜ一回arcのSDカードを介するのかというと、その方がリマウントの関係で手数が減るからです。

減らないかな?

先にシステムファイルをrwにリマウントしておいて、いきなり/system/以下にpushしても良いと思います。


では具体的な手順を説明しながら進めていきましょう。

> adb push unsignedframework-res.apk /sdcard/xtemp
   (SDカードの中に改変したframework-res.apkをコピー(プッシュ)します。

    フォルダ名は適当です。また、コピー先は/data/~でも良いでしょう)

> adb shell
$ su

   (arcの中をshellでいじります。スーパーユーザー権限も取ります)

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

   (通常/systemはread onlyになっているため、リマウントして変更可能にします。

    Xperia初代はmtdblock2でしたが、arcはmtdblock0が/systemにマウントされています)

# dd if=/sdcard/xtemp/unsignedframework-res.apk /system/framework/framework-res.apk.custum
# dd if=/sdcard/xtemp/unsignedframework-res.apk of=/system/framework/framework-res.apk.custum

   (SDカードのファイルを/system/frameworkディレクトリにコピーします。

    いきなり上書きせず、違う名前にしておきます。)

            (2012/01/04 訂正しました ずっと放置してしまい申し訳ありません)


# cd /system/framework
# chmod 644 framework-res.apk.custum

   (先にパーミッションを揃えておきます)

# mv framework-res.apk.custum framework-res.apk

   (新しいファイルを名前変更することで上書きします これなら上書きが速い!)
# reboot

   (再起動します)

(再起動後に)

# mount -o remount,ro -t yaffs2 /dev/block/mtdblock0 /system

   (/systemを変更不可に戻します)

お疲れさまでした!これでバッテリー表示が100段階になりました!

いったん100段階化すれば、アイコンの差し替えのみなら7-ZでOKです。


ネットに出回っている情報では、圧縮レベルの設定があったりなかったり、resources.arscの差し替えがあったりなかったりですが、少なくともXperia arcでは、どちらも無圧縮がよろしいようです。


コマンドなど、間違いがあったらごめんなさい。。。

起動しなくなった人はこちらへ→ Xperia arc root化 復旧の準備 (2)


●いきなりですが、この記事を参考にしてくださった方にお願いです。

 DropBoxアカウントを作ってくださいませんか?

 DropBoxは、クラウドサービスの一つで、XperiaとPC、iPhoneなど同士で

 ファイルを同期するのにとても便利なサービスです。

 

 最初は2G分のスペースをもらえますが、人の紹介でアカウントを作ると+250MB増えます。

 さらに紹介した人にも250MG増えます。

 つまり、ここ からDropBoxアカウントを作ってもらえれば、

 作ってくれたあなたの容量も増えるし、私の容量も増えていいなぁということで

 厚かましくお願いしているのでした。


 良ければお願いします! → DropBoxへ



さる消息筋の日常-Dropbox