POBox 5.4はAndroid 4.1/JB 以上向けです。それ以下の端末では動作しません。(2.3/GB,2.2/CCなど)
ついでに言うと、POBoxがプリインストールの端末(Xperiaシリーズ)にも署名の関係でストレートにはインストール出来ません。残念ながらroot権限でシステムアプリとしてのJapaneseIME.apkとPOBoxSknSelector.apkを削除しておく必要がありますx(
※ただし、4.0/ICSはある手順を踏めば導入可能です。これに関しては、やや面倒なのでこの記事では扱いませんコメント欄にメモ程度にかいておきます。
※サイズ変更時のバグは解消されています。
前回、POBox 5.3をXperia以外の端末でも動くようにする。(root不要) この記事でPOBox5.3の導入を行った人は一部作業が重複するので適宜対処してください。(C:\Temp\POBoxを削除、一部作業を飛ばす等)
準備するもの(ツール編):
- やる気(結構大事。
- いろいろやる知識ちょこっと。
- ****Grepできるもの(ここではGrep and Replaceを使います。)
- テキストエディタ(TeraPadでもサクラエディタでもEmEditorでもUTF-8対応のものならおk。ただし、Grep and Replaceを使う場合は不要。)
- 展開ソフト(7-zipやWinRARなど。)
- apktool(android-apktool | Google Project Hosting)
- JarSigner
- zipalign(某所ではやり忘れてました;)
- JDK(英Oracle、パスの設定はここを参考にしてみてください。一応パックにはバッチを含めてあります。)
3,4,5,9については各自インストールしておいてください。
6,7,8については別途記事を書きます。たぶん。とりあえずパック(#2012/01/10 23:10更新)しておきました(Windows向け)。
パックの中には手順に含まれるものもあるので導入はほぼ必須です。
準備するもの(データ編):
- POBox5.4関係のファイル(POBox5.4_ZD_src.zip)
手順:
1.適当なフォルダを作成し、コマンドプロンプトで開く。
「Windowsキー+R」を押下しファイル名を指定して実行を開き「cmd」入力しOKをクリック。
すると
こんなんが出てくるので、
この4行をコピペして「Enter」を押すとこんな感じになると思います。
エクスプローラーで「C:\Temp\POBox」が開かれたはずなのでそこに先ほどダウンロードした、「APK-modding-tools.zip」と「POBox5.4_src.zip」を展開。
2.展開してlibを配置、文字列の置換
何も言わずにコマンドプロンプトに以下4行をコピペして「Enter」
その後、Grep and Replaceを開き
ファイルの名前に「*」、
含まれる文字列に「/system/lib/」、
探す場所に「C:\Temp\POBox\POBox54\lib\armeabi\」、
置換に「/data/data/com.sonyericsson.android.pobox/lib/」と入力します。
また、動作設定をクリックし、「保存時バックアップ作成」を無効化します。
次に、「検索」をクリックすると「置換」が押せるようになるので押します。
すると、このようになるので、「リストのファイルを一括置換」を選択。
「はい」を選択。
こんな感じのダイアログが3回出るので、それぞれ「はい」を選択。
左下の検索設定をクリックし、「サブフォルダも探す」にチェックを入れ有効化します。
その後、探す場所に「C:\Temp\POBox\POBox54\smali」を入れ再度検索、置換、リストのファイルを一括置換を選択します。(暫く時間がかかると思います。)
また、改行コードを修正するために次のコードをコマンドプロンプトにコピペし「Enter」
3.smaliの書き換え
・ソニーチェックの無効化
該当ファイル:
- OpenWnn.smali
- IWnnLanguageSwitcher.smali
- ControlPanelJaJp.smali
含まれる文字列に「Ljava/lang/String;->startsWith(Ljava/lang/String;)Z」を入力して検索。
その後、上記のファイル名をクリックするとウィンドウの右下に内容が表示されるため、赤い下線が引かれた行の引数(ひきすう)を一致させます。この際、どちらに合わせてもよいのですが、ここでは後ろの引数に合わせます。1つのファイルが終わり次のファイルを選ぶと保存確認が出るのでOKを選んでください。3つめが終わったあとは保存するためどれかファイル名をクリックしてください。
・50音キーボードと手書きの軌跡有効化
該当ファイル:
- POBoxConfig.smali
Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable50Letter(ZZ)V
Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnableHandwritingFading(ZZ)V
この2行には2つではなく3つの引数が含まれるので後半の2つを一致させてください。もちろん保存するため(略
たとえば、
これを
こう。
追記:タブレットモードがいやだという人向け。オプショナル。
Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable12Key(ZZ)V
Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnableResizable(ZZ)V
上記と同様に引数を一致させます。
・存在しないリソースへの参照を書き換え
該当ファイル、書き換え回数:
- IWnnImeJaJp.smali ×2
- SkinData.smali ×3
含まれる文字列で「0x206」を検索します。
IWnnImeJaJp.smaliの場合は、
この「invoke-virtual」から「move-result v6」までを次の1行に置き換えます。
このとき「move-result v6」の「v6」という引数と、置き換えたあと「const/16 v6, 0xffffffff」の「v6」という引数が一致することに注意してください。これを2ヶ所。
SkinData.smaliの場合は、
これを、次の1行に置き換えます。
先ほどと同じで、引数を一致させるように気をつけてください。3ヶ所。
・存在しないフォントの置き換え
該当ファイル:
- KeyboardView.smali
含まれる文字列に「Soma」、置換に「Roboto」と入力します。
「検索」、「置換」、「リストのファイルを一括置換」と進み「確認」「保存確認」に「はい」と答えます。
すると、計16カ所置換されます。
4.apkのビルド、署名
Grep and Replaceはこの段階になったら終了してください。
・apkのビルド
コマンドプロンプトに次のコマンドをコピペし「Enter」
・apkの署名
この作業はとても厄介なのでしっかりと確認してください。
コマンドプロンプトに次の行をコピペして「Enter」
すると、キーストアのパスワード、姓名、組織名、都市名、州名、国番号を問われるので答えていきます。答えを入力、「Enter」という流れです。
パスワード入力中は入力中の文字は表示されません。
必要になった際に使えるようにしておくためキーストアパスワードは忘れないでください。
国番号を答えたあと、 「[いいえ]:」とひょうじされるので「y」と入力し「Enter」
その次に再度「Enter」と押すと署名に必要なキーができあがります。
コマンドプロンプトに次の行をコピペして「Enter」
キーストアのパスワードを聞かれるので入力して「Enter」
次の行も同じです。
・apkの最適化(zipalign)
次の2行をコピペして「Enter」
5.インストール
さすがにここは書かなくてもいいかなと思ったのですが一応書いておきます。
ここまででapkの改変そのものは作業が終了しています。
改変済みなのとインストールした方がよいapkは
- POBox5.4_aligned.apk
- POBoxSknSelector_aligned.apk
- POBoxSknMono.apk
・提供元不明のアプリ
Android端末の設定を開きます。
セキュリティをタップし、提供元不明のアプリにチェックを入れます。すると警告が表示されるのでしっかりと読んだ上で「OK」をタップします。
<dd>
TabUIなので通常の表示とは違いますがこんな感じです。
</dd>
・インストール
adbが使える環境なら話は簡単で、端末をPCにつなぎ次の3行をコマンドプロンプトにコピペ、「Enter」で完了です。
問題はそういった環境がない場合です。
たとえばPCと端末をつなぎ、SDカード上に「apk」など適当なフォルダを作り、前述のapkを転送します。
そこに「ES ファイルエクスプローラー」などを使ってアクセスし、インストールしたいapkをタップすればインストール可能です。
・有効化
ほかのIMEを使ったことがある人は知っていると思いますが、POBoxもその例に外れず、インストールしただけでは使うことができません。
そこで何をすればよいかというと、先ほどのようにAndroidの設定を開きます。
言語と入力をタップし、POBox Touch (日本語)にチェックを入れます。ここでも注意が表示されるので納得の上で「OK」をタップしてください。
<dd>
IMEが多すぎる件にはあんまり突っ込まないでください…
</dd>
・テスト
無事に起動しましたか?50音キーボードの有効化はできていますか?手書きの軌跡は表示されていますか?
何事もなく成功した人はお疲れ様でした。
失敗してしまった人はトライアンドエラーを繰り返してみてください。それでもだめなら、分かる範囲、できる範囲で対応します。
・新機能
POBox5.4からタブレット向けのレイアウトとキーボードの表示サイズ調整機能が加わっています。
POBox5.4 タブレット向けレイアウト POBox5.4 新機能
6.最後に
ここまで読んでくれてありがとうございました。
初めて書いた記事なので至らない点など多々あると思いますが、なにとぞご容赦のほどを…
一応今回できたものPOBox5.4_ZD タブレットモード無効化版POBox5.4_notab_ZD
ICSかJBのXperia向け(動作未確認・非保証)バックアップの上で実行。POBox5.4_cwm_signed.zip
では。