Mozc for Androidで使うためのsvgファイルを作るための覚書

2013年4月7日 by · コメント(4)
カテゴリ: Android, 開発のこと 

数字

かねてから申しておるように、Mozc for Android (オープンソース版 Google 日本語入力)にはキーボードの画像が入っていません。

正確には画像の箱だけで空っぽの svg があるのでそれを編集してねってことみたい。

んで、編集した svg がビルド時に独自形式の pic ファイルに変換されて res/raw/ 以下に配置されるわけです。

さて、編集には Inkscape を使います。

Inkscape 自由に描く。

無料!Windows 版もあるので大変ありがたい。

なんとかして関連付けをすれば src/data/images/android/svg/ 以下の svg ファイルをダブルクリックすればファイルを編集することができるようになります。

Inkscape

起動イメージはこんな感じ。このファイルはケータイ入力の右矢印ですね。フォントのライセンスとか関係ないのでコレはオリジナルと同じようです。

Read more

Mozc for Android(オープンソース版Google日本語入力)のキーボードを弄ろう

2013年4月6日 by · コメント(14)
カテゴリ: Android, 開発のこと 

image

なんだか使ってるうちに入力がひどくもっさりしてきても長らく ATOK for Android を使い続けてる理由に、英字入力を QWERTY にした時に最上段に数字が出るっていうのがありまして。

Google 日本語入力ではそれがなくて大変残念に思っていた所存。

せっかくオープンソースになったんだから、いじろう!

ということで、いじるファイルを探そう!

Read more

オープンソース版Google日本語入力をビルドしてみよう

2013年3月29日 by · コメント(26)
カテゴリ: Android, 開発のこと 

image

キタコレ!!!!

Google 日本語入力 Android 版がオープンソースになりました。 – Google Japan Developer Relations Blog

以下の情報は 2013/3/29 現在の情報です。

なにはともあれ ubuntu です。今回は 12.10 64bit 版でやってみよう。

http://www.ubuntu.com/download

インストール先は Virtual Box だろうが実機だろうが好きにしてください。

インストールしたらとりあえずソフトウェアの更新!

続いてインストラクション通りに…

AndroidBuildInstructions -  mozc – How to build Mozc for Android – Mozc – Japanese Input Method for Chromium OS, Android, Windows, Mac and Linux – Google Project Hosting

やってみよー ※手順通りだと途中でエラーが出るので都度なんとかします。

注意点は NDK 8c 以降ってことですかね。うっかりすると 8b だったりするのでアップデートしておきましょう。

 

ほい、まずエラーはここから。

python build_mozc.py gyp --target_platform=Android

するとエラーが出ます。

image

え?! Android SDK 必要なんて聞いてないっ!!

Read more

リフレクションで非公開のAPIを使ってみた

2013年3月17日 by · コメント(1)
カテゴリ: Android, 開発のこと 

image

なんとなく smali 見てたら面白そうな API があったけど呼び出し方がわからない!

ってことで色々調べてたらてくぶさん。

リフレクションをつかってメソッドを呼び出す – Tech Booster

なるほどリフレクション。こういうのもあるのか。

以下の感じで使うらしい。※一部伏字

ポイントは smali から発見した面白そうなクラス名を Class.forName で指定すること。

smali の1行目にあるこんなのを

.class public Lcom/moto????/internal/telephony/SbmNamHandler;
"com.moto????.internal.telephony.SbmNamHandler"

にして使う。

次のポイントは getMethod でメソッド名と引数を指定すること。引数は型を間違うとそんなメソッド無いって怒られる。じゅうよう!

smali の該当部分はこれ

.method public static getSbmNamID(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

メソッド名は「getSbmNamID」ってのはわかる。引数は Z = boolean.class で Ljava/lang/String = String.class なのでこうなる

Method m = c.getMethod("getSbmNamID", boolean.class, String.class, String.class, String.class);

呼び出しは invoke です。今回は元が static なので第1引数は null らしいです。ということで、まとめるとこんな感じになります。

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

try {
    Class<?> c = Class
            .forName("com.moto????.internal.telephony.SbmNamHandler");
    try {
        Method m = c.getMethod("getSbmNamID", boolean.class,
                String.class, String.class, String.class);
        Object ret = m.invoke(null, true, tm.getLine1Number(),
                tm.getDeviceId(), tm.getSubscriberId());
        sbmid = ret.toString();
        Log.d("sbmcgm", "ID:" + sbmid);
    } catch (Exception e) {
        e.printStackTrace();
    }
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

こんな感じにすると RAZR M 201M で forgsmartphone の ID とか Pass がわかるようになります。これで SIM ロックされてない Band I 対応端末でも通信できますが、いくら 4G が全盛期の1%の速度も出なくなったからとはいえ正直 Band I だけだとドコモのほうがマシなんじゃねーの?

非公式 API で色々できそうなのは楽しそうな気がしました。めでたしめでたし。

SAMSUNG DEVELOPER DAY 2012 in Tokyoに申し込んだ

2012年3月16日 by · コメントを残す
カテゴリ: Android, 開発のこと 

image

サムスンが珍しく日本で開発者向けイベントをやるそうです。

SAMSUNG Developers

今月の28日にするそうです。14日発表で28日開催ですと?平日の昼間ですと?!場所は東京プリンスホテルですと??

開発者でもなんでもないんですが Android Developer Console のアカウントもありますし開発者面して参加申込みをしてみました。

 

で、S Pen SDK ってなんですかー(棒)

 

なお、参加申込みは 2012/3/19 までだそうです。

定員とか日本語で OK なのかとか分からない事だらけですがどうなん?

 

あ、当日うっかり遭遇した人は、はなくろさんシールが貰えるかもしれません!

« 前ページへ次ページへ »