eden TABのシステム書き換えに関する技術情報2012/03/05 08:37

いろいろ検証していたりして、手間取ってしまったが、eden TABのシステム書き換えの
手順をまとめてみた。
これが、カスタムROMや、カーネル差し替えへの第一歩となるだろう。カスタムROMの
自作とかにチャレンジしてくれる猛者が、日本でも登場してくれることを祈りつつ…
では、いってみよう!

※警告!
  以下の操作は、eden TABのシステムを書き替えてしまう操作なので、失敗した場合、
  二度とeden TABが使えなくなる可能性がある(文鎮化とも言う)。その事を承知の上で
  操作して欲しい。どの様な事が起きても、当方では一切の責任は持たないので、すべ
  て自己責任で対処すること。Linuxの知識の無い方は、絶対に手を出さない事。
  まぁ、ゼムクリップをのばしておけば、結構救えることもあるけどね…(リセット
  の為のあの小さな穴は、結構役に立つ)。

以下、2012/03/04時点での最新のソフトウェア(バージョン:1.12d)で、バージョン
アップ済みであることが前提。

ホームアプリは、あのなんとも厄介な「edenTABランチャー」ではなく、さっさと
別の普通なホームアプリを入れて、標準マーケットを表に出しておこう。
GingerBreak-v1.20.apk等でrootを取得後、標準マーケットから「BusyBox」をイン
ストールして実行し、最新版のBusyBoxを/system/xbinにインストールしておくこと。
以下の作業は、すべて、端末エミュレーターで行うので、標準マーケットから
「Android Terminal Emulator」もインストールすること。

充電を十分に行っておいて、ACアダプタは接続したままにする。microSDは、必ず
セットしておくこと。

1) システムイメージファイル update.zip の入手
  購入時に、ソフトウェアバージョンが1.10b等で古かった場合は、バージョンアップ
  の指示書が同梱されていて、microSDを使って、バージョンアップをおこなったはず
  なので、そのmicroSDのルートフォルダーに「update.zip」が残っている。これが、
  最新バージョンの本体システムのソフトウエアとなる。
  もし、このファイルを消してしまっている場合や、入手時に、既に最新のソフトウェ
  アとなっていた場合は、以下の手順で、最新版のupdate.zipが入手できる。
  端末エミュレータを起動して、以下のコマンドを実行。
 
  $ su
  # mount -o remount,rw /dev/block/mmcblk0p2 /system
  # cd /system
  # cp build.prop build.prop.org
 
  続いて、viコマンドでbuild.propを開いて、以下の行を修正する。
 
    ro.build.version.incremental=1.12d
                    ↓
    ro.build.version.incremental=1.10b

  こんな感じでやればいい…
 
  # vi build.prop
 
  ここで、以下のキー操作…
 
  /1.12d  ←ここで「リターン」
  :s/2d/0b/ ←ここで「リターン」
  :wq  ←ここで「リターン」
 
  書き換えが終わったら、以下のコマンドで端末をリブートする。
 
  # reboot
 
  eden TABが立ち上がったら、「設定」→「端末情報」→「システムアップデート」
  を開く。なぜか、「現在のバージョン」が「1.12a」となる。深い事は考えずに、
  「フルアップデート」が選択されているのを確認して「システムアップデートを実行」
  をタップ。これで、165MBのアップデートファイルのダウンロードが始まる。ダウ
  ンロードが終了したら、システムを再起動するか確認してくるので、「キャンセル」
  をタップして、「戻る」キー3度押しで設定から抜ける。これで、update.zipが
  手に入った。
 
  このまま、システムの書き換えを行わないなら、build.propは元に戻しておこう。
  端末エミュレーターを起動して、以下のコマンドを実行。

  $ su
  # mount -o remount,rw /dev/block/mmcblk0p2 /system
  # cd /system
  # cp build.prop.org build.prop
  # reboot

  リブートして、再起動すれば、OK。

2) update.zip の中身の確認
  microSDのルートフォルダーにあるupdate.zipは、単純なZIP形式なので、PCに持
  って行って、update.zipを展開してみると、中身が確認できる。
  カーネルイメージは「zImage」、/system配下は「素」のまま入っている。簡単
  なカスタムROMイメージを作るなら、「system」フォルダーの中をあれこれ触って
  から、ZIPに固め直すだけでも良いだろう。いろいろ、研究してみる価値はあるだ
  ろう。

3) update.zipによるシステムの書き換え
  update.zipをルートフォルダーに入れたmicroSDをeden TABにセットする。
  十分に充電をしてから、ACアダプターを外して、一度電源を切っておこう。電源
  キー長押し→「電源を切る」だ。ACアダプターが接続されていると、勝手に再起
  動してしまうので、要注意。
  つづいて、音量キーのアップ側(電源キー側)を押しながら、電源キー長押しで、
  電源を入れる。そうすると、「PD368 Maintenance MENU」が表示されて、以下の
  項目が出てくる。
    1. Factory Data Reset
    2. FTM
    3. Fastboot
    4. Force Charge
    5. Recovery Mode
    6. Exit

eden TAB メンテ1

  音量キーのアップ側で「項目選択」、ダウン側で「実行」。変なところに入って
  しまったら、のばしたゼムクリップをリセットの穴に突っ込んで、リセットする
  事。
  ここで、「5. Recovery Mode」を選んで実行すると、「Android system recovery」
  の画面に移行する。今度は、以下の項目が出る。
    reboot system now
    apply update from sdcard
    wipe data/factory reset
    wipe cache partition

eden TAB メンテ2

  ここでは、音量キーのアップ・ダウンで「項目選択」、電源キーで「実行」とな
  る。先ほどと違うので注意が必要だ。
  目的のシステム書き換えは「apply update from sdcard」なので、音量キーでこ
  れを選んで、電源キーを押す。書き換えイメージのファイルを選ぶ画面に切り替
  わる。音量キーで、「update.zip」を選んで、電源キーで「実行」すると、シス
  テムの書き換えが始まる。

eden TAB メンテ4

eden TAB メンテ3

  「Install form sdcard complete.」と出れば、書き換え終了。その後は、上記の
  項目の「reboot system now」を選んで実行すると、再起動されて、書き変わった
  イメージで立ち上がる。

以上で、書き換えは終了する。/dataの下は書き換わらないので、書き換え前にイ
ンストールしてあったアプリの実行イメージが/data側に残っていれば、そのアプリ
は、そのまま使えるが、/system/app側は消されているので、自分で入れたアプリは
基本的には入れ直しになる。rootも取り直しになる。

いろいろカスタマイズしてしまって、システムを初期状態に戻したい時にも、これ
が利用できるので、update.zipは、どこかに保存しておくと、後々、何かと便利に
なるだろう。

以上だ。

eden TABがやってきた。2012/03/02 15:15

昨日の午前中、eden TAB がやっと届く。配送は佐川急便。
ダンボール箱に入って届くが、このダンボール箱、専用サイズのものを用意して
いた訳ではなく、平らなダンボールをカッターでいちいち切って、テープで留めて
箱にしている模様。切り口の粗いところがある。梱包自体は丁寧な方なので問題な
いけど、出荷の現場は、かなりの戦場だったんだろうね。
梱包のダンボール

中身は、eden TABの化粧箱、一緒に発注しておいた液晶保護シート、納品書、それ
から、Mobile In Style 下社長のメッセージカード、バージョンアップの手順書、
2GBのmicroSD(pqi製だった)。このmicroSDは、オマケで付けた訳ではなく、バージ
ョンアップに必須なものだ。
届いたもの

eden TABの化粧箱の中身は、eden TAB本体、ACアダプター(DC5V2A出力)、充電用の
USBケーブル。
eden TAB一式

先ず、初期充電。付属のACアダプターは使わず、手持ちのものを使ってみた。
  ACアダプタ ダイアテック(FILCO) PLS52USBW
  USBケーブル ノーブランド Micro-USBケーブル(通信・充電切替スイッチ付き)
やはり、D+/-ショート状態の充電対応状態でないと、充電が始まらなかった。
ちなみに、eden TAB付属のACアダプターは、アダプター側でD+/-をショートさせて
いるので、付属のACアダプターを使うなら、普通のUSB-microUSBケーブルで充電で
きる。

充電が始まると、そのまま起動した。すぐ、googleアカウントの設定画面になるが
WiFi接続もしてないので、ここはスキップ。位置情報云々の設定は、そのまま次へ。
日付・時刻設定に変わるので、正しい時刻を設定する。これで立ち上がった。

ホームアプリは、「edenTABランチャー」という独自のもの。フォントは中華フォ
ントのままで「写」の字とか変だ。バージョンアップして、正しいフォントを入れ
る必要がある。

先ずは、「メニュー」→「設定」→「無線とネットワーク」→「Wi-Fi」にチェッ
クを入れて、WiFiをONにして、「Wi-Fi設定」でアクセスポイントの設定を済ませ
ておく。

では、バージョンアップしてみよう。バージョンアップ前の端末情報は…
  モデル番号:         edenTAB ET-701
  Androidバージョン:  2.3.3
  カーネルバージョン: 2.6.35.7
  ビルド番号:         Gingerbread.GRJ40
  バージョン:         1.10b
「メニュー」→「設定」→「端末情報」→「システムアップデート」から、画面の
指示に従って、操作する。フルアップデートで、165MBのファイルをダウンロード
後に、再起動で、アップデートが行われて、とりあえず、終了したみたい。バージ
ョンアップ後の端末情報は…
  モデル番号:         edenTAB ET-701
  Androidバージョン:  2.3.3
  カーネルバージョン: 2.6.35.7
  ビルド番号:         Gingerbread.GRJ40
  バージョン:         1.12d
フォントは日本語フォントになった。「写」も「直」もちゃんと表示される。

さて、アップデートのファイルって、どうなっているのか…と思って、ここで使っ
たmicroSDの中身を見てみた。ルートフォルダーの下に、update.zipってファイル
が出来ていて、この中身は、普通に覗ける。スクランブルとか一切掛かってない。
カーネルイメージのzImage、systemフォルダー等、丸ごと見える形でZIPで固めて
いるだけだ。これだと、カーネルイメージの差し替えとか、容易に出来ちゃう気が
する。
電源を落としてから、再度電源を入れて、すぐにボリュームダウン(-)のキーを何
度か押していると、Firmware Upgreding Processって画面になるので、うまくすれ
ば、何かできそうだ。でも、一度アップデートしちゃった後だと、バージョンのチ
ェックか他に必要な何かがあるのか、アップデートのイメージを見つけられないよ
うなメッセージが出る。この辺は、研究の余地ありかも。

さて、ここからいぢりまわす。かなりマニアックに操作するので、「普通」に使い
たい人には参考にはならん…とは思うが(笑)。

先ず、ホームアプリを切り替える。edenTABランチャーでは、いろいろ不都合なの
で、愛用している「LauncherPro」をインストールする。googleの検索から以下の
キーワードを入力して、検索。
  LauncherPro APK download
これで、以下のWebサイトを開く。
  LauncherPro
ここに最新版のAPKがあるので、ダウンロードしてインストールする(現時点では、
「v.0.8.6 now available!」から、APKのあるページに飛ぶので、そこでAKPファイ
ルをダウンロードすれば、インストールまで行ける)。
LauncherProがインストールできたら、「ホーム」をダブルタップして、「アプリ
ケーションを選択」で「常にこの操作で使用する」にチェックを入れてから、
LauncherProを選択すれば、ホームアプリが切り替わる。ここまでくれば、後は、
普通のAndroid端末だ。他のホームアプリが使いたいなら、自力で探してみて欲しい。

ここで、標準のマーケットが表に出てくるので、起動してみよう。googleのアカウ
ントを登録して、設定を終えれば、見慣れたマーケットの画面が出てくる。一度、
古いマーケットの画面で起動されるが、すぐに最新版に入れ替わる。
ところで、気になったのは、ソフト搭載モデルでもないのに、Kingsoftのオフィス
ソフト、セキュリティソフト、オンラインストレージアプリが入っている。これっ
て、普通に使えるのか、試用期間があるのか、全然分からない。でも、マーケット
が使えるようになって分かった。これらは試用版で、インストール後7日間使える
みたいだ。ちゃんと使いたいなら金をくれ…って事みたい。\2,980らしい。う~、
高い、いらねぇ!

さて、アプリをあれこれインストールして…と思うけど、ここからが厄介だ。edenTAB
は、Google側で認証されてないデバイス。この影響で、マーケットから検索しても
出てこないアプリがある。ツイッターのクライアント「twicca」とか引っ掛からな
い。どうしても、build.propのfingerprintの偽装をしないとならなくなる。これ
には、root権限が必要になる。root取りしなくては、何もできないって事だ。

ここからは自己責任の世界に突入だ。失敗しても、保証はない! 返品も不可になる。
それでもOKな場合のみ、ここから先に行ってみよう。

では、root取り、行ってみよう!!
先ず、どんな脆弱性を突くのか…。なんか、これ↓で取れたって人が居たので調べ
てみる。Xperia pro/mini proでお世話になったツールだ。
  [04/Jan][ROOTING/UNROOTING] Xperia 2011 Easy Rooting Toolkit [v4.0](zergRush Exploit)
PCから繋いで、adb経由でrootを取るツールだ。でも、肝心のadb接続用のデバイス
ドライバーが無い。Android SDKに入っているadb接続用デバイスドライバーのinf
ファイルをあれこれ修正してみたが、うまく認識してくれない。zergRushのバイナ
リーを抜き出して、eden TABに持って行って動かしてみたが、いろいろ引っ掛かっ
て動かない。だめだぁ、これじゃ。

※追記 adb接続用デバイスドライバーのinfファイルの件は、ミスっていた原因が分かった。
          adb接続とかは、後日まとめる予定。

…で、物は試しにと思って、以前に使ったことのあったGingerBreakを試してみる。
あちゃ、簡単にrootが取れてしまった。初めから、これでやればよかったぁ。

完全にeden TABだけでrootが取れるので、やり方だけ書いておく。
1) googl検索から「GingerBreak」で検索。
2) 多分、先頭の方で、forum.xda-developers.comのページが出てくるので、そこ
   を開く。
3) ここから、GingerBreak-v1.20.apkをダウンロードして、インストールする。
4) インストール完了のメッセージが出たら、そのまま「開く」でGingerBreakを起
    動。SDカードを入れて、USB debuggingをイネーブルにしろって出るが、その
    ままOKする。
5) 「Root device」をタッチして、後は、リブートして立ち上がるまでじっと我慢
   して待つ。再起動すれば、成功!

rootが取れると、あれこれできることが出てくるが、それは、別の機会に。
とりあえず、ここまで。

eden TABを予約してみた2012/02/23 12:06

Mobile In Styleのeden TAB。ブロガーイベントで、もう触った人もいるみたいで、田舎者には、なんだか悔しいこの1週間である。とりあえず、ネットでの予約販売が開始されているので、早々に予約しておいた。早ければ、今週土曜には手元に届く予定。当初の問題点だった中華フォントも、修正されて出荷されるようだし、他の不具合も、かなり修正されたようだ。スペック的には、なかなか優れものなAndroid Tabletなので、かなり期待している。

さて、製品が届くまでに、心の準備を…

1) root取得は可能か?
  12月の製品発表時は、Android 2.3.4とされていたが、実際に出てきたものは2.3.3。これって、何か戦略的なものを感じるんだけど、2.3.3だからって言っても、セキュリティーホールが塞がれている可能性だってあって、製造メーカー側がどう実装してくるか…。まぁ、現物が届いて、あれこれ調べてみれば、糸口は見つかるだろう、多分。既存のroot取りツールがそのまま使えなくても、ちょっと細工すればOKな例は、今までにいくつもあったしね。

2) Android標準のマーケットはどうなっている?
  マーケット非搭載だとか公式には言っているようだが、実は、入っているとか、いないとか。これも、よく分からない。現物待ちだ。rootが取れれば、何とでもなる問題だけどね。

3) 充電環境について
  microUSB経由での充電になるそうだが、専用のケーブルでないと充電できないって情報が出ている。何か、特殊な細工でもされているのだろうか? 普通に、充電対応のケーブルで充電できそうな気はする(知っている人は知っているD+/-ショートなやつ)。手元にスイッチで通信用と充電用に切り替えられるケーブルもあるし、2A給電なUSB端子AC-DCアダプタもあるので、届いたら実験してみよう。

4) 愛用アプリ「Jota Text  Editor」と「nicoWinG」がちゃんと使えるか?
  Android 2.3.xで液晶が1280×800って、大丈夫なのか…。まぁ、どちらも、Android 3.xでは動いているので、問題はないと思うが、要確認。幸い、どちらの作者さんも、しっかりした要望なら受け入れて対応してくれるので、問題あったら、お願いモード突入かな。Jotaの方は、Xperia X10 mini proの頃からあれこれ要望をかなえてもらっているし、nicoWinGも、ハードキーのSHIFT+カーソル(←→↑↓)がアプリ側に通らない件、修正してもらえたし、優秀なソフトで柔軟な対応があるのって、本当に嬉しい。

5) Bluetoothな外付けキーボードが使えるか?
  HIDプロファイルが実装されていると、嬉しいんだけどなぁ。そうすれば、労せず外付けキーボードが使えるんだけど。ダメな場合は、BlueKeyboard JPを使うしかないかなぁ。これ、最近、更新が止まっていて、ちょっと微妙。Free版だと、自分の手持ちのキーボードでいくつか文字化けしちゃって、使いにくいんだよねぇ。お金払ってPro版試しても化けるようだと、お金の払い損になるので、Pro版は試したことないし…。

とりあえず、こんな所かなぁ。ところで、初回の出荷って、何台なんだぁ? 予約数は伸びているのか? 日本以外には売らないのか?

※2012/02/24 追記
Mobile In Styleから、出荷遅延のメールが来た。3月上旬の出荷になるそうだ。
ところで、発注はキングソフトオンラインショップで行ったのに、なぜ、Mobile In Style
側から出荷遅延の通知メールが来るんだ? たとえ子会社だとは言え、キングソフトが
Mobile In Style側にメールアドレスを渡したってことで、キングソフト側の
プライバシーポリシーの「個人情報の利用、提供」の「お客様の同意を得ることなく
第三者に提供・開示等をすることはありません」って部分に違反する行為。
ちょっと、問題あるかもよ。

Xperia pro(MK16i)へのClockworkModの導入2012/01/29 14:29

CWM(ClockWorkMod Recovery)は、Xperia単体で本体ソフトウエアのバックアップが
取れる便利なツールである。「Xperia CWM Auto-Instaler」(Andriodアプリ)が登
場して、CWMの導入が簡単に行えるようになったはずだが、これ、mini proでは使
えるが、proはサポート外と言われて使えない(本文を執筆時点で)。仕方ないので、
CWMを手動で導入することにする。

※注意事項
  以下、すべて自己責任で行うこと。端末が動作しなくなったり、何らかの動作不
  良となった場合でも、一切の保証は行わないので、そのことを了承した上で操作
  する事。
  Linuxのコマンドレベルでの操作となるので、Linuxの知識が無い場合は、事前に
  良く勉強しておく事。


1)CWMの入手
  以下のサイトから、CWMを入手する。

  [RECOVERY][14/11/11] 5.0.2.7-nAa-r2 ClockworkMod for Stock Xperia Mini/Pro/Active/Arc
    http://forum.xda-developers.com/showthread.php?t=1345741

  ここの
    Installation
    Download CWM from here and extract its contents.
  の所から、「CWM-5.0.2.7-nAa-r2.tar」をダウンロード。

  これを展開すると…
    system/bin/chargemon
               charger
               recovery.tar
           xbin/sh
  以上の4つのファイルが出てくる。
  これらを、microSDカードにコピーして、Xperia proに持っていく。以下、説明の
  都合で、4つのファイルともにmicroSDカードのルートフォルダーに入れたものと
  して説明する。

2)準備
  先ず、Xperia proは、事前に「root取り」を行っておく。やり方は、以下を参照
  の事(ブートローダーのアンロックは不要!)。

  [NEW][26/OCT/2011][ROOTING] Xperia 2011 Easy Rooting Toolkit [v1.0](zergRush Exploit)
    http://forum.xda-developers.com/showthread.php?t=1320350

  なお、本体のソフトウエアがビルド番号4.0.2.A.0.58まではこれでrootが取れる
  が、最新(2012/01/28時点)の4.0.2.A.0.62に上げてしまった場合はrootが取れな
  くなるので、要注意だ。上げてしまったら、ブートローダーのアンロックとかで
  rootを取るとか、自力で解決するしかないだろう。

  端末エミュレータもインストールしておくこと。マーケットから以下のアプリを
  インストールしておく。
    Android Terminal Emulator

3)CWMの導入
  Xperia proで、端末エミュレータを起動して以下のコマンドを実行する。なお、
  「$ 」や「# 」は、シェルが表示するプロンプトなので、入力しない事。

    $ su
    # mount -o remount,rw /dev/block/mtdblock0 /system
    # mv /system/bin/chargemon /system/bin/chargemon.org
    # cp /sdcard/chargemon /system/bin/chargemon
    # chmod 755 /system/bin/chargemon
    # chown root.shell /system/bin/chargemon
    # cp /sdcard/charger /system/bin/charger
    # chmod 755 /system/bin/charger
    # chown root.shell /system/bin/charger
    # cp /sdcard/recovery.tar /system/bin/recovery.tar
    # chmod 755 /system/bin/recovery.tar
    # chown root.root /system/bin/recovery.tar
    # mv /system/xbin/sh /system/xbin/sh.org
    # cp /sdcard/sh /system/xbin/sh
    # chmod 755 /system/xbin/sh
    # chown root.root /system/xbin/sh
    # reboot

  以上で、再起動して正常に立ち上がればCWMの導入は成功だ。立ち上がらないよ
  うなら、SEUSで再初期化して復旧させる等、自力で解決する事。

4)CWMの起動
  Xperia proの電源を切って、再起動する。「Sony Ericsson」のロゴが出ている
  間に、画面を何度かタッチする。そうすると、CWMのメニュー画面が表示される。
  CWMの使い方は、いろいろなサイトで解説されているので、それらを参考にする
  こと。
  なお、CWMの入手先(xda-developers)には、「ボリュームダウンのボタンを何度
  か押す」という記載があるが、それだと起動できなかった。


Xperia pro/mini proで日本語と絵文字のフォントを導入する2012/01/29 14:01

Xperia pro/mini proは、そのままでも日本語表示はできるが、漢字フォントのデ
ザインが中華圏のものとなっていて、日本人にはかなり違和感がある。ちゃんとし
た日本語の漢字フォントを導入してしまおう。ついでに、ケータイ絵文字のフォン
トも導入しておくと何かと便利。

この作業は、要rootedなので、事前にrootを取っておくこと。busyboxも必ず導入
しておくこと(busyboxは/system/xbinにリンクを展開しておくこと)。

主な作業は、Windows PCで行っているので、他の環境で行う場合は、独自に対応し
て欲しい。特定のフォントを使って説明しているが、他に好みのフォントがある場
合は、フォント名を読み替えて、同様にやってみると良いだろう。

※注意事項
  以下、すべて自己責任で行うこと。端末が動作しなくなったり、何らかの動作不
  良となった場合でも、一切の保証は行わないので、そのことを了承した上で操作
  する事。

※Xperia pro/mini proでは、DroidSansFallback.ttfにCJK(中華圏、日本、韓国)
  フォントが入っている。絵文字フォントを使うためにDroidSansFallback.ttfを
  絵文字フォントで入れ替えると、中華漢字やハングルが表示できなくなってしま
  う。絵文字フォントは、DroidSansJapanese.ttf側にマージした方が良い。以下、
  マージの手順も含めて説明する。

使用するフォント:
  以下の2つのフォントを使用する。
  (1) Migu 1M
    このフォントの特徴は…
    ・テキストエディタで利用しやすい「等幅フォント」である。
    ・半濁点(゜)を大きくしていて、濁点(゛)と判別しやすい。
    ・漢数字の「一」と長音記号「ー」の字形の差がしっかりしている。
  (2) 絵文字結合済みフォント Helvetica
    これは、絵文字入りフォント。アニメーションなしで白黒表示になるが、絵文
    字が表示できるので、ケータイ向けWebサイトの表示やケータイメールを受け
    た時等で便利。

フォントの入手先:
  (1) Migu 1M
    M+とIPAの合成フォント
      http://mix-mplus-ipa.sourceforge.jp/
    ここの「DOWNLOAD」より、以下の「Migu 1M」のZIPファイルをダウンロードす
    る。
      migu-1m-20111002.zip (2012/01/23現在の最新ファイル)
    これを展開して「migu-1m-regular.ttf」を取り出す。
  (2) 絵文字結合済みフォント Helvetica
    iPhoneにも絵文字を!
      http://cova.sakura.ne.jp/sb/
    ここの「絵文字結合済みフォント(emoji_font.zip)」をダウンロードする。
    これを展開して「Helvetica.ttf」を取り出す。

フォントマージツール:
  fontforge というツールを使用する。以下から入手してインストールしておく。
    http://www.geocities.jp/meir000/fontforge/

フォントのマージ:
  1)フォントファイルを開く
    fontforgeでHelvetica.ttfとmigu-1m-regular.ttfを開く。
    fontforgeを起動すると、「フォントを開く」の画面になるので、ファイルを
    選択してHelvetica.ttfを開く。
    続いて、[ファイル]→[開く]で、また「フォントを開く」の画面になるので、
    migu-1m-regular.ttfを開く。
    これで、2つのフォントが同時に開いた状態になる。
  2)フォントのサイズ調整
    それぞれのフォントの定義サイズが異なるので、そのままマージすると表示し
    た時に、絵文字のサイズだけ異常になる。両方のフォント情報を確認して、サ
    イズ調整を行う。フォント情報は、[エレメント]→[フォント情報]で確認でき
    る。ここの[一般情報]を見て、Helvetica.ttfのサイズをmigu-1m-regular.ttf
    に合わせて調整しよう。
    具体的には、Helvetica.ttfの[エレメント]→[フォント情報]で、[一般情報]
    を表示して、以下の項目を変更する。
      [高さ]        1638 →  860
      [深さ]         410 →  140
      [下線の位置]  -105 → -100
      [Height]       101 →   50
    以上の変更をしたら、[OK]で、フォント全体のグリフの変形(サイズ変更)が始
    まるので、終了するまで待つ。
  3)絵文字のグリフをmigu-1m-regular.ttfへコピー
    Helvetica.ttfの57345文字目(U+E001)から57434文字目(U+E05A)を選択してコ
    ピー(Ctrl+C)する。
    migu-1m-regular.ttfの57345文字目を選択して貼り付ける(Ctrl + V)。これで
    57434文字目(U+E05A)まで絵文字が入る。
    同様に、下記の範囲の絵文字をすべてコピーして貼り付ける。
        57345(U+E001) ~ 57434(U+E05A) (これは、上記の説明で示した領域)
        57601(U+E101) ~ 57690(U+E15A)
        57857(U+E201) ~ 57939(U+E253)
        58113(U+E301) ~ 58189(U+E34D)
        58369(U+E401) ~ 58444(U+E44C)
        58625(U+E501) ~ 58679(U+E537)
        58942(U+E63E) ~ 59223(U+E757)
        63743(U+F8FF)
     これで、絵文字のマージが終わったので、マージしたフォントをファイルに
     出力する。migu-1m-regular.ttf側で、[ファイル] → [フォントを出力]で
     フォントファイルの名前を「DroidSansJapanese.ttf」、フォントタイプは
     「TrueType」で[ビットマップフォント無し」として、「保存」する。警告メ
     ッセージやエラーメッセージが出るが気にせず続行して最終的に「保存」す
     れば良い。
     最後に、fontforgeを終了させる。[ファイル]→[終了]で、[保存しない]を
     選択して終了させる。
     以上で、絵文字がマージされたフォントファイルDroidSansJapanese.ttfが完
     成。

入れ替えの準備:
  以下の内容のファイルをテキストエディタで作成しておく(改行コードはLFのみ
  とすること)。
    ファイル名: cpfonts.sh
                     このファイルは、ここからダウンロードできるようにしておいた。
    内容: (行頭の#や$も意味があるので、略さず入れる事)
===
#!/system/bin/sh
bin=/system/bin
bbx=/system/xbin
$bin/mount -o remount,rw /dev/block/mtdblock0 /system
echo "-- Copy DroidSansJapanese.ttf."
$bbx/cp /sdcard/fonts/DroidSansJapanese.ttf /system/fonts/DroidSansJapanese.ttf
$bin/chmod 644 /system/fonts/DroidSansJapanese.ttf
$bin/chown root.root /system/fonts/DroidSansJapanese.ttf
if [ -e /system/fonts/DroidSansSemcCJK.ttf ]; then
  echo "** Rename DroidSansSemcCJK.ttf to DroidSansSemcCJK.ttf.sv."
  $bin/mv /system/fonts/DroidSansSemcCJK.ttf /system/fonts/DroidSansSemcCJK.ttf.sv
fi
# reboot
===
  端末側のmicroSDカードを取り出して、PC側に入れる。
  microSDカードに「fonts」フォルダーを作成する。
  以上で作成した2つのファイル「DroidSansJapanese.ttf、cpfonts.sh」を
  microSDカードのfontsフォルダーにコピーする。
  microSDカードをPCから取り出して、端末側に戻す。

  ※上記のcpfonts.shで、DroidSansSemcCJK.ttfをリネームしている。これは以下
    の理由からである。
    ・DroidSansSemcCJK.ttfには、DroidSansFallback.ttfに入っていない中華漢
      字がいくつか定義されている。これらの漢字は、かなり特殊な文字だと思わ
      れる。これらの中華漢字の一部が絵文字フォントのコードと重なっている。
    ・Xperia pro/mini proでは、フォントの参照順が、以下のようになっている
      らしい。
        DroidSans.ttf → DroidSansSemc.ttf、DroidSansSemcCJK.ttf
                       → DroidSansJapanese.ttf → DroidSansFallback.ttf
      この為、いくつかの絵文字は、同一コードの文字をDroidSansSemcCJK.ttf内
      で先に見つけてしまい、絵文字が表示されず変な漢字が出てきてしまう。
    ・絵文字をすべて正常に表示させるには、DroidSansSemcCJK.ttfが邪魔になる
      ので、リネームしてシステム側から参照されないようにする。
    ・リネームした弊害として、いくつかの特殊な中華漢字が表示されなくなるが
      通常のWebサイトの参照等で、問題になる事は非常にまれだと思われる。
      この辺が気になる場合は、DroidSansSemcCJK.ttfに収納されている中華漢字
      を直接調べてみて欲しい。

端末側での作業:
  事前に、端末エミュレーターのアプリをインストールして、必要な設定をしてお
  く事。端末エミュレーターとして使えるアプリには。以下のものがある。
    Android Terminal Emulator
    ConnectBot
  おすすめは、Terminal Emulator。最近、UTF8対応が完了したそうで、日本語の
  入力も表示もできるようになった。日本語表示の為にConnectBotを使っていた場
  合は、いい機会なので、Terminal Emulatorに乗り換えることをおすすめする。
  端末エミュレーターを起動後、以下のコマンドを実行(行頭の「$ 」や「# 」は
  プロンプトなので、それ以降を入力)。
===
$ su
# sh /sdcard/fonts/cpfonts.sh
# reboot
===
  端末が再起動するのを待って、作業終了。

表示確認:
  日本語フォントが正常に表示されるかは、たとえば「写」をテキストエディタで
  入力・表示してみれば良い。
  絵文字の確認は、標準のブラウザーでこの辺でも表示してみれば良いだろう。
    ドコモ絵文字 http://code.cside.com/i-mode/emojimode/
    ソフトバンク絵文字 http://code.cside.com/softbank/
  すべての絵文字が正しく表示されていれば、大成功だ。

絵文字の入力:
  テキストエディタやメール等で、絵文字を入力したい場合、nicoWnnG IMEが
  かなり便利だ。ハードキーボードからでも、「Sym」キーを何度か押すと絵文字
  一覧が出るので、そのまま入力すると良い。ただし、ドコモ絵文字かソフト
  バンク絵文字かは意識して使用する事。

※今回、フォントのマージに関して、以下のサイトを参考にさせてもらった。
    絵文字入り DroidSans.ttf と DroidSans-Bold.ttf
    http://kadrinche.la/2011/05/22/droidsans-ttf-with-smiley/