以前のエントリーで、自分用のメモとして書いたのは良かったものの、訪問してくれたユーザーの方が見るには不便な状態かと思ったので、書き足す事にしました。
更新内容としては、参考リンクにあげられていたステップの解説です。
手順としては、以下の通りとなります。よろしければ、ご参考していただければと思います。
<当方の実行環境>
mac os x (ver. 10.7.4)
processing 1.5.1
<apk化手順>
【スケッチのエクスポート】
・apk化したいスケッチが開かれた状態で、processing PDEをアンドロイドモードに変更されている事を確認。
・PDEインターフェース上にある”Export Android Project”ボタンを押す。(写真参照)
・スケッチがあるフォルダ内に”android”というフォルダが生成される。
ここまでは、カンタンですね。
【スケッチのサイン】
さて、ここからコマンドラインをたたくなど、若干ハードルはあがりますが、やってみるとそんなに難しくないです。それではいってみましょう。
・シェルを開く。マック環境ならTerminal.appを立ち上げる。
・シェル内にて、スケッチがあるフォルダまで移動。
・さらに、さきほどのエクスポートの結果で気上った /android/の中にまで移動。
・そして、つぎはシークレットキーの作成を行います。
・シークレットキーの作成の為に、以下のコマンドをシェルにぶち込む。
user$ keytool -genkey -v -keystore <SKETCHNAME>-release-key.keystore -alias <YOURNAME> -keyalg RSA -keysize 2048 -validity 10000
(<SKETCHNAME>, <YOURNAME>は適宜書き直してください。)
ちなみに私は、”fightlog”というスケッチをここでapk化しようとしていたので、以下のようなコマンドになりました。
keytool -genkey -v -keystore fightlog-release-key.keystore -alias Togo -keyalg RSA -keysize 2048 -validity 10000
・そうすると、なんかいろいろ聞かれます。
私の環境では、日本語で下記の内容を聞かれました。
※ここで、シェル上にて表示される質問項目が文字化けするという人は、一番下にある方法を試してみてください。
「キーストアーのパスワードを入力してください。」
「新規パスワードを再入力してください」
「姓名を入力してください」
「組織単位名を入力してください」
「組織名を入力してください」
「都市名または地域名を入力してください」
「州名または地方名を入力してください」
「この単位に該当する2文字の国番号を入力してください」
・一通り終わると、以下のメッセージが表示されればオーケーです。
<SKETCHNAME>-release-key.keystore を格納中
・lsコマンドで確認すると、あたらしくファイルが出来上がっています:<SKETCHNAME>-release-key.keystore
【”unsigned .apk”をつくります】
・antコマンドを利用し、unsigned apkを生成します。
user$ ant release
・なにやらごちゃごちゃ始まりますが、次のようなメッセージがでてくればオッケーです。
BUILD SUCCESSFUL
Total time: 6 seconds
・よく見ると、 /bin/の中に、 <SKETCHNAME>-unsigned.apkというファイルが出来上がっています。
【unsigned .apkを前述のシークレットキーでサインします】
・シェル内に今度は以下のようなコマンドをぶち込みます。
user$ jarsigner -verbose -keystore <SKETCHNAME>-release-key.keystore <FULL PATH TO>\android\bin\<SKETCHNAME>-unsigned.apk <YOUR NAME FROM SECRET KEY STEP>
※<SKETCHNAME>, <FULL PATH TO>, <SKETCHNAME>, <YOUR NAME FROM SECRET KEY STEP>は適宜入力。
・”adding” “signing”やら、なんやらいろいろ出てきます。
【jarsignerがきちんと機能したか、確認する】
・あともうちょっとです!さきほどのjarsignerコマンドが機能したかどうか、以下をシェルにぶち込み確認します。
user$ jarsigner -verify <FULL PATH TO>\android\bin\<SKETCHNAME>-unsigned.apk
※<FULL PATH TO> <SKETCHNAME>は適宜入力。
・以下のようなメッセージが出れば成功です。
jar verfied.
【最後にサインした.apkファイルを生成する】
・以下をまたシェルにぶち込みます。
user$ zipalign -v 4 <FULL PATH TO>\android\bin\<SKETCHNAME>-unsigned.apk <SKETCHNAME>.apk
※<FULL PATH TO>, <SKETCHNAME>は適宜入力。
・いろいろごちゃごちゃ出てきますが、以下のようなメッセージがターミナルに出力されればオッケーです。
Verification successful
・そうすると、目当ての.apkファイルが出来上がっているはずです!
<途中にあったスタックポイント>
1.)macのターミナルでコマンドを実行しようとしたら文字化け。
ターミナルの文字エンコーディングと、javaの文字エンコーディングの違いによるものらしい。
ターミナルの文字エンコーディングを、shift-jisに変更し、対応。
※写真参照
2.)zipalignコマンドがどういう訳か動作せず。
ローカル内を検索したところ、コマンド自体は存在していたので、コマンドのパスを通し、無事解決。
<参考にしたリンク>
https://forum.processing.org/topic/exporting-processing-s-pde-to-android-s-apk
http://www.akeric.com/blog/?p=1352