1月 19, 2013 - 84 Comments - Android, Application, IME, Modding -

POBox 5.4をXperia以外の端末でも動くようにする。(root不要)

POBox 5.4で五十音キーボードと手書きの軌跡を有効化し、ソニーチェックを無効化した状態。

POBox 5.4で五十音キーボードと手書きの軌跡を有効化し、ソニーチェックを無効化した状態。

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を削除、一部作業を飛ばす等)

準備するもの(ツール編):

  1. やる気(結構大事。
  2. いろいろやる知識ちょこっと。
  3. Grepできるもの(ここではGrep and Replaceを使います。)
  4. テキストエディタ(TeraPadでもサクラエディタでもEmEditorでもUTF-8対応のものならおk。ただし、Grep and Replaceを使う場合は不要。)
  5. 展開ソフト(7-zipやWinRARなど。)
  6. apktool(android-apktool | Google Project Hosting)
  7. JarSigner
  8. zipalign(某所ではやり忘れてました;)
  9. JDK(英Oracle、パスの設定はここを参考にしてみてください。一応パックにはバッチを含めてあります。)

3,4,5,9については各自インストールしておいてください。

6,7,8については別途記事を書きます。たぶん。とりあえずパック(#2012/01/10 23:10更新)しておきました(Windows向け)。

パックの中には手順に含まれるものもあるので導入はほぼ必須です。

 

準備するもの(データ編):

  1. POBox5.4関係のファイル(POBox5.4_ZD_src.zip

 

手順:

1.適当なフォルダを作成し、コマンドプロンプトで開く。

適当なフォルダを今回はC:\Temp\POBoxとします。必要に応じて各自読み替えても結構です。

ついでにいろいろ展開。

コマンドプロンプトやGrep and Replaceなどは指示があるまで終了しないでください。

Windowsキー+R」を押下しファイル名を指定して実行を開き「cmd」入力しOKをクリック。

ファイル名を指定して実行

すると

コマンドプロンプト

こんなんが出てくるので、

mkdir C:\Temp\POBox
C:
cd C:\Temp\POBox
start .

この4行をコピペして「Enter」を押すとこんな感じになると思います。

コピペ後のコマンドプロンプト

エクスプローラーで「C:\Temp\POBox」が開かれたはずなのでそこに先ほどダウンロードした、「APK-modding-tools.zip」と「POBox5.4_src.zip」を展開。

aapt.exe apktool.bat apktool.jar JapaneseIME.apk lib POBoxSknMono.apk POBoxSknSelector.apk SemcGenericUxpResTJB.apk set_java.bat tr.exe zip.exe zipalign.exe

手順1の段階でのフォルダの中身

 

2.展開してlibを配置、文字列の置換

何も言わずにコマンドプロンプトに以下4行をコピペして「Enter

zip -d POBoxSknSelector.apk META-INF/*
apktool if SemcGenericUxpResZU.apk Sony_ZD
apktool d -b -r -t Sony_ZD JapaneseIME.apk POBox54
xcopy C:\Temp\POBox\lib C:\Temp\POBox\POBox54\lib\armeabi\

その後、Grep and Replaceを開き

ファイルの名前に「*」、

含まれる文字列に「/system/lib/」、

探す場所に「C:\Temp\POBox\POBox54\lib\armeabi\」、

置換に「/data/data/com.sonyericsson.android.pobox/lib/」と入力します。

また、動作設定をクリックし、「保存時バックアップ作成」を無効化します。

Grep and Replace

入力が終わった状態

次に、「検索」をクリックすると「置換」が押せるようになるので押します。

Grep and Replace2

 

すると、このようになるので、「リストのファイルを一括置換」を選択。

Grep and Replace - 確認

 

「はい」を選択。

Grep and Replace - 保存確認

 

こんな感じのダイアログが3回出るので、それぞれ「はい」を選択。

 

左下の検索設定をクリックし、「サブフォルダも探す」にチェックを入れ有効化します。

その後、探す場所に「C:\Temp\POBox\POBox54\smali」を入れ再度検索、置換、リストのファイルを一括置換を選択します。(暫く時間がかかると思います。)

また、改行コードを修正するために次のコードをコマンドプロンプトにコピペし「Enter

set libPath=C:\Temp\POBox\POBox54\lib\armeabi
tr -dIO \r < %libPath%\lib_dic_en_USUK.conf.so > %libPath%\lib_dic_en_USUK.conf.tmp
tr -dIO \r < %libPath%\lib_dic_ja_JP.conf.so > %libPath%\lib_dic_ja_JP.conf.tmp
tr -dIO \r < %libPath%\lib_dic_morphem_ja_JP.conf.so > %libPath%\lib_dic_morphem_ja_JP.conf.tmp
move /y %libPath%\lib_dic_en_USUK.conf.tmp %libPath%\lib_dic_en_USUK.conf.so
move /y %libPath%\lib_dic_ja_JP.conf.tmp %libPath%\lib_dic_ja_JP.conf.so
move /y %libPath%\lib_dic_morphem_ja_JP.conf.tmp %libPath%\lib_dic_morphem_ja_JP.conf.so

 

3.smaliの書き換え

ここでもGrep and Replaceを使います。

探す場所に「C:\Temp\POBox\POBox54\smali」と入力しておいてください。

引数はやるたびに違うので参考程度にとどめてください。

・ソニーチェックの無効化

該当ファイル:

  • OpenWnn.smali
  • IWnnLanguageSwitcher.smali
  • ControlPanelJaJp.smali

含まれる文字列に「Ljava/lang/String;->startsWith(Ljava/lang/String;)Z」を入力して検索。

その後、上記のファイル名をクリックするとウィンドウの右下に内容が表示されるため、赤い下線が引かれた行の引数(ひきすう)を一致させます。この際、どちらに合わせてもよいのですが、ここでは後ろの引数に合わせます。1つのファイルが終わり次のファイルを選ぶと保存確認が出るのでOKを選んでください。3つめが終わったあとは保存するためどれかファイル名をクリックしてください。

Grep and Replace

画像は使い回しなので、フォルダ名などは読み替えてください。

 

・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つを一致させてください。もちろん保存するため(略

たとえば、

    invoke-virtual {v1, v0, v2}, Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable50Letter(ZZ)V

これを

    invoke-virtual {v1, v2, v2}, Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable50Letter(ZZ)V

こう。

追記:タブレットモードがいやだという人向け。オプショナル。

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 {p0}, Lcom/sonyericsson/android/pobox/core/IWnnImeJaJp;->getResources()Landroid/content/res/Resources;

    move-result-object v6

    const/high16 v7, 0x206

    invoke-virtual {v6, v7}, Landroid/content/res/Resources;->getColor(I)I

    move-result v6

この「invoke-virtual」から「move-result v6」までを次の1行に置き換えます。

    const/16 v6, 0xffffffff

このとき「move-result v6」の「v6」という引数と、置き換えたあと「const/16 v6, 0xffffffff」の「v6」という引数が一致することに注意してください。これを2ヶ所。

Grep and Replace - 書き換え

 

SkinData.smaliの場合は、

    const/high16 v2, 0x206

    invoke-virtual {p1, v2}, Landroid/content/res/Resources;->getColor(I)I

    move-result v0

これを、次の1行に置き換えます。

    const/16 v0, 0xffffffff

先ほどと同じで、引数を一致させるように気をつけてください。3ヶ所。

 

・存在しないフォントの置き換え

該当ファイル:

  • KeyboardView.smali

含まれる文字列に「Soma」、置換に「Roboto」と入力します。

「検索」、「置換」、「リストのファイルを一括置換」と進み「確認」「保存確認」に「はい」と答えます。

すると、計16カ所置換されます。

 

 4.apkのビルド、署名

Grep and Replaceはこの段階になったら終了してください。

・apkのビルド

コマンドプロンプトに次のコマンドをコピペし「Enter

apktool b POBox54 POBox5.4.apk

 ・apkの署名

この作業はとても厄介なのでしっかりと確認してください。

コマンドプロンプトに次の行をコピペして「Enter

keytool -genkey -v -sigalg SHA1withRSA -keyalg RSA -keystore test.keystore -alias testkey -validity 10000

すると、キーストアのパスワード、姓名、組織名、都市名、州名、国番号を問われるので答えていきます。答えを入力、「Enter」という流れです。

パスワード入力中は入力中の文字は表示されません。

必要になった際に使えるようにしておくためキーストアパスワードは忘れないでください。

国番号を答えたあと、 「[いいえ]:」とひょうじされるので「y」と入力し「Enter

その次に再度「Enter」と押すと署名に必要なキーができあがります。

 

コマンドプロンプトに次の行をコピペして「Enter

jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore -verbose POBox5.4.apk testkey

キーストアのパスワードを聞かれるので入力して「Enter

 

次の行も同じです。

jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore -verbose POBoxSknSelector.apk testkey

 

・apkの最適化(zipalign)

次の2行をコピペして「Enter

zipalign -v 4 POBox5.4.apk POBox5.4_aligned.apk
zipalign -v 4 POBoxSknSelector.apk POBoxSknSelector_aligned.apk

 

 5.インストール

さすがにここは書かなくてもいいかなと思ったのですが一応書いておきます。

ここまででapkの改変そのものは作業が終了しています。

改変済みなのとインストールした方がよいapkは

  • POBox5.4_aligned.apk
  • POBoxSknSelector_aligned.apk
  • POBoxSknMono.apk

 

・提供元不明のアプリ

Android端末の設定を開きます。

セキュリティをタップし、提供元不明のアプリにチェックを入れます。すると警告が表示されるのでしっかりと読んだ上で「OK」をタップします。

提供元不明のアプリ
TabUIなので通常の表示とは違いますがこんな感じです。

 

・インストール

adbが使える環境なら話は簡単で、端末をPCにつなぎ次の3行をコマンドプロンプトにコピペ、「Enter」で完了です。

adb install POBoxSknSelector_aligned.apk
adb install POBoxSknMono.apk
adb install POBox5.4_aligned.apk

問題はそういった環境がない場合です。

たとえばPCと端末をつなぎ、SDカード上に「apk」など適当なフォルダを作り、前述のapkを転送します。

そこに「ES ファイルエクスプローラー」などを使ってアクセスし、インストールしたいapkをタップすればインストール可能です。

 

・有効化

ほかのIMEを使ったことがある人は知っていると思いますが、POBoxもその例に外れず、インストールしただけでは使うことができません。

そこで何をすればよいかというと、先ほどのようにAndroidの設定を開きます。

言語と入力をタップし、POBox Touch (日本語)にチェックを入れます。ここでも注意が表示されるので納得の上で「OK」をタップしてください。

言語と入力
IMEが多すぎる件にはあんまり突っ込まないでください…

 

 ・テスト

無事に起動しましたか?50音キーボードの有効化はできていますか?手書きの軌跡は表示されていますか?

何事もなく成功した人はお疲れ様でした。

失敗してしまった人はトライアンドエラーを繰り返してみてください。それでもだめなら、分かる範囲、できる範囲で対応します。

 

 ・新機能

POBox5.4からタブレット向けのレイアウトとキーボードの表示サイズ調整機能が加わっています。

POBox5.4 タブレット向けレイアウト

POBox5.4 タブレット向けレイアウト

POBox5.4 新機能

POBox5.4 新機能

 

6.最後に

ここまで読んでくれてありがとうございました。

初めて書いた記事なので至らない点など多々あると思いますが、なにとぞご容赦のほどを…

Twitter – @watiko

 

 

 

一応今回できたものPOBox5.4_ZD
タブレットモード無効化版POBox5.4_notab_ZD

ICSかJBのXperia向け(動作未確認・非保証)バックアップの上で実行。POBox5.4_cwm_signed.zip

では。

POBox 5.4をXperia以外の端末でも動くようにする。(root不要) への84件のフィードバック

  1. watiko
    apktool d -t Sony_TJB JapaneseIME.apk POBox54_test

    こんな形でデコードし、POBox54_test内にあるapktool.ymlのminSdkVersionを14にしてビルド、作成されたapk内から改変されたAndroidManifest.xmlを取り出し、それを本文でビルドしたapk内の同名ファイルに上書き、後は普段通り署名と最適化を行えばICSに関しては導入、動作可能です。
    HoneyCombについてはAVDを用意していないので未検証です。GBは動作不可でした。

    19 1月 2013 - Reply
  2. marty

    先ほどはすみませんでした。
    ブラウザのプラグインでAutoPatchWorkというのを使っていて、それで違う所に書き込んでいたみたいです。

    タブレットでの件ですが、スクリーンショットと比べると、
    上の画像(横画面)では50音キーボードが表示されていないようですが、こちらにはあります。
    下の画像(縦画面)だとこちらでは順番に、設定、プラグイン、半角全角切り替え、キーボードを隠す、qwertyキーボード、50音キーボードしか表示されていません。

    キーボードの大きさを変えたり手書きであったりテンキー等無いんですよね・・・。
    元々ソニー製端末向けなのでちゃんと動かなくても不思議は無いのかもしれませんが。

    21 1月 2013 - Reply
    • watiko

      テンキーが表示されない状況というのは、タブレット使用時以外思いつかず、
      削除してから再度インストール程度の事しか言えません;
      申し訳ありません。
      (もしかすると私が確認していないレイアウトの可能性もありますが、可能性は殆ど零です。)

      私の場合、
      GalaxyNexusでは縦はSS(下)の通り、横はそこからサイズを変えるキーがなくなります(記事冒頭のSS)。
      Nexus7では縦横ともにSS(上)の通りです。

      21 1月 2013 -
  3. marty

    元々ATOKを使っていて、タブレットではそちらが使えるので、スマホの方が不具合なく使えれば満足です。
    ありがとうございました。

    21 1月 2013 - Reply
  4. Pon

    いつもありがとうございます。POBox5.4無事成功しました。使えてます。

    存在しないリソースへの参照を書き換えのIWnnImeJaJp.smaliところ
    『この「invoke-direct」から「move-result v5」までを次の1行に置き換えます。』
    directじゃなく、virtualじゃないですかね?
    いつもこういうの書いちゃってごめんなさい。

    22 1月 2013 - Reply
    • watiko

      いえ、指摘してもらうことで記述が正確になるのでありがたいです。
      当然ですが、間違っていると混乱の元なのです。
      自分ではしっかりと書いたつもりでも間違っているというのは往々にしてあるので。

      22 1月 2013 -
  5. aki

    ありがとうございます!
    packages.xml内のpobox関係を全て削除。
    JapaneseIME.apkとPOBoxSknSelector.apkを削除。
    その後POBox5.4_cwm_signed.zipをxperiaSXに導入成功しました。
    今のところ問題なく動いてるようです。

    常用してみます!
    ありがとうございます!

    26 1月 2013 - Reply
    • watiko

      補足です。
      cwmから導入するのであれば、上書きされてしまうので削除する必要はないです。
      紛らわしい記述をしてしまって申し訳ないです。

      packages.xmlに関しては、不整合が生じた際よしなにしてくれた気がするのですが駄目でしょうか。
      実機がないので確認できかねるのですが。

      26 1月 2013 -
  6. Goo

    POBox5.4を使用したいと思っていたところ、この記事を発見しました。

    インストールして使用したところ、不具合らしき現象がありました。
    この記事の一番最後にある改変済みのapkファイルを3つインストールしたところ、
    POBox5.4が使用できるようになりました。タブレットモード有の方です。
    しかし、キーボードサイズ調整でキーボード(テンキー)のサイズを小さくし、
    縦持ちで画面右端にキーボードを寄せてフリック入力をしようとしたところ、
    フリックの挙動がおかしくなります。
    ちなみに、キーボードを左端に寄せると問題なく使用できます。
    おそらく、キーボードを右端に寄せた場合もキーボードが左端に寄せてあると
    認識されているようです。

    この現象は他の端末では確認されませんでしょうか?
    私の端末はSC-02E(GalaxyNote2)です。よろしければ、確認をお願いします。

    30 1月 2013 - Reply
    • watiko

      同様の現象は他の端末でも発生します。

      XperiaZやXperiaT(JB)など、POBox5.4を搭載している端末で同様の現象が発生するのかは未確認です。
      発生しないのであれば、原因を探ろうかとも思うのですがなかなか機会もないのでとりあえずは仕様と言うことで放置しています。

      30 1月 2013 -
    • taiyo

      gooさんと同じ症状を確認しました。
      以下の状態だとフリック入力をしようとしたときに挙動がおかしくうまく文字入力ができませんでした。サイズを変えない場合と左端に寄せた場合はうまく入力できます。私の機種はhtc j butterflyです。

      ///////////////////////////////////////////////////////////
      キーボードサイズ調整でキーボード(テンキー)のサイズを小さくし、
      縦持ちで画面右端にキーボードを寄せてフリック入力をしようとしたところ、
      フリックの挙動がおかしくなります。
      ちなみに、キーボードを左端に寄せると問題なく使用できます。
      おそらく、キーボードを右端に寄せた場合もキーボードが左端に寄せてあると
      認識されているようです。
      ///////////////////////////////////////////////////////////

      11 2月 2013 -
  7. Goo

    再び失礼します。

    本日、家電量販店でXperia Zのデモ機を触って不具合の有無を確認しました。
    キーボードサイズを小さくして右端に寄せてフリック入力したところ、
    特に不具合なく操作することができました。
    つまり、POBox 5.4そのものの不具合ではないと思われます。
    もしお時間がありましたら、ご確認をよろしくお願いします。

    31 1月 2013 - Reply
    • ppp

      SO-02Eから抽出ベースだときちんと動いてますので
      ベースapkの問題かと

      16 2月 2013 -
  8. itio

    一応報告です。
    XPERIA acro HD SO-03D(ics4.0.4)にて
    POBox5.4_cwm_signed.zipは
    エラー(status 0)と出てインストールできませんでした。

    31 1月 2013 - Reply
    • watiko

      /sbin/busyboxがないとエラーが出ると思います。
      他の原因である可能性も否めないですが。

      3 2月 2013 -
  9. TU

    移植ご苦労さまです。
    POBox5.4が早速移植されているとのことで挑戦してみました。

    環境
    Nexus7 Wifi 32GB
    Android OS 4.2.1

    結果的には、インストールは成功したのですがうまくいっていない箇所が・・・。
    スクリーンショットを撮りましたので、ご報告致します。

    ・1枚目:ttp://i.imgur.com/AFSMcC7.png
    インストール直後のスクショです。
    ・2枚目:ttp://i.imgur.com/jize8tL.png
    入力をフルキーボードに変更し、再度メニューを開いた状態です。
    ・3枚目:ttp://i.imgur.com/x0ry6eI.png
    2枚目の状態から横画面に変更した状態です。

    1枚目時にはフリック入力が出来るのに、2枚目時には選択出来なくなっています。
    そして、3枚目時にもそれは変わらず。
    並びに全スクショでも分かる通り、表示サイズ調整機能が機能していません。

    うーん、watiko様が同じく公開されたPOBox5.3は、Nexus7は勿論の事
    GalaxySIIやArrowsで普通に不具合無く大活躍中なのですが、一体何が・・・?

    こちらでもいろいろと試行錯誤してみますが、当面の間は今までどおり5.3で使用させて頂きます。

    2 2月 2013 - Reply
    • watiko

      すみません、タブレットモードの無効化は処理をあまり確認せずに無理矢理無効化しているので此方でもなにが原因か分かりません。
      しかし、此方の環境(Nexus7 16GB,Paranoid 2.99 JAN31)では問題なく「12キー、qwerty、五十音、手書き」加えてサイズ調整も表示されています。

      記事中の手順ミス或いは記載ミスの可能性がありますが、時間が取れないのでご容赦ください。

      3 2月 2013 -
  10. XperiaにおけるAndroidアプリ考察 » 【GX】Xperia Z標準の日本語入力システムをGXに入れてみる(要root)

    […] POBox 5.4をXperia以外の端末でも動くようにする。(root不要)から1のやる気と2のちょっとした知識に追加して6~8のツール(パックされたものを利用すると便利) […]

    3 2月 2013 - Reply
  11. taiyo

    POBox5.4_aligned.apk が生成されませんでした。
    どこがまずかったのか???

    ご指導お願いいたします。

    6 2月 2013 - Reply
    • watiko

      zipalignが出来ないということでしょうか?
      エラーに関しての記載がないため想像になりますが、
      そもそもapkファイルがビルドできていない可能性があります。

      6 2月 2013 -
    • taiyo

      *.*apkの中にPOBox5.4_aligned.apkはなく、JapaneseIME.apkがあります。

      jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore -verbose POBox5.4.apk testkey

      のenter後に

      jareiigner:次のjarファイルを開くことができません。pobox5.4.apk

      と出ています。
      そ例外のエラーメッセージは見当たりません。

      6 2月 2013 -
    • watiko

      やはりapktoolでのビルドができていないようです。

      apktool b POBox54 POBox5.4.apk

      実行時に何らかのエラーが出ていると思うので、そのエラーに従って該当箇所を修正すればjarsignerでの署名、zipalignでの最適化が可能になると思います。

      6 2月 2013 -
    • taiyo

      以下のエラーも見つけました。

      [266,17]Error for input ‘?’: invalid text
      [266,18]Error for input ‘?’: invalid text
      [317,17]Error for input ‘?’: invalid text
      [317,18]Error for input ‘?’: invalid text
      [414,17]Error for input ‘?’: invalid text
      [414,18]Error for input ‘?’: invalid text

      と出ています。これはどのをどう直せばいいでしょうか?

      7 2月 2013 -
    • watiko

      [行番号,行頭からの文字数]の文字が間違っています。

      smaliで実行した場合はエラーの前に該当ファイルのパスが出力されるので、
      ファイルに心当たりがなければ、このページから最新のsmaliをダウンロードして、「C:\Temp\POBox」フォルダに配置します。
      その後、次のコードを実行すればファイルのパス付でエラーを見ることができます。(ただし、バージョン番号は現時点の最新版に合わせてあわせてあります。)

      java -jar smali-1.4.1.jar -o test.dex POBox54
      

      エラー確認後、その箇所を修正してから再度apktoolでのビルドを試みてください。
      間違っている文字の例としては半角が全角になっているなどが考えられます。

      7 2月 2013 -
  12. taiyo

    zipalign -v 4 POBox5.4.apk POBox5.4_aligned.apk

    enterで

    unable to open ‘POBox5.4.apk’ as zip archive

    というメッセージも出ています。作成できていないようです。

    6 2月 2013 - Reply
    • taiyo

      いろいろありがとうございました。

      結局、ご指示どおり確認していきなんとか解決いたしました。

      タブレットモードがいやだという人向け。オプショナル

      が問題だったようで、この追加行を削除しました

      10 2月 2013 -
  13. banyu

    タブレットモード無効化版 頂戴し、導入できました。
    Xperia GX(root取得済み)ありがとうございました。

    端末側 既存POBOX関係削除、packages.xml 編集、dalvik cache 削除 の後、
    コマンド ライン(adb install) で うまくいきました。

    苦労したので(笑)
    お礼がてら、報告させていた頂きます。

    28 2月 2013 - Reply
  14. Ken G

    設定にモード別キーボード保持と言う欄がありません。
    解決方法はあるのでしょうか?

    28 2月 2013 - Reply
    • watiko

      タブレットでの話でしょうか。(こういった技術的な話の場合は環境を明記するのが親切です)

      おそらく表示させることは可能でしょう。
      ただ個人的にはPOBoxを使用しておらず優先度が低い上に時間がととれないためToDoということになっています。

      ヒントとしては手書きの軌跡、50音キーボードの有効化のあたりと同じようなことをすれば表示できると思います。

      28 2月 2013 -
    • Ken G

      スマートフォン(SC-02E)です

      ありがとうございました

      28 2月 2013 -
  15. haku

    ※サイズ変更時のバグは解消されています。
    これは、どういうバグだったのでしょうか?
    当方、サイズ変更後もサイズ変更前の感度で作動してしまう誤動作に悩まされて、このブログにたどり着いたもので…

    8 3月 2013 - Reply
    • watiko

      バグについて詳細を調べたわけではないのですが、元々XperiaTのJBアップデートファイルがリークされ、それに含まれていたPOBox5.4にはあったバグです。
      具体的には、フリック入力の際タップした場所の検出にサイズ変更が考慮されず(推測)、うまく入力できないというものです。
      現象としては、非常に似ていますね。全く同一のものかはわかりませんが。

      解消されているという記述は、XperiaZに含まれているPOBox5.4ではという意味です。
      ただ、実際に実機で正常動作をするのを確認したわけではないので悪しからず。

      8 3月 2013 -
    • haku

      さっそくの返信ありがとうございます。
      まさしくその現象です。
      しかも、生じているのはグローバル版のxperiaZなんです。
      versionも5.4なんですが、修正はされてないみたいですね。
      もしよろしければ、バグ関連について記載のあったフォーラム等教えていただけませんか?

      9 3月 2013 -
    • watiko

      補足:上記のXperiaZというのはDOCOMO版です。

      このバグについてはどこかに記載があったわけではなく実際に体験したものです。(何度も言うようですが実機ではないです。)
      ですので、特に伝えることができるような情報は持ち合わせていません。申し訳ありません。

      ただ、グローバル版は国内向けのものと違うので同じメジャーナンバー(5.4)でも実際にインストールされているものが違うと言うことが考えられます。
      (アプリではなくDLL(拡張子so)が違うと言うことも考えられますが。)

      9 3月 2013 -
    • haku

      ご丁寧にありがとうございました。
      日本版では修正していても、グローバル版では修正していなかった可能性もあるということですね…
      解決方法がアップデートを待つぐらいしか思いつきませんので、気長に待ってみます。
      失礼いたしました。

      9 3月 2013 -
  16. Yuu

    全くの初心者です。スマホへのインストールまではいったのですが、「問題が発生したため、PoBox Touchを終了します。」と出てきてしまうので、つまらないことだとは思いますが、対処方法を教えてください。

    ①最初のころにある、「エクスプローラーで「C:\Temp\POBox」が開かれたはずなのでそこに先ほどダウンロードした、「APK-modding-tools.zip」と「POBox5.4_src.zip」を展開。」の中にある図ですが、「JapaneseIME.apk」~「SemcGenericUxpResTJB.apk」の前の絵(リンク先?)はアンドロイドのマーク?と
    なっていますが、私のは「e(インターネットエクスプローラー)」になっています。何かおかしいですか?また、おかしいとしたら、どのようにすれば直りますか?

    ②「2.展開してlibを配置、文字列の置換」の「最初の4行おコピペし「Enter」のところで、「apktool if SemcGenericUxpResTJB.apk Sony_ZD」の後に下記が出ます。何か間違っているのでしょうか?。

    Exception in thread “main” brut.androlib.androlib Except:java.io.FileNot Found
    Exception:SemcGenericUxpResTJB.apk(指定されたファイルが見つかりません)
     at.brut.androrib.res.androlibResources.installFlamework(AndrolibResources.java:576)
    at.brut.androrib.installFlamework(Androlib.java:497)
    at.brut.apktool.Main cmdInstallFlamework(Main.java:228)
    at.brut.apktool.Main.main(Main.java:76)
    Caused by:java.io.FileNotFoundEXception:SemcGenericUxpResTJB.apk(指定されたファイルが見つかりません)
    at java.util.zip.ZipFile.open(Native.Method)
    at java.util.zip.ZipFile.(Unknown Source)
    at java.util.zip.ZipFile.(Unknown Source)
    at java.util.zip.ZipFile.(Unknown Source)
    at.brut.androrib.res.androlibResources.installFlamework(AndrolibResources.java:544)
    …3more

    3.「改変済みなのとインストールした方がよいapkは
    •POBox5.4_aligned.apk
    •POBoxSknSelector_aligned.apk
    •POBoxSknMono.apk」
    この3つのapkだけをSDカードに入れればよいのですか?

    以上、長々となりましたが、教えてください。

    15 3月 2013 - Reply
    • watiko

      ①:恐らくファイルのダウンロードに失敗しています。再度ダウンロードする必要があります。
      ダウンロードに成功している場合はInternetExplorerのアイコンではなくOSで.zipに関連づけされているアイコンが表示されるはずです。
      (あるいは、右クリック>プロパティから見ると一目瞭然ですが。)
      ※因みに、記事中のファイル一覧でBugdroid(ドロイド君)のアイコンが表示されているのは.apkにそのように関連づけしたからです。標準では違います。

      ②:①でダウンロードに失敗しているのが原因です。

      ③:そうです。最低限その3つのファイルがあれば正常に動作する筈です。
      ただ、ダウンロードからきちんとやり直す必要があります。

      16 3月 2013 -
    • Yuu

      返信ありがとうございます。

      OSで.zipに関連づけされているアイコンとは何ですか?何度かダウンロードをやり直しているのですが、毎回インターネットエクスプローラーに関連付けられてしまいます。右クリックで開いて、別のものに関連付けようとしても、どれと関連づけて良いか分かりません。初歩的なことで申し訳ありませんが、教えてください。

      16 3月 2013 -
    • watiko

      関連づけ云々はあまり気にしないでください。本筋とは関係がありません。

      ダウンロードの仕方が間違っているか、なぜか使用しているブラウザではファイルが正常にダウンロードできない等が考えられますが、ケースバイケースですのでこの場所で詳しく説明するのは少々厳しいです。
      例えば、ダウンロードする際は素直にリンクを開きDownloadを左クリック、その後ダウンロードできたファイルを移動する。などetc…

      16 3月 2013 -
    • Yuu

      ありがとうございました。なんとか成功しました。

      17 3月 2013 -
  17. すあま

    こんにちは。5.3の時より使わさせて頂いております。
    5.4で、バグが解消されたあとのものは、サイズ変更時にキャンセルした時に
    でる確認のウィンドウの位置が画面上部にはみ出てしまいます。
    当方の環境はSC-06DのCM10.1です。
    バグが解消される前のものは正常な位置に表示されました。

    29 3月 2013 - Reply
    • watiko

      その現象は確認していますが、サイズ調整の枠を動かすことができるので現状何かをしようとは考えていません。
      もしかすると解消できるのかもしれませんが、ひとまず上記の通りだと思ってください。

      29 3月 2013 -
    • すあま

      ご返信ありがとうございます。わかりました。

      30 3月 2013 -
  18. shia

    自分もこのサイトを参考にPOBoxをGalaxy Note2(SC-02E)へインストールしました。
    設定画面まで開け、文字入力しようとするとIMEの部分が真っ黒でしばらくして
    「POBox Touchは停止しました。」と表示します。
    Yuuさんの②と同じメッセージが表示していますが実際は出ないものでしょうか?

    1 4月 2013 - Reply
  19. shia

    再度読み返し、何度か作り直してなんとかインストールして動作を確認できました。

    > 1.POBox5.4関係のファイル(POBox5.4_ZD_src.zip)
    を展開して、2.展開してlibを配置、文字列の置換にて
    > apktool if SemcGenericUxpResTJB.apk Sony_ZD
    の部分の「SemcGenericUxpResTJB.apk」ではなく「SemcGenericUxpResZD.apk」でした。

    >追記:タブレットモードがいやだという人向け。オプショナル。
    いやだというのがよくわからなかったですw
    オプショナルだからそのままでもいいのかな・・・

    >存在しないリソースへの参照を書き換え
    この部分でわかりにくかったです・・・
    >IWnnImeJaJp.smaliの場合は、
    「move-result v6」の「v6]と「const/16 v6, 0xffffffff」の「v6]を同じにすればいいですね。
    「invoke-virtual {p0}, ~ move-result v6」の部分を2箇所書き換え。
    2つ目は「v5]
    >SkinData.smaliの場合は、
    こちらも同様で
    「move-result v0」の「v0]と「const/16 v0, 0xffffffff」の「v0]を同じにすればいいですね。
    「const/high16 ~ move-result v0」の部分を3箇所書き換え。
    3つ目が「v1」

    1 4月 2013 - Reply
    • watiko

      なんと、かなり最初の方に修正忘れがあったとは…
      修正しておきました。そこで躓いてしまった人多そうですね…
      (Yuuさんとかエラーログ見ると完全にこのせいですねすみません…)

      表現が分かりにくいものに関しては同感です。
      とはいえ、この記事の目的の一つは参考手順を示して最終的には独力でこのような作業をできるようになってもらうことです。
      (そのためにどチェックをしている場所、リソースを読み込んでいる場所、そのリソースの元値などの解析方法なども知る必要がありますが)
      ですので、全てを丸写しではなくある程度応用が利くような書き方を目指しています。(コピペで新記事作成を容易にするためというのもありますw)

      まあ、独りよがりな感は否めませんがこの記事を読んで一人でも自分で移植をやってみようという気持ちをもってもらえたなら幸いです。
      (あまり期待はしていませんがこのIMEのは○ば○を検討してほしいというのもあります。)

      1 4月 2013 -
  20. tawa

    「・apkの署名」で
    keytool -genkey -v -sigalg SHA1withRSA -keyalg RSA -keystore test.keystore -alias testkey -validity 10000
    を入力すると
    ‘keytool’ は、内部コマンドまたは外部コマンド、
    操作可能なプログラムまたはバッチ ファイルとして認識されていません。
    となってしまいます。

    あまり詳しくないので、教えていただけると助かります。

    23 4月 2013 - Reply
    • watiko

      遅くなりました。

      コマンドプロンプト(cmd.exe)上でkeytoolを実行するためにはプロンプトで開いているフォルダ(カレントディレクトリ,cd)にkeytoolがあるか、
      システム(Windows)に対してkeytool.exeの位置が設定されている必要があります。(環境変数)
      ※当然ですが、keytoolはJavaの機能の一部なのであらかじめJavaを導入しておく必要もあります。
      ですので、ここを参考に設定してみてください。

      また、この手順では環境変数をバッチファイル(set_java.bat)で有効にできるようにパックの中に含めてあります。
      説明がないので誰も使ってないという説もありますが…
      一応使い方を載せておくと、

      C:\Temp\POBox\set_java.bat

      これをコマンドプロンプトで実行すればいいはずです。
      まあこれに関しては十分なデバッグを行っていないので予期せぬ不具合が存在するかもしれませんので、前述の環境変数の手動設定を行ってください。

      あと決め打ちで%systemdrive%\Program Files\Java\とかやってるのであまりよろしくない感じです。

      28 4月 2013 -
    • tawa

      ありがとうございました。これからP-02Eで利用してみます。

      1 5月 2013 -
  21. Xperia arc CM10+LuPuS 導入方法 | 暇魂 -HiMA TAMA-

    […] せん。 Xperia以外で使用出来るPoBoxを用意する必要があります。 ≫POBox 5.4をXperia以外の端末でも動くようにする。(root不要) 上記記事の文末にある『POBox5.4_ZD.zip』もしくは『POBox5.4_notab_ZD.zip […]

    28 4月 2013 - Reply
  22. ななし

    POBox Touch 6.1に同じ方法を試したところ、移植できました。
    LT26wでですが、CM10.1で動作したのでたぶん。
    ICS対応もSO-01Eで動作しているのでたぶん。

    26 5月 2013 - Reply
    • watiko

      報告ありがとうございます。

      手元に6.1がないので試せていませんでした。

      26 5月 2013 -
    • ななし

      元ファイルなかなかありませんね。
      色々うるさくなったので当然かもしれませんが・・・

      自分で調べろって話なのですが、keytoolで生成する鍵は
      keytool -genkey -v -sigalg SHA1withRSA -keyalg RSA -keystore test.keystore -alias testkey -validity 10000

      keytool -genkey -v -sigalg MD5withRSA -keyalg RSA -keystore test.keystore -alias testkey -validity 10000
      どちらがいいんでしょうか?
      私は後者で生成して署名しました。

      27 5月 2013 -
    • ぽん

      はじめまして。
      自分も同じように6.1でやってみたのですが、”アプリはインストールされていません”と表示されました。
      必要なlibがわからなかったので、それらしきを放り込んだのですが、それがまずかったのでしょうか?
      アプリのサイズは25MBほどあります。

      29 5月 2013 -
    • watiko

      これは用途によって違います。
      個人でしか使わない(配布しない)ものへの署名は処理が早いMD5を
      配布などを行うのであればより強固なSHA1を選択という感じです。

      ですが、最近のPCの処理性能を考えるとわざわざMD5を選ぶメリットは薄いと思います。
      個人的にはSHA1一択です。Androidが対応すればすぐにもSHA-256を試したいぐらいです。

      1 6月 2013 -
    • ななし

      なるほど!
      基本的に個人使用なのでMD5のままでも良さそうですが、
      SHA1で署名しておくのがなお良いということですね。
      署名し直します。
      ありがとう御座いました。

      3 6月 2013 -
  23. エイミー

    pobox6.1の予測変換が表示されないです。
    出来た方いらっしゃいましたら教えていただけるとありがたいです。

    1 6月 2013 - Reply
    • Pon

      僕もできませんでした。
      POBox5.3の時に同じ現象が起きたのですが、その時は「/lib/以下のファイルと/smali/以下のファイルを書き換える必要があったのを片方しか書き換えていない状態」と改行コードがLFではなかったことが問題でした

      参考になれば・・・

      13 6月 2013 -
    • エイミー

      アドバイスありがとうございます。
      確認してみたのですが、やはりできませんでした。
      smaliのどれかを書き換えなきゃいけないようです。
      もう少し調べてみます。

      18 6月 2013 -
    • watiko

      エラーはlibiwnn.soが出しているので、詳細はそれを逆コンパイルするとわかるかもしれません。

      あいにく時間がないので手が出せませんが…

      18 6月 2013 -
  24. Galaxy NoteⅡ SC-02E/POBOX 5.4を入れる... | yukari-net 管理人のお気楽忘備録

    […] 参考にしたのは「typo typo typo」さんの記述です... […]

    5 6月 2013 - Reply
  25. Tuby

    改変済みのファイルをインストールしてみたのですが、「INSTALL_FAILED_SHARED_USER_INCOMPATIBLE」というエラーがありました。どうすればいいですか。

    10 7月 2013 - Reply
    • watiko

      インストールしようとしているapkとは別の署名で同一のshared_userが設定されているアプリがすでにインストールされています。
      POBoxかPOBoxSkinSelectorのどちらかだと思うので予めアンインスートルしておいてください。

      10 7月 2013 -
    • Tuby

      お返事ありがとうございます。

      POBoxもPOBoxSkinSelectorも事前にすでにアンインストールしました。完全にアンインストールされていないということでしょうか。

      10 7月 2013 -
    • watiko

      おそらくインストールしようとしているPOBoxSkinSelectorに署名の上書きをしていないのでは?

      11 7月 2013 -
    • Tuby

      アドバイスありがとうございます。やっとできました。
      POBoxとPOBoxScreenSelectorをアンインストールしたあとで電話を再起動しなければできないようです。

      11 7月 2013 -
  26. 通りすがり

    機種変したらしっくりくるIMEが無く、POBoxが恋しくなり5.1を見つけ使っていたのですが、
    やはり可能ならばバージョンアップしたいと思い、こちらにたどり着きました。
    おかげさまで無事5.4インストールすることができました。ありがとうございます。
    ダメ元で6.1も同じようにしてみたのですが、やはり変換候補が出ませんでした。
    いつか解決策が見つかることを期待しております。

    29 7月 2013 - Reply
  27. POBox 6.2 | 犬を一匹飼っている

    […] 基本的なやり方はwatikoさんのところに説明されているやり方で作業は終了します。私が加えた変更は、POBoxがSWITCH_CHARSETのキーコードであ←→aの切り替えを行わないという(特殊な?) […]

    12 8月 2013 - Reply
  28. Z使い

    watikoさんのおかげで、5.4、5.3作れました。
    2013nexus7に入れて使わせていただいてます。

    素敵なモノをありがとうございます。

    4 9月 2013 - Reply
  29. XperiaにおけるAndroidアプリ考察 » 【L】廉価版?いや、十分イケてるでしょ!最新エントリーモデル:Xperia Lレビュー

    […] ⇒ POBox 5.4をXperia以外の端末でも動くようにする。(root不要) | TypoTypoTypo!さんにてPOBox未導入なXperiaに導入可能なPOBoxが公開されています。 […]

    15 9月 2013 - Reply
  30. XperiaにおけるAndroidアプリ考察 » 【M】Xperia Mというエントリーモデルで十分でしょ!:Xperia Mレビュー

    […] oxについてはPOBoxが入っていない他機種及びPOBox無しXperia向けに導入できるPOBox5.4がTypoTypoTypo!さんによって公開されているのを見つけましたので、今回こちらを使わせて頂きました。m(_ _)m […]

    15 9月 2013 - Reply
  31. すあま

    pobox6.2の予測変換ですが、libをまとめると出ないようです。
    CWMからsystemに入れたら出ました。

    12 10月 2013 - Reply
  32. H.Royal

    GalaxyNoteにPOBox5.1を導入したところ、
    キーボードが偏って表示され利用するには
    あまりに不便な状態でした。

    こちらの記事を手順通りに進めさせて頂き、
    Galaxy NoteにPOBoxを導入することができました。
    表示のおかしい部分もなく快適に入力できています。
    ありがとうございました。

    24 10月 2013 - Reply
  33. KID

    このページを参考にPOBoxをNexus7に導入しようと試みたのですが、
    「apkの署名」のステップの以下コマンドがエラーとなり認識されません。

    jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore -verbose POBox5.4.apk testkey

    ‘jarsigner’ は、内部コマンドまたは外部コマンド、
    操作可能なプログラムまたはバッチ ファイルとして認識されていません。

    以前、’keytool’で同様なメッセージの質問がありましたが、このコマンドは認識してます。jdkのexeは、どちらのコマンドも同じ場所に格納されています。

    解決方法をご教授願います。

    26 10月 2013 - Reply
    • KID

      PCを再起動したら、無事、通過しました。

      お騒がせしました。。

      26 10月 2013 -
  34. palindromic

    6.*系の変換候補が出ない問題だけ何とかなりませんかねえ・・・

    29 12月 2013 - Reply
  35. tom

    こんにちは、
    私の端末はHTCのEVO4G(ISW11HT)で元はauの端末ですがカスタムROMを入れてandroid4.2.1になっていてpobox5.1を使っています。
    教えていただいた手順でpobox5.4.apkをエラーもなくビルド出来ましたがインストール出来ません。
    端末にapkファイルをコピーしてタップした場合はpobox

    13 4月 2014 - Reply
  36. tom

    すみません、尻切れトンボで送信してしまいました。続きは:

    端末にapkファイルをコピーしてタップした場合は「poboxはインストールしませんでした」とのメッセージ。

    adbコマンドでのインストールでは”Failure {INSTALL_FAILED_SHARED_USER_INCOMPATIBLE}”となります。
    aligned.apkでも同じでした。pobox5.1は削除してDalvic cashをクリアしてからインストールしたのですが…

    この端末とは互換性が無いと言うことでしょうか?

    13 4月 2014 - Reply
    • tom

      すみません、
      skin selectorを削除するのを忘れていました。お蔭様で無事インストールできました。
      最初にpobox5.4.apkをインストールした後でPOBox5.4_aligned.apkをインストールすると”INSTALL_FAILED_ALREADY_EXISTS”となるのはalignedのapkの方だけをインストールすれば良いという事ですね?

      それから、apkをビルドした後、「警告:
      -tsaまたは-tsacertが指定されていないため、このjarにはタイムスタンプが付加されていません。
      タイムスタンプがないと、署名者証明書の有効期限(2041-08-28)後または将来の失効日後に、ユーザーはこのjarを検証できない可能性があります。」というメッセージは2041年という有効期限を考えると無視しても構わないと考えてよいのでしょうか?

      13 4月 2014 -
    • watiko

      ”INSTALL_FAILED_ALREADY_EXISTS” は同じアプリ(apk)が既にインストールされていることを表します。
      上書きする際は次の通りです。(署名が異なる場合はできません。)

      adb install -r POBoxSknSelector_aligned.apk
      adb install -r POBoxSknMono.apk
      adb install -r POBox5.4_aligned.apk
      

      警告される件に関しては、無視しても問題ないと思います。

      16 4月 2014 -
  37. ito

    POBox Touch 6.3を見よう見まねで作成し、Z2(SO-03F)にインストールしてみました。
    POBox Plusと同居する形です。
    インストールは出来たのですが、日本語の変換候補が表示されないこと、変換ボタンを押しても機能しません。
    作成手順どおりやったつもりですが、原因がわからずです。
    何かヒントがありましたらご教授ください。
    作成に使用したapkファイルは以下のサイトを参考にdeodex したものを作りそれを元にやりました。
    http://sniper-nuko.blogspot.jp/2014/03/pobox-touch-63a08.html

    19 7月 2014 - Reply
    • watiko

      原因は分かっていないのですが、.apkを/system/appに.soを/system/libに配置し適切なパーミッションを設定すればきちんと動作します。
      ユーザーとして普通にインストールするとitoさんのようにうまく候補が表示されない状態になります。
      これはPOBoxPlusでも同様です。

      20 7月 2014 -
  38. hide

    xperia m2 D2303を購入したのですが日本語入力が無く、bicsimに登録出来ない状態で
    色々やってみたのですが駄目でこちらへ。

    地道にやったら完成、そして成功。なんか涙が出てきました。(完成品の存在にずっと気づかず)
    watikoさん、ありがとうございました。これほどの感動は久しぶりでした。

    1 12月 2014 - Reply
  39. pon

    pobox5.4ですが、bluetoothキーボードオンライン変換しようとすると強制終了してしまいます。(android4.4)

    17 12月 2014 - Reply

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です