【更新版】processing上で作成したandroidスケッチから.apkファイルを生成するには


以前のエントリーで、自分用のメモとして書いたのは良かったものの、訪問してくれたユーザーの方が見るには不便な状態かと思ったので、書き足す事にしました。

更新内容としては、参考リンクにあげられていたステップの解説です。

手順としては、以下の通りとなります。よろしければ、ご参考していただければと思います。

<当方の実行環境>
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

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>