Amazon Kindle Fireで日本語を入力する / ATOK,simejiをインストールする

Pocket

[2012年1月7日追記: より簡単な方法と英語でのやり方をアップしました。/ You can find english instructions ]

Kindle Fireが届きました!

199ドルにしては非常に出来が良いです。液晶もきれいだし、思っていたよりも軽いし、裏がゴムっぽくて持ちやすくていいです。

Kindle FireはAndroidベースの端末ですでにrootをとる方法も確立されているので、Hackして遊ぶにも最適です。(というか僕はHack目的で買いました笑)標準で日本語フォントも中華フォントだけど入ってるのでとりあえず困らずに使えます。 ただ、日本語入力ができるか心配でしたが、ATOKをインストール・そして日本語入力をさせることができたので、忘れないようにメモしておきます。

私は以下の手順で可能にできましたが、あくまで自己責任でお願いします。これによりKindle fireの保証はなくなりますし、これによってKindle Fireが故障した場合でも私は一切の責任を負いかねます。あらかじめご理解ください。

Enabled Japanese Input Method on Kindle Fire

rootを取る

すでに英語でやる方法はいろんなところに出回っているので、別に必要ないのですが、簡単に日本語でもまとめておきます。(adbの使い方とか他のAndroid端末でも共通していることはgoogleで検索してください)

準備

僕がやったときはWindowsでrootを取る方法しかなかったので(というかそれを最初に見つけてしまったのでWindowsでやった)とりあえずWindowsが動く環境を用意します。x64でもx86でも動くと思います。

WindowsマシンにAndroid SDKをセットアップします。そのときにかならずGoogle Driverをインストールしてください。インストールしたら、Driverのinfをいじります。android_winusb.inf を開いて、Kindle FireのIDを追加します。ファイルの中に[Google.NTx86][Google.NTamd64]のセクションがあると思うので、その先頭に以下の行を追加して保存します。

;Kindle Fire
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01

また、adbにKindle fireがAndroidデバイスであることを認識させるために、ホームディレクトリ直下の.androidフォルダのadb_usb.iniに以下の行を追加します。(ファイルが無かったら追加してください)

0x1949

これで準備は完了

rootを取ろう

rootはSuperOneClickを使って一瞬でとれます。
[APP]SuperOneClick v2.2 (now with zergRush and su 3.0) – xda-developers
起動してrootを押せば終わりです。SuperOneClickの使い方はいろいろ解説があると思うので、適当に探してみてください。

ATOKもしくはsimejiをインストールする

Kindle fireはAndroid MarketやGmailなどのgoogle appsが入っていません。インストールする方法はありますので、興味があるひとは以下のリンクとかを参考にしてみてください。
[G-Apps][GUIDE] Google Apps on the Kindle Fire – Simpler Market Instructions – xda-developers

Android Marketが使えればATOKやsimejiをAndroid Marketからインストールします。Android Marketをインストールしていない人は手持ちの他のAndroidから抜き出してきます。(なんか野良simeji公開されなくなってしまっていますね。) たぶんここが一番ハードルが高いかも。。

無事インストールできたら、ATOKもしくはsimejiを有効にします。
通常であれば、設定→言語とキーボード から有効にすればおわりなのですが、Kindle Fireのキーボードの設定はKindleキーボードの設定しかないので設定できません。

Kindle Fire Keyboard Settings

これではATOKを有効にできないので、直接設定をいじります。

Input Methodを有効にする

今度はMacで作業します。(WindowsでもLinuxでもできますが、MacでやったのでMacで書いてます)
先ほどと同じように~/.android/adb_usb.ini0x1949を追加します。

Androidの言語とキーボードの設定は、/data/data/com.android.providers.settings/databases/settings.dbに入っているので、それを抜き出して編集します。

hiro$ adb shell
$ su
# cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/settings.db
# exit
$ exit
hiro$ adb pull /sdcard/settings.db .
2486 KB/s (24576 bytes in 0.009s)

抜き出したらSqliteで変更を加えます。まず現状の設定を抜き出します。

hiro$ sqlite3 settings.db
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from secure where name like "enabled_input_methods";
69|enabled_input_methods|com.android.inputmethod.latin/.LatinIME

続いてATOKもしくはsimejiをenabled_input_methodsに追加します。ATOKおよびsimejiのpackage名は以下なので参考にしてください。

  • ATOK
    com.justsystems.atokmobile.service/.AtokInputMethodService
  • simeji
    com.adamrocker.android.input.simeji/.OpenWnnSimeji

sqlite> INSERT INTO "secure" VALUES(null,'enabled_input_methods','com.android.inputmethod.latin/.LatinIME:com.adamrocker.android.input.simeji/.OpenWnnSimeji:com.justsystems.atokmobile.service/.AtokInputMethodService');

上の例はATOKおよびsimeji両方を有効にした場合です。実行したら再度select * from secure where name like "enabled_input_methods";を実行してATOKやsimejiが入っているか確認してください。確認したらCtrl+Dで終了させます。

最後に変更を加えたsettings.dbをKindle fireに戻し、Kindle Fireを再起動します。

hiro$ adb push settings.db /sdcard/settings.db
1810 KB/s (24576 bytes in 0.013s)
hiro$ adb shell
$ su
# cp /sdcard/settings.db /data/data/com.android.providers.settings/databases/settings.db
# chown system.system /data/data/com.android.providers.settings/databases/settings.db
# chmod 660 /data/data/com.android.providers.settings/databases/settings.db
# exit
$ exit

再起動したら、どこかの入力フィールドを長押しするとInput Methodを選ぶ画面が出ますので、選択するとATOKもしくはsimejiが候補に出てきますので選択するとKindle fireで日本語が入力できるようになります!

Kindle Fire Input Method Select Screen

かなり適当にまとめてますので、抜け落ちている点などありましたら指摘していただけると幸いです。

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

14 thoughts on “Amazon Kindle Fireで日本語を入力する / ATOK,simejiをインストールする

  1. ちゃっぴぃ

    すごいですね(>_<)
    感動しちゃいます!!
    是非root取って、日本語入力希望です。
    これって失敗した時の為に
    バックアップって必要ないんですか?
    必要だったら方法を教えて頂けると
    うれしいです(*^_^*)

    Reply
  2. 中島 博敬 (Hirotaka Nakajima)

    >>ちゃっぴぃさま
    >バックアップって必要ないんですか?
    >必要だったら方法を教えて頂けると
    TitaniumBackupとかでapkをバックアップすることができますので、使ってみてはいかがでしょうか。
    https://market.android.com/
    またddコマンドを使ってパーティション自体のダンプを取ることも可能ですが、ddコマンドは間違えると一瞬にしてシステムを破壊する恐れがありますので、注意してお使いください。

    Reply
  3. ちゃっぴぃ

    nunnun様
    早速のお返事ありがとうございます(^o^)
    "TitaniumBackup"使ってみます。
    Linuxはよくわからないですが
    調べてddコマンドも習得いたします!
    がんばるゾ!
    (‘-‘*)♪

    Reply
  4. ちゃっぴぃ

    nunnun様
    おかげさまで日本語入力できました
    すごくわかりやすい表現、説明をされているので
    助かりました
    ありがとうございました<(_ _)>

    Reply
  5. マス

    Google Japanese Inputなるものが最近出ておりますが、こちらのほうのPackage Nameはご存知ですか。

    Reply
  6. 通りすがり

    通りすがりの者ですが、Google Japanese InputのPackage Nameを書いておきます。
    com.google.android.inputmethod.japanese/.MozcService

    Reply
  7. マス

    通りすがりの方、ありがとうございます。
    nunnunさん、ありがとうございました。
    お陰で、快適なKindle体験ができるようになりました。

    Reply
  8. しんいち

    こんにちは
    Kindle fireにsettings.dbのIME記述が間違って、再起動不能になりました。。。
    何か復旧する方法ありましたら、ご教示ください。
    ちなみに、元のsettings.dbは持ってます。
    よろしくお願いいたします。

    Reply
  9. 中島 博敬 (Hirotaka Nakajima)

    >しんいちさま
    こんにちは。
    adb shellは接続できますでしょうか?
    もし可能でしたらそれで修復できるかと思われます。

    Reply
  10. しんいち

    ご返事ありがとうございました。
    adb shellは接続できます。
    いろいろ試してましたが、「adb: permission denied」エラーが出て、ファイルのコピーはできませんでした。

    Reply

Leave a Reply