2011年5月21日土曜日

[Android]美しい日本語のアプリ名

App Inventor で作成したアプリのイヤな点の1つに、「アプリ名(ランチャー画面での表示名)に日本語が使えない」ってのがあります。

というわけで、前エントリで作った「PressConv」の UI を作り直したアプリ(PressConv2)に配布用の署名入れるついでに、.apk ファイルに含まれている「Android_Manifest.xml」に書かれてるアプリ名を書き換えてみました。



App Inventor で作成した .apk ファイルを、Android Market で配布できるようにするには、「AppToMarket」というアプリを使って、マニフェストファイルの修正・署名・内部ファイルの再配置をおこなうのですが、この過程は、
  1. 署名の作成 (初回起動時のみ)
  2. .apk ファイルのデコンパイル
  3. Android_Manifest.xml の修正と再コンパイル
  4. 署名
  5. 検証
  6. 内部ファイルの再配置
という順序でおこなわれます。
この 3. の部分で、Android_Manifest.xml に記述されているアプリ名を日本語に変更できれば楽チンなんですが、出来ませんのでコマンドラインで頑張ってみることにしましょう。
※「AppToMarket」の【2> De/Re compile and wrap-up】タブの【Features】→【App Name:】を書き換えればアプリ名が書き換わるのですが、ここに日本語を入れるとフリーズしてしまいます。

まず、ココを参考に、「4.⑤pdate Manifest & Create new apkボタンを押す」までおこない、【3> Sign】が押せる状態にしましょう(まだ押さないでネ)。
ここまでおこなうと、myApksディレクトリの下に、「PressConv2_new.apk」というファイルができているはずです。

次に、「AppToMarket.jar」と同階層にある「apktool.jar」を、myApksディレクトリの下にコピーします。
その後、コマンドラインを開いて、 myApksディレクトリへ移動し、

> java -jar apktool.jar d -s PressConv2_new.apk


と「PressConv2_new.apk」のデコンパイルをおこなうと、myApksディレクトリの下に「PressConv2_new」というディレクトリが作成され、その中にこのアプリの Android_Manifest.xml があります。

この Android_Manifest.xml を適当なエディタで開き、「android:label="PressConv2"」のアプリ名を日本語のもの(ここでは"圧力単位換算")に書き換えて保存します。

元の 「PressConv2_new.apk」というファイルを削除し、

> java -jar apktool.jar b PressConv2_new PressConv2_new.apk

で、 「PressConv2_new.apk」に再コンパイルします。

後は、「4.⑥Signボタンを押す(3項で作成した署名をひっつける)」以降の作業をおこないます。
これで、 myApksディレクトリの下に「PressConv2_new_zipAlign.apk」というマーケット配布可能な .apk ファイルが生成されています。

これをインストールしたランチャー画面は、こんな感じです。

ちなみに、UI はこんな感じの電卓風に変えてみました。

ダウンロードは、ココか、下のコードからどうぞ。
-- 2011-05-23 更新 --
最新版(v1.1 20110523a版)のダウンロードはこちらからどうぞ
--------------------

0 件のコメント:

コメントを投稿