GALAXY Tabをいじる

  • 投稿日:
  • by
  • カテゴリ:

まず最初に、この記事で書かれている内容はあくまで私の環境でたまたまうまく動いているように見えるだけで、動作の保証をするものではありません。改造に伴う不具合の責任は一切負いませんので予めご承知置きを。

遡ること10日ほど前でしょうか、いつもチェックしているjuggly.cnさんの記事によると、ワンクリックでrootが取れるツール「zergRush」が公開されているとの情報を得ました。この記事では、元々は2011年モデルのXperia向け的なツールみたいですが、Android 2.3.5のGalaxy S II GT-I9100のrootを取ることができているということなので、GBにアップデート済みのGALAXY Tabもいけるんじゃないかと試したところ、問題なくrootが取れました。


というわけでいじる前提にはroot化必須なわけですが、前からやりたかったのはまず、テザリングの有効化。XperiaもカスタムROMでテザリングの有効化しているし、普段GALAXY Tabには3G通信できるSIMを刺してないのであまり使うことも無いかもしれませんが、バッテリー容量もあるし、もしもの時には2台とも使えるようになってるといいなと思っていたので。いじったところは以下の2つ。

===============
/system/framework/framework-res.apk
res/values/arrays.xml

<array name="config_tether_wifi_regexs" />

<string-array name="config_tether_wifi_regexs">
<item>wl0.1</item>
</string-array>
===============
機能としてはこれだけで有効になるものの、WiFiメニューに出すには下も編集が必要。
===============
/system/app/Settings.apk
res/xml/wireless_settings.xml

<PreferenceScreen android:title="@string/tether_settings_title_both" android:key="tether_settingのブロックの下に追加
<PreferenceScreen android:title="@string/tether_settings_title_both" android:key="tether_settings2" android:summary="@string/tether_settings_summary_both">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.TetherSettings" />
</PreferenceScreen>
===============

apkのデコンパイルとコンパイルには「apk manager 4.9」を使いました。

ちなみにapkの置換え、自分の場合は以下の手順で行いました。
===framework-res.apkの場合===
1.sdb pushで編集済みapkをsdcardへアップ。
2.adb shell → su。
3.オリジナルをsdcardへバックアップ。
4.systemをR/Wで再マウント。
 mount -o rw,remount /dev/block/stl9 /system
5.元ファイルを削除。
6.編集済みファイルをオリジナルの場所へコピー。
7.パーミッション変更。
 chmod 644 /system/framework/framework-res.apk
8.rebootコマンドで再起動。
===============
いろんなサイトを参考にしてみたのですが、リカバリーモードの手順は自分の場合はadbが使えなくてNGでした。稼働中のシステムファイルの入替えになるので心配はあるのですが、今のところ問題なく動いています。あくまで自己責任ですが。

なお、自分はframework-res.apkの載せかえで失敗をやらかしています。はじめはsystem領域の容量をきちんと確認せず&framework-res.apkを削除せずに上書きにやっていたため、実際には空き容量が足りないのに中途半端な上書きができていたようで調子がおかしくなり、今度はframework-res.apkを削除してからコピーをしたところ、やっぱり容量不足でframework-res.apk自体を置けなくなりました。この時点でいらないsystemファイルをsacardへ退避させたりすれば良かったものの、今思うと何を血迷ったかrebootさせてしまい、結局docomoロゴの永久ループに入ってしまいました。半文鎮というやつなんですかね。ダウンロードモードは使えたのでodinでromイメージを焼き直すことでなんとか復旧できましたが、危なかったです。


そんなわけで、最終的にはframework-res.apkに関してはテザリングとバッテリーアイコンの100%表示化を。Settings.apkにはテザリングのメニュー表示化を。更に、gps.conf(/system/etc/gps.conf)のNTPサーバーの変更。adhoc接続対応のwpa_supplicant(/system/system/bin/wpa_supplicant)への置換えまでやりました。通常使う分にはバッテリーアイコンくらいが一番見た目で分かりやすいですが、良い勉強になりました。