Xperia pro MK16iのICS化とroot取り、その後の徹底カスタマイズあれこれ2013/03/11 19:15

※警告!
以下の情報は、自分用の設定メモを、公開用に少し書き直したものである。自分用のカス
タマイズなので、同じようにやって、使いやすくなる訳ではない。あくまでも、参考とし
て見て欲しい。
以下の操作で生じたあらゆるトラブルに関して、当方では一切の責任を負わないので、そ
の事を承知した上で、操作すること。
Linuxの簡単なコマンド類の操作等の知識は必要なので、スキル不足と思ったら手を出さ
ないのが吉。

=================================================
ICS化とroot取り
=================================================

MK16iは、SUS(Sony Mobile Update Service)で簡単に公式ICS(Android4.0)化できる。
ただし、ICS化してしまうとrootが取れないようだ。また、GB(Android2.3)でも、ビルド
番号「4.0.2.A.0.58」までしかrootは取れず、「4.0.2.A.0.62」の場合はやはりrootが取
れない。

では、どうやってrootを取るか。ブートローダーをアンロックして、やりたい放題って手
もあるが、それなりに弊害もあるので、別のアプローチで行く。一度、rootの取れるバー
ジョンに戻して、仕掛けをしてから、ICSに上げて、改めてrootを取るのだ。この手法は、
既に多くのサイトで紹介されているが、時期外れな今頃に、これをやろうとすると、
「ツールのバージョンが上がってしまってうまく動かない」とか、「リンク切れで、その
ファイルどこにある?」状態で右往左往。以下では、現時点で有効なリンクを記載してお
く(リンク切れになったらご容赦を)。

※以下、作業用として、Windows PCを使用している。特に説明の無いものはPC上での作業。
 以下の説明で「端末」とあるのは「Xperia pro MK16i」の事である。

1) 先ず、rootの取れるバージョン「4.0.2.A.0.58」のFTFファイルを入手する。
http://forum.xda-developers.com/showthread.php?t=1642480
ここの MK16i 4.0.2.A.0.58 (1249-8108) , ALT1 , ALT2 , ALT3 の所で、ALT1 ALT2 ALT3
のいずれかのリンクから MK16i_4.0.2.A.0.58_(1249-8108).ftf をダウンロードする。

2) FTFを書き込むツールflashtoolを入手する。
http://www.filecrop.com/flashtool-0.9-windows.exe.html
ここから、以下のファイルを入手(最新版(?)の0.9.10.1での動作確認はしてないので、使
えるかどうかは不明。0.9.5.0なら実績あり)。
flashtool-0.9.5.0-windows.exe

3) 以下を参考にして、ダウングレードを掛ける。
「新しい携帯電話のソフトウェアバージョンが利用できます(4.0.2.A.0.62)は罠です」
http://blogs.yahoo.co.jp/momo_poem/66127784.html
このサイトでは、Xperia mini pro(SK17i)での説明となっているが、手順は一緒。使用す
るファイル類は上記のものを使用すればOKだ。
・flashtoolをインストールする(上記で入手したexe形式のファイルを実行すればOK)
・FTFファイルを、flashtoolをインストールしたパスの下のfirmwaresというフォルダに置く。
・MK16iの電源を完全に落として、USBケーブルからも外しておく。
・flashtoolを立ち上げて、一番左のイナズマのようなボタン(Flash)を押す。
・Mode Selectorのダイアログが出るので、「Flashmode」のまま、OKを押す。
・Firmware Selectionの画面が出たら、MK16iのデバイスが表示されているのを確認。複数
 のFTFファイルを入れているようなら、0.58のバージョンを選択。
 右上の「Wipe User Data」のチェックを外すと、ユーザーデータを消さないでROMイメ
 ージを書き込んでくれるらしいが、ここは、外さないで、綺麗さっぱり上書きする事にす
 る。
・OKを押して、画面の指示に従って、端末を接続する。
 端末の電源はOFFのまま、「Backボタン」を押しながら、USBケーブルを接続!
 この後、しばらく待っていれば、ROMイメージの書き込みが終わる。
 終了のメッセージが出たら、USBケーブルを外して、端末の電源を入れる。無事立ち上
 がれば、ダウングレード成功!
 端末情報を見て、ビルド番号が「4.0.2.A.0.58」になっているのを確認しておく。

4) ダウングレード状態でrootを取る。
「Xperia 2011 Easy Rooting Toolkit(zergRush)」でrootを取る。
以下を参考にすれば良い。
「2011年のXperiaスマートフォンをワンクリックでroot化できるツール「 Xperia 2011 Easy Rooting Toolkit」が公開」
http://juggly.cn/archives/44017.html
・以下から、DooMLoRD_v4_ROOT-zergRush-busybox-su.zip をダウンロード。
「[04/Jan][ROOTING/UNROOTING] Xperia 2011 Easy Rooting Toolkit [v4.0](zergRush Exploit)」
http://forum.xda-developers.com/showthread.php?t=1320350
・端末のUSBデバッグを有効化し、PCに接続。(PC Companionが起動した場合はスキップ)
・Windows PC上でzipファイルを解凍し、フォルダ内の”runme”を実行。

5) ICS化前の仕込み
以下の手順で、root化の前準備をする。
・PC上で以下から XperiaRoot.rev3 をダウンロードして解凍
http://www.mediafire.com/?vrlkpgip1ilp78b
・端末のUSBデバッグを有効化、提供元不明のアプリのインストールを許可
・端末をUSBケーブルでPCと接続
・解凍した XperiaRoot 内の「01-local-prop.cmd」を実行
 準備が終わったら、USBケーブルは外しておく。

6) ICSにアップグレード
SUS(SONY Update Service)で、ICSにアップデートする。
SUSの指示に従ってアップデートする。
インストールのタイプは、必ず「ソフトウェア更新」を指定する事。

7) 仕込んだ仕掛けでroot取り
以下の手順でrootを取得する。
・端末のUSBデバッグを有効化、提供元不明のアプリのインストールを許可
・端末をUSBケーブルでPCと接続
・上記で解凍した XperiaRoot 内の「02-push-root-files.cmd」を実行
・端末が再起動するので、立ち上がった後、rootが取れているか確認

ICSでのroot取りは以上。

参考情報

XperiaRootのroot取りの方法:
古くからあるroot取りの手法で、/data/local.propに以下の行を書き込んでおくと、
「adbdで接続されるときにroot状態となる」というAndroid自体が持つ機能を利用する
ものだ。
===
ro.kernel.qemu=1
===
rootが取れる古いバージョンで、これを仕込んでんおいて、ICSにアップデートする。
/data を初期化せずに、ICS化できれば、後は、adb接続でrootになっているので、好き
勝手にあれこれできる。adb接続経由で、root化するものをXperiaに送り込めば良い訳だ。


=================================================
ICSでのroot取りの後でやる事
=================================================

Xperia pro MK16iをICS化すると、「動作が重い」とか「電池の減りが早い」とか、あま
り良い事が無いように言われている。でも、ICSにすると便利になる部分もある。rootが
取れれば、後はカスタマイズ次第で、ICSでも快適になる。
以下、root取ってなくてもできる事もあるけど、やった事を書いておく。以下の事を全部
やる必要は無いので、好みに合わせてやってみると良いだろう。

1. busybox をインストール
「busyboxって何?」なんて思っている人は、悪いことは言わない、ここで、退散すべし!
何はともあれ、Google Playから、「BusyBox」をインストール。
これを起動して、/system/xbin に busybox を Smart Installしておく。

2. 端末単体でいろいろ操作できるように、端末エミュレータもインストール
端末エミュレータ「Terminal Emulator」もGoogle Playからインストール。
ついでに、便利コマンドの設定もしておく。

・system領域を書き込み可能にする/読み込み専用に戻すコマンド
ファイル名:
/system/xbin/system_rw
内容:
===
#!/system/bin/sh
/system/bin/mount -o remount,rw /dev/block/mtdblock0 /system
===

ファイル名:
/system/xbin/system_ro
内容:
===
#!/system/bin/sh
/system/bin/mount -o remount,ro /dev/block/mtdblock0 /system
===

以上を、Terminal Emulatorから、su でroot権限になって、/system を rw で remountし
てから、 vi でそれぞれの内容(===で括られた内側)のファイルを書き込む。
chmodで755の設定も忘れずに!

3. フォントの変更
使用するフォントは、以前に作った絵文字統合半濁点強調なもの…
http://poe.asablo.jp/blog/2012/01/29/6310231
DroidSansJapanese.ttf
これを、system/fonts/ にコピーする。パーミッションやオーナーも確認して、必要に
応じて変更しておく。こんな感じ…
chmod 644 /system/fonts/DroidSansJapanese.ttf
/system/bin/chown root.root /system/fonts/DroidSansJapanese.ttf
これだけだと、ICS(Android4.0)になって、フォントが認識されなくなったので、以下
のファイルも修正する。
/system/etc/fallback_fonts.xml
このファイルの「<familyset>」の後の行に、以下を追加する。
===
<family>
  <fileset>
    <file>DroidSansJapanese.ttf</file>
  </fileset>
</family>
===
修正後、端末をリブートすれば、フォントが認識される。
これを参考に、好みのフォントを導入すれば、中華フォントと縁切り出来る。

4. 必要なアプリをインストール (その1)
以下のものを入れる。
BusyBox            (上記「1.」で済)
Terminal Emulator  (上記「2.」で済)
---
ATOK
 有償だけど、辞書でかいので、入力方法としては、これを使うのだ!
Jota+
aGrep
 上記2つは、テキストエディタの定番と、テキストファイルの検索アプリ。
Ghost Commander File Manager
 2画面ファイラー。キーボードからの操作も可能な便利モノ。
SMB plugin for Ghost Commander
 上記ファイラーで、Windows PCの共有フォルダーにアクセスする場合に必要。
LauncherPro
PreHome
 上記2つは、ホームアプリ。組み合わせて使うと、便利。PreHomeをホームアプリとして
 登録して、PreHomeで「実際に使うHome」でLauncherProを指定する。
 この形で使うと、HOMEキー押下で、タスク切り替えや不要アプリの強制終了が手軽にで
 きる。
K-9 Mail
 定番のメールクライアント

5. CWM(ClockworkMod)導入
いろいろと便利なので、CWMを端末に導入しておく。Playストアから、以下のアプリをイ
ンストール。
x-Parts
これを起動して、「INSTALLS」から「install CWM」を実行。Instal Completeが出れば
CWMの導入完了。
CWMの起動は、端末の電源が切れている状態から、電源入れて、「SONY」のロゴが出てい
る最中に、何がボタンを連打すればOK。メニューボタン、戻るボタン、ボリュームアップ/
ダウンのどれでもOK。ただし、HOMEボタンは、CWMで「決定/実行」の動作をするので、
連打してしまうとCWMが起動した途端、rebootを実行してしまうので、使わないのが吉。

この後、システム領域を触るので、ここで、1度、CWMでフルバックアップを取っておく。

6. メール受信等のLED通知の不具合の修正
ICS化で、ひとつ困った問題が出る。「画面ロック時にメールを受信すると点滅するはずの
LEDが点滅しない」のだ。この不具合、公式に、修正される予定はない(メーカー側は、こ
の件を知っているが対応する気は無いらしい)。仕方ないので、以下のパッチを当てる事
にする。
[Update 17/09/2012]ArcatarcNotificationLedFix for 4.1.B.0.587 Odexed+Deodex Patch
http://forum.xda-developers.com/showthread.php?t=1840114

ここから、以下のファイルをダウンロードする。
Notification_Led_Fix+Deodex_Patch_4.1.B.0.587.zip
これを、端末のmicroSDに転送する。場所はどこでもいいけど、microSDのルートフォルダ
ーあたりに突っ込んでおけばOK。一度、端末の電源を切って、電源を入れなおしてCWMを起動。
「install zip from sdcard」で、上記のzipファイルを指定してパッチをインストール。
その後、リブートする。アプリの最適化とか走って、ちょっと時間掛かるけど、正常に立
ち上がれば、パッチ適用完了。
メール受信させて確認してみたら、LED通知が正常に行われるようになった。
ちなみに、このパッチ、以下のものを入れ替える。framework.jarが上書きされるので、セ
ルスタンバイ問題でframework.jarに手をいれるなら、このパッチを当てた後に行う事!
===
system/framework/
 android.policy.jar
 apache-xml.jar
 bouncycastle.jar
 core.jar
 core-junit.jar
 ext.jar
 framework.jar
 services.jar
===

7. SIMカードの挿入と設定
SIMは、低速で安価だけど、いろいろな意味で安定して使える「IIJmio」を使用している。
アクセスポイントの設定は…、IIJmioの説明書を参照の事。
これを挿して、データ通信できるようになった。でも、データ通信専用SIMのセルスタンバ
イ問題と、電波強度が表示されない問題が出る。この対策は、後述。

8. build.prop の修正 (「魔法の5行」等の省エネ設定の導入)
/system/build.pro に以下を追加すると、かなり省エネになるようだ。でも、もう5行ど
ころじゃない量だ。それぞれの定義が、これで正しいのかどうかは、実は、良く分からな
い。まぁ、これで動いているから、良しとしよう。
注意として、PC上での編集時は「文字コードはUTF8でBOM無し、改行コードはLFのみ」と
する事。追加位置は、ファイルの先頭。先に定義した項目が優先するらしい。
追加定義は、以下の通り(===の内側を使う事)。
===
### User append ###
# 休止状態への高速移行
ro.semc.enable.fast_dormancy=true

# アイドル時に低電力モード
ro.ril.disable.power.collapse=1 

# 緊急ダイヤルコード
ro.ril.oem.ecclist=110,118,119

# --- 3G 設定 ---
# A5/2GSM用プロトコル
ro.ril.enable.a52=0
# GPRS用暗号化アルゴリズム
ro.ril.enable.a53=1
# HSDPAカテゴリ(受信能力) 1..28
#  1,2:1.2Mbit/s 3,4:1.8Mbit/s 5,6:3.6Mbit/s 7,8: 7.2Mbit/s 9:10.1Mbit/s 10:14.0Mbit/s ...
ro.ril.hsdpa.category=8
# HSUPAカテゴリ(送信能力) 1..9
#  1:0.73Mbit/s 2,3:1,46Mbit/s 4:2.93Mbit/s 5:2.00Mbit/s 6:5.76Mbit/s 7:11.5Mbit/s ...
ro.ril.hsupa.category=5
# 0=UMTS r99  1=HSDPAのみ  2=HSDPA+HSUPA
ro.ril.hsxpa=2
# 通信のタイムアウト
ro.ril.fast.dormancy.timeout=3
# FOMAプラスエリア設定
#  Xperia pro MK16i では、FOMAプラスエリア非対応なので0指定
ro.ril.enable.dcm.feature=0
# 以下の通信業者のうち、数字で指定した物は何かを除外する?
#  docomo:44010 softbank:44020
ro.ril.disable.fd.plmn.prefix=44010
# SDR(Software Defined Radio)を無効
ro.ril.enable.sdr=0
# ソフトウェア無線の無効設定?
ro.ril.oem.mosms.mode=1
# ネットワークモード
#  0=WCDMA優先 1=GSMのみ 2=WCDMAのみ 3=WCDMA/GSMの強いほう 4=CDMA/EVDO
ro.telephony.default_network=2
# 2で「不確定なAGPSを許可する」
ro.ril.def.agps.mode=2
# 2で「AGPSモード」?
ro.ril.def.agps.feature=2

# --- Wi-Fi 設定 ---
# Wi-Fiアクセスポイントのスキャンインターバル(sec)
wifi.supplicant_scan_interval=180

### End (User append) ###
===

9. FMラジオの日本対応
周波数帯を日本のものにする。以下の内容のファイルを「custom_settings.xml」として
作成。「改行コードはLFのみ」とする。
===
<?xml version="1.0" encoding="UTF-8"?>
<settings version="1">
    <setting key="frequency-band" runtime="false">Japanese</setting>
    <setting key="frequency-least-step" runtime="false">100</setting>
</settings>
===
これを、以下の場所に置く。fmradioは、mkdirで作成する事。
/system/etc/customization/settings/com/sonyericsson/fmradio/

10. 必要なアプリをインストール (その2)
以下のものを入れる。
親筆2
 手書きのメモ帳って感じのもの。
ジョルテ
 カレンダーとして利用。六曜が表示できるので、縁起担ぐ場合とかに必須。
RealCalc Scientific Calculator
 関数電卓
Droid48
 伝説の逆ポーランド記法なプログラミング電卓。
Screebl Lite - Battery Saver
 端末の傾きを監視して、手で持ってないとみなされる時、端末をロックする。机に置き
 っぱなしとかで、素早くスリープして、節電できる。
Screen Off FX
 電源ボタンが押しにくいので、これを導入。
 今まで愛用していた「Screen Off and Lock」は、ICSにしてから、うまく動かない
 (OFF時に、画面は真っ黒になるが、バックライトが点きっぱなしになる)ので、こ
 ちらに乗り換え。
Firefox
 ウェブブラウザ。まぁ、この辺は、お好みで。PC上でFirefox使っている場合、PC上との
 同期を設定するとかなり便利。
DroidWing FREE
 広辞苑等の辞書データを使って、辞書引きでる。
駅探★乗換案内
 電車移動のお供。
twicca
twitpic プラグイン for twicca
翻訳連携 プラグイン for twicca
下書きプラグイン for twicca
 以上は、Twitterのクライアントとプラグイン。
Wifi Analyzer
 無線LANの電波状況を確認するのに便利。
DigiClock Widget
 ホーム画面に置く時計。
世界天気時計
 ホーム画面に置く天気予報。
Elixir 2
 ステータスバーにあれこれ置けるので、便利。上記の「Screen Off FX」も、これでス
 テータスバー上から実行できるようにした。
docomo絵文字マッシュルーム
 名前の通り。絵文字を入力するのに便利。
顔文字辞書
 ATOKのオプション辞書。

開発終了で、Google Playから入手出来ないFlashは、以下から入手。
http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
ここの以下のAPKをダウンロードしてインストール。
Flash Player for Android 4.0 archives
 Flash Player 11.1 for Android 4.0 (11.1.115.47)
ファイラーからAPKファイルを直接指定してインストール後、実行してFirefoxでの設定操
作をしておく事。

11. データ専用SIMのセルスタンバイ対策
セルスタンバイ対策、これを解決しないとすっきりしない。
先ず、AndroidSDKのインストールをしておく。手順は、以下のサイトを参照の事。
AndroidSDKインストール手順2012年12月(ADT Bundle版)
http://smartphone-zine.com/dokuwiki/android/020_development/0010_environment/0070_installdecember2012.html
Java6のJDKを入れて、ADT BundleでAndroidSDKをインストールしちゃう。
今の所、開発するとかではないので、SDKの使い方云々は、置いておく。
さて、環境は整ったので、手動でセルスタンバイのパッチを…と思ったら、上記の「メー
ル受信等のLED通知の不具合の修正」で、修正対象のframework.jarが、非deodex状態
のようだ。素直に、以下のものが使える。
プローブちゃん Android + データ専用 SIM での動作修正パッチ
http://bl.oov.ch/2012/01/android-sim.html
ここから、
datasim_framework_jar_patcher_20120317.zip
http://test.oov.ch/android/datasim_framework_jar_patcher_20120317.zip
をダウンロードして、展開しておく。
ここで、失敗時の対策として、一度、CWMでバックアップを取っておく。丸ごとバックアッ
プなので、失敗しても、丸ごとリストアすれば良いだけだ。
USBデバッグモードにしておいてから、パッチを適用しよう。
パッチの実行中、「緊急通報のみ」の表示の無効化云々の確認の所は、「モード 0」
(変更しない)を選ぶ事(無効化の1を選ぶと、途中で失敗する)。
ちょっと時間掛かるけど、パッチの当たった framework.jar が生成される。これを、
手動で/system/framework内に書き戻して、端末を再起動。
CWMで「Wipe cache partition」と、「advanced」の中にある「Wipe Dalvik Cache」
を実行。その後、起動させればOK。
特にトラブルもなく、パッチ当て成功した。
ここで、もう一度、CWMでバックアップを取っておこう。何かあっても、この時点まで
引き戻せる。

12. 戻る・ホーム・メニューのボタン間のやらた眩しいLEDの輝度調整
以下のファイルを修正する。
/system/etc/hw_config.sh
このファイルの58行目を以下の様に修正する。
echo 4000 >$dev/button-backlight/max_current
      ↓
echo 500 >$dev/button-backlight/max_current
修正後、端末を再起動する。
ちなみに、ここを400にすると、LEDが全然光らなくなった。完全消灯したいなら、400以下
の数値にすれば良さそうだ。
ちなみに、$dev/tally-light/max_current の行を触れって情報もあるようだが、試してみ
たが、輝度の変化は無かった。tally-lightは、名前の通り、カメラ撮影時の撮影に入る直
前(シャターボタンを押したままのタイミング)で撮影対象者にカメラ位置を知らせる為の
フラッシュ用LEDの発光の事ではないだろうか?

13. ゴミ掃除(不要なプリインストールアプリの削除)
使いもしないアプリが内蔵メモリを圧迫している。いらないものは、消す! その準備の為
に、以下のアプリをインストール。
Titanium Backup ★ root
インストールできたら、これを起動して、「バックアップ/リストア」のタブをタッチして、
アプリ一覧を表示。ここで、「MENUキー」→「バッチ処理…」で、「バックアップ:全ユー
ザーアプリ+システムデータ」で全選択状態でバックアップを取っておく。
後は、「いらんもんは消せ!」だ。バックアップは取れているので、すぐ元には戻せるし、
ばっさり切り捨てよう。Titanium Backup ★ rootで、以下の物を消した。
===
Lets Golf HD! 4.0.6
McAfee Security 1.2.0.141
Moxier Pro 3.2.0
Timescape 1.1.A.0.0
Timescape ウィジェット 1.1.A.0.0
Track ID 3.41.26
UEFA.com 1.6.0
UEFA.com 1.0.0
Xperia HotShots 0.1.1
POBox Touch 4.4
中国語キーボード 4.1.31
Wisepilot 4.5
PlayNow 1.11.2
店頭用デモ 2.16.1
友達のゲームとアプリケーション 1.1.A.0.1
ANT Radio Service 2.4
ANT Wireless State Notifier 1.0.1
ANTHalService 4.0.4-tL1_3w
Exchange サービス 4.1
Facebook 2.1
Facebook CalendarSync 2.1.A.0.0
Facebook extansion 2.1.A.0.0
FBiX Music Likes 2.1.A.0.0
FBiX Post Viewer 1.1.A.0.0
FBiX Proxy 1.1.A.0.0
FBiX Setup 2.1.A.0.0
NeoReader 1.00.38
Woody 1.0
Sakura 1.0
Xperia Sync 1.0.0
お楽しみダウンロード 2.2.5
Live Wallpaper Picker 4.0.4-tL1_3w
サウンドビジュアル壁紙 4.0.4.-tL1_3w
マジックスモーク壁紙 4.0.4.-tL1_3w
ニュースと天気 1.3.04
フェーズビーム 1.0
ブラックホーム 1.0
バブル 1.0
天気ウィジェット 1.1.A.0.1
世界時計 2.1.2
デジタル時計 2.1.2
デジタル時計 1.0
セットアップガイド 1.0
サポート 4.1.33
ミュージック 3.1.A.0.8
ミュージックプレーヤー1.1.A.0.3
スマートコネクト 5.0.12
ビジネスセンター 1.0.8
===
もっと消せると思うが、かなりメモリも空いたので、これくらいにしておく。
なお、Titanium Backupでアプリを強制的に「アンインストール!」で削除しても、Dalvik
cacheにいろいろ残骸が残っているので、以下のいずれかで、掃除しておこう。
・CWMからお掃除する
 端末をリブートしてCWMを起動。メニューの「advanced」から「Wipe Dalvik Cache」
 を実行。その後、リブート。
・Titanium Backupからお掃除(寄付版の機能)
 Titanium Backupを起動して、メニューから「ストレージ」の「Dalvikキャッシュの
 消去」を実行する。

14. アプリのSDカードへの移動
さらに本体側のメモリーを空けるため、アプリのSDカードへの移動も行う。
「設定」→「アプリ」でアプリの一覧を表示してから、それぞれのアプリをタッチして、
「アプリ情報」を表示する。ここで「SDカードに移動」が可能な物は、できるだけ移動し
ておく。ただし、常駐物は移動しない方が安定して動きそうなので、移動しない事。

15. 必要なアプリをインストール (その3)
メモリも結構空いたので、ちょっとデカイアプリを入れておく。
7notes with mazec (amz7nwm 1.5.8)
 これ、手書き文字認識で、識字率がかなり高く、結構便利なのだ。以前に、Amazonの
 amazon appsで、1日限定無料アプリで出ていた時に入手しておいたもの。普通に購入す
 ると、結構高額だけど、それだけの対価払っても価値あるおすすめアプリ。
 ひとつ注意事項。こいつは、SDカードに移動してはいけない。SDカードに移動しちゃう
 と、リブート後に使えなくなっちゃう(リブート後、毎回、再設定が必要)。75MBもある
 アプリなので、SDカードに移したいんだけど、残念だ。公式見解でも、何らかの対策を
 考える気はないらしい…
 (FAQか) 再起動するとmazecの設定が外れる
 http://product.metamoji.com/android_top/news/20111216-10.html

Keyboard Manager (root users)
 キーボードを閉じて縦持ち時は、手書き文字認識のmazec、キーボードを出して横持ちの
 時は、ATOKを使いたい。キーボードの出し入れで入力方法を自動切り替えしたかったの
 で、これを導入。外付けキーボード接続時の入力方法まで指定できる。「Start on boot」
 にチェックを入れておけば、リブートしても、自動起動する。
水準器プラス
 住宅の床面の水平点検に便利。日本列島、地盤変動多発なようで、お家傾いたら困るも
 んね。
手帳の付録
 ビジネス手帳のおまけで付いてくる便利情報ってコンセプトのアプリ。
ソニーの電子書籍 Reader
Reader拡張機能
 以上2つは電子書籍アプリ。SONYポイントを乱発するReader Storeで書籍買う事が多い
 ので、これを入れておく。
BASIC!
 名前の通り、BASIC言語の実行環境。なかなか高機能。
Luarida
 Lua言語の実行環境。簡単なツール作るとかなら、これが便利。root権限の必要なシェル
 スクリプトとかも、これを使うと起動できる。自作プログラムをホーム画面に配置できる
 ので、普通のアプリ感覚で使える。
CopiPe - コピペツール 日本語版
 Jota+との組み合わせで、現在の日付や時刻をテキストエディタ中で挿入するのに、これ
 が便利。
見ながらメモ
 Webサイトの閲覧中とかで、ちょっとメモしたい事あった時に便利。
QRコードスキャナー
 名前の通り。商品のバーコードも読めるので、書籍管理とかで便利。
NHKネットラジオ らじる★らじる
radiko.jp for Android
Raziko
 以上3つは、ネット経由で国内のラジオ聞くのに必須。
Meridian メディアプレイヤー
 音楽プレーヤー。
目覚まし時計(Alarm) Xtreme Free
 標準で入っている目覚まし時計が、何か正常に動かなかったので、これを導入。

16. 母艦PCとのファイル同期
クラウド経由でのファイル同期をPCとの間で行うとか、とても便利だけど、セキュリティ
面での不安がある。ファイルの同期とか、自宅に帰った時に出来ればいいので、自宅の無
線LAN環境下で、PCと直接同期させる事にする。以下のアプリが便利そうなので導入。
FolderSync Lite
これ、かなり多機能だけど、母艦PC(Windows8)とSMBで同期を取るだけの形で使用。

17. 内蔵キーボードのキーマップを調整
内蔵キーボードでは、入力出来ない記号とか結構あるし、ICSではCtrlキーもサポートされ
ているので、キーマップをあれこれ触って、有効活用しよう。
なお、入力方法に「POBox Touch」を選択した場合は、以下の方法ではキーマップの調整が
出来ないので、「ATOK」や「nicoWnnG IME」などの内蔵キーボードをサポートしたものを
利用するようにしよう(自分は「ATOK」使い)。それから、アプリによっては、以下で定義
したものが部分的に無効化される場合もあるので、万能ではない事も念頭に置いておく事。
先ず、ATOK使いなので、「Sym」キーは意味がない。この「Sym」キー、入力方法が
「外国語キーボード」の時に記号や絵文字を入力する為のものだが、ATOKでは、タッチ用
のソフトウエアキーボードが出てきてしまうので、ちょっと邪魔。これをCtrlキーに変更す
る。以下のファイルの最終行よりちょっと前にあるPICTSYMBOLSの行を修正する。
修正対象ファイル:
/system/usr/keylayout/pm8058-keypad.kl
修正箇所: (最終行より1行前)
key 127   PICTSYMBOLS       WAKE_DROPPED
これを、以下に書き換え:
key 127   CTRL_LEFT         WAKE_DROPPED
以下の2つのファイルも修正しておく(この2つは、どこに影響するか不明。特に修正しなく
ても良い)。
修正対象ファイル:
/system/usr/keyboard-config/scancode_mapping.xml
修正箇所: (47行目)
<MappingMetaKey scancode="127" id="META_SYMBOL" />
これを、以下に書き換え:
<MappingMetaKey scancode="127" id="META_CTRL_LEFT" />
もう一つ、修正。
修正対象ファイル:
/system/usr/keyboard-config/layouts/qwerty-en.xml
修正箇所: (51行目、107行目、163行目)
<MetaKey id="META_SYMBOL" />
これらを、以下に書き換え:
<MetaKey id="META_CTRL_LEFT" />
続いて、キーマップを触っていこう。基本的には、GBの時にやったキーマップに近い形に
する。ただし、「Sym」キーを有効活用した形にしてみた。
修正対象ファイル:
/system/usr/keychars/pm8058-keypad.kcm
このファイルは、テキスト形式のファイルで、書式は見ればすぐ分かるものになっている。
主に、未定義になっている「shift+alt, capslock+alt:」の部分にいくつか文字を割り当
てる。他にも、便利そうな定義をしてみた。
キーの割り当ては、以下の通り。

入力文字  キー操作    コメント
------------------------------------------------------------------------
+++ 制御文字 +++     SOH(0x01)~SUB(0x1a)は、pm8058-keypad.klに
              CTRL_LEFTを定義するだけで入力できる。
SOH(0x01) SYM+A    Ctrl+A 全選択
STX(0x02) SYM+B    Ctrl+B
ETX(0x03) SYM+C    Ctrl+C コピー(複写)/シェル(sh)で、フォアグラウンドプロセスの強制終了
EOT(0x04) SYM+D    Ctrl+D シェル(sh)で、入力の終了(End of file)
ENQ(0x05) SYM+E    Ctrl+E
ACK(0x06) SYM+F    Ctrl+F
BEL(0x07) SYM+G    Ctrl+G
BS(0x08)  SYM+H    Ctrl+H バックスペース
HT(0x09)  SYM+I    Ctrl+I TAB
LF(0x0a)  SYM+J    Ctrl+J ENTER
VT(0x0b)  SYM+K    Ctrl+K
FF(0x0c)  SYM+L    Ctrl+L
CR(0x0d)  SYM+M    Ctrl+M
SO(0x0e)  SYM+N    Ctrl+N
SI(0x0f)  SYM+O    Ctrl+O
DLE(0x10) SYM+P    Ctrl+P
DC1(0x11) SYM+Q    Ctrl+Q
DC2(0x12) SYM+R    Ctrl+R
DC3(0x13) SYM+S    Ctrl+S
DC4(0x14) SYM+T    Ctrl+T
NAK(0x15) SYM+U    Ctrl+U
SYN(0x16) SYM+V    Ctrl+V ペースト(貼り付け)
ETB(0x17) SYM+W    Ctrl+W
CAN(0x18) SYM+X    Ctrl+X カット(切り取り)
EM(0x19)  SYM+Y    Ctrl+Y
SUB(0x1a) SYM+Z    Ctrl+Z アンドゥ(元に戻す)/シェル(sh)で、フォアグラウンドプロセスの一時停止
+++ 制御文字(その2) +++ 上記で入力できない制御文字を定義
ESC(0x1b) ALT+SHIFT+Q Ctrl+[ ESC(エスケープ)
FS(0x1c)  ALT+SHIFT+W Ctrl+\
GS(0x1d)  ALT+SHIFT+E Ctrl+]
RS(0x1e)  ALT+SHIFT+R Ctrl+^
US(0x1f)  ALT+SHIFT+T Ctrl+_
+++ 制御文字(その3) +++ 良く使うショートカットキーはALT+SHIFTでも入力できるようにする。
SOH(0x01) ALT+SHIFT+A Ctrl+A 全選択
ETX(0x03) ALT+SHIFT+C Ctrl+C コピー(複写)/シェル(sh)で、フォアグラウンドプロセスの強制終了
EOT(0x04) ALT+SHIFT+D Ctrl+D シェル(sh)で、入力の終了(End of file)
SYN(0x16) ALT+SHIFT+V Ctrl+V ペースト(貼り付け)
CAN(0x18) ALT+SHIFT+X Ctrl+X カット(切り取り)
SUB(0x1a) ALT+SHIFT+Z Ctrl+Z アンドゥ(元に戻す)/シェル(sh)で、フォアグラウンドプロセスの一時停止
+++ 記号 +++
 <    ALT+SHIFT+,
 >    ALT+SHIFT+.
 [    ALT+SHIFT+K  ブラケット(bracket)
 \    ALT+SHIFT+B
 ]    ALT+SHIFT+L  ブラケット(bracket)
 ^    ALT+SHIFT+O  カレット(caret)
 `    ALT+SHIFT+'  バッククォート
 {    ALT+SHIFT+N  ブレース(brace)
 |    ALT+SHIFT+?  パイプ(vertical bar)
 }    ALT+SHIFT+M  ブレース(brace)
 ~    ALT+SHIFT+P  チルダ
 -    SHIFT+'     マイナス … ALT+Fの位置では入力しにくいので、ここにも追加
+++ 特殊キー +++
BACK    ALT+SHIFT+G 戻る
HOME    ALT+SHIFT+H ホーム
MENU    ALT+SHIFT+J メニュー
------------------------------------------------------------------------
※ ALTキーは「■」マークのキー

修正量が多いので、修正後のファイルは、以下のCWM形式のファイル内を参照の事。以上
の4つのファイルを、簡単に導入できるように、CWMで適用できる形にしてみた。
Xperia_MK16_ICS_KeyMap_1.1.zip
これを、展開とかせず、そのまま、端末のmicroSDに転送する。場所はどこでもいいけど、
microSDのルートフォルダーあたりに突っ込んでおけばOK。
作業前に、何かトラブルがあった時の為の対策として、CWMで事前にバックアップを取っ
ておく事。もし、以下の作業が失敗した場合は、このバックアップを使って元に戻せば良
い。バックアップが取れたら、一度端末の電源を切って、電源を入れなおしてCWMを起動。
「install zip from sdcard」で、上記のzipファイルを指定してインストール。その後、
リブートする。正常に立ち上がれば、適用完了。
ATOKと特殊キーの組み合わせで、ちょっと問題あり。ATOKで英字入力モードの場合、以下
の3つが無視されるようだ。
「BACK(ALT+SHIFT+G)」、「HOME(ALT+SHIFT+H)」、「MENU(ALT+SHIFT+J)」
日本語入力モードの場合はこの問題は出ないので、日本語入力モードに切り替えて回避す
るか、普通にBACK・HOME・MENUキーを使うか、まぁ、使い方を工夫すれば良いだろう。
他にも、アプリ毎や入力方式毎に、pm8058-keypad.kcm で定義した内容が無視される場合
がある。これは、各アプリや入力方式側での問題なので、なんとかして欲しいなら、各アプ
リの作者や会社に要望を出すしかないだろう。

18. 外付けキーボード
内蔵のキーボード、それなりに便利なんだけど、座ってテーブルもある場合とか、やっぱ
り大きなキーボードを使いたい。ICS(Android4.0)になって、Xperiaでも、BluetoothのHID
プロファイルが実装されたので、Bluetoothなキーボードは簡単につながるようになった。
これは、有効利用するしかない…んだけど、悲しいかな、キーマップ情報は汎用のものし
か用意されていないので、日本語キーボードだと、キートップの文字・記号と入力データ
にズレが生じてしまう。なんとかしたい。
先ず、調査用に、以下のアプリをインストールしておく。
KeyEvent Display
実際にキーボードをつないで、KeyEvent Displayで、全部のキーのキーコードを確認して、
ちまちまとキーマップ情報を修正する事にする。
今回、使用したのは、通称「ポケモン・キーボード」などと呼ばれる以下のキーボード。
Nintendo Wireless Keyboard NTR-034
これは、NINTENDO DSの「バトル&ゲット! ポケモンタイピングDS」というゲームソフト
と一緒に売られているもので、かなりしっかりした作りのBluetooth Keyboardだ。
キーコードは、こんな風だった。
ポケモンキーボード・キーコード
このキーボード用のキーマップ情報のファイルを作成してみた。作成したファイルは…
/system/usr/keylayout/Vendor_057e_Product_1001.kl
/system/usr/keychars/Vendor_057e_Product_1001.kcm
以上の2つだ。ちなみに、ファイル名は、Vendor_《Vendor ID》_Product_《Product ID》
の形となる。Vendor IDとProduct IDは、キーボードを繋いだ状態で、端末エミュレータか
ら、以下のコマンドを実行すれば得られる。
===
# cat /proc/bus/input/devices
===
これら2つのファイルは、上記のXperia_MK16_ICS_KeyMap_1.1.zipに入れておいたので、
CWMで導入していれば、使えるようになっているはずだ。
キーの割り当ては、キートップの刻印通り。なお、以下の変更・追加も行なっておいた
(内蔵キーボードと異なるマッピングにしているのご注意!)。

入力文字  キー操作    コメント
------------------------------------------------------------------------
+++ 特殊キー +++
HOME    家マークのキー ControlとAltの間のキー、ホームとして動作
BACK    ALT+B      戻る
HOME    ALT+H      ホーム
MENU    ALT+M      メニュー
F1~F10  Fn+1~0     ファンクションキー F1~F10
------------------------------------------------------------------------
ちなみに、「Caps Lock」と「Control」を入れ替えたい人は、以下のファイルを修正すれ
ば良い。
修正対象ファイル:
/system/usr/keylayout/Vendor_057e_Product_1001.kl
修正箇所: 2箇所
51行目:
key 29    CTRL_LEFT
     ↓
key 29    CAPS_LOCK
80行目:
key 58    CAPS_LOCK
     ↓
key 58    CTRL_LEFT

---

※補足情報
・画面の輝度の自動調整を止めたい場合
画面の輝度は、周辺の明るさを見て、自動調整されている。しかし、この自動調整が災い
して、画面がちらついてしまう場合があるようだ。チラツキが気になってしまい、自動調
整を止めたいならば、以下のファイルを修正すれば良い。
修正対象ファイル
system/etc/hw_config.sh
これに、以下の行を追記する。
echo 0 > /sys/devices/i2c-0/0-0040/leds/lcd-backlight/als/enable
これで、輝度調整が手動となるので、「設定」→「画面設定」→「画面の明るさ」で適当
な明るさに調整すれば良い。

・メモリの容量不足が多発する場合
メモリは、十分に余っているはずなのに、メモリ容量不足の警告が出る場合、いろいろな
キャッシュの残骸が残っているのが原因な場合がある。電源ボタン長押しで、一旦シャッ
トダウンして、再起動してCWMを起動。そこで、以下の操作で、ゴミ掃除すると、解消さ
れるので、試してみると良いだろう。
「wipe cache partition」→「Yes - Wipe Cache」
「advanced」→「Wipe Dalvik Cache」→「Yes - Wipe Dalvik Cache」
これで解消されないなら、本当にメモリ不足なので、不要アプリを消すとかして解決する
しかないだろう。

---
参考にさせてもらったサイト:

Xperiapro MK16a root化したICSにしたらやること
http://suzuka770.blog45.fc2.com/blog-entry-1291.html


Android4.0(Ice Cream Sandwich)のフォント変更方法。
http://androidlover.net/smartphone/android4-0-ice-cream-sandwich-change-font.html


魔法の5行によるXperia mini proのバッテリー持ち&ベンチスコアの変化
http://www.kitcat.jp/blog/2011/10/magical5lines-xperia-mini-pro.html


Xperia arcのICS beta ROMにセルスタンバイ対策
http://voinuv.blogspot.jp/2012/02/xperia-arcics-beta-rom.html


他多数。各サイトの主様に感謝。

=================================================
以上。