【Android】「Zooper Widget」で作ったテンプレートをAPKにしてパッケージ化してみよう!

medium_6680150895 photo credit: [Flооd][1] via [photopin][2] [cc][3]

最近、読もうと思ってて読めていない本が溜まってキテマス。こんにちはえんぞーです。

本日発売のホリエモンの新刊も Amazon にて注文してますが、そろそろ発送だろうか・・・近場の店で買えば良かったかな。

さて今回は以前から紹介している ZooperWidgetのテンプレートを APK のパッケージにしようというお話し。

相変わらずニッチな部分を攻めています「えんぞーどっとねっと」ww

PRO 版オンリーの機能

この APK にパッケージするっていうのは PRO 版だけの機能になります。APK テーマを使用出来るのも PRO 版のみ。

とは言ってもですね・・・アプリ単体で APK を作ってくれるという訳ではないので・・・ちょっと敷居が高い気がします。

基本的には公式ページに載ってる通りの事をやるわけですが・・・。

必要な物

  • Zooper Widget PRO v2.38 or better (uh Yeah)
    zooper wedgwt PRO 版の Ver2.38 以上
  • Android Market developer account
    デベロッパーアカウント・・・これは Google Play に掲載するときに。
  • The Android SDK available here
    アンドロイド SDK 必要
  • Android Studio (you can also use Eclipse, but for this example i will use the studio)
    エクリプスでも可能だけど、ここではアンドロイドスタジオ使うよ!
  • A proper Java JDK
    Java の JDK も必要

と、Zooper の APK パッケージ作りたいだけなのに Android アプリを開発できる環境を構築しなければなりません。

全部言われるがままにインストールすれば良いだけとも言えますが。

APK を作るまでの手順

上記の必要な物は全部インストールしたと言うことで話を進めます。

※個人的にAirDroidを用意した方が捗るかと思いますので入れておいて下さい。

まずは ZooperWidget からテンプレートデータを書き出す

device-2013-06-23-150750-300x254

公式ページにもあるように「Create APK ~」にチェックを付けて名前も付けて保存します。

で、その保存したファイルなんですが**「SD CARD/ZooperWidget/APKZips」**にあります。

screenshot_79

この中に・・・。(ちなみにこの作業は Airdroid で行ってます)

screenshot_80

これ、ありました。

このファイルはパソコン上の自分で分かるところに保存しておいて下さい。

サンプルプロジェクトファイルをダウンロードする

次に公式で用意してくれているサンプルプロジェクトをダウンロードします。

場所はここになります

Git が使える環境ならば Git で Clone しても良いですし、そうで無ければダウンロードボタンからダウンロードします。

screenshot_81

ダウンロードしたファイルを解凍して合体

ダウンロードしたサンプルプロジェクトを解凍してその中に先ほど ZooperWidget から保存して解凍した物を放り込みます。

CopyToSampleProject

  アイコン変える

Android Asset Studioで APK のアイコン作った場合はダウンロードした Zip ファイルを解凍して出てくる 「res」 フォルダを上記と同じように放り込んでおいて下さい。

Info

Android Asset Studio で画像からアイコンを作成しようとした場合は 2MB までの画像しか使えないとのことです。
なので、 FREE Favicon Generatorを使用すると 5MB までの画像からアイコンを作れるという情報を頂きました。
画像サイズが原因でアイコンを作れない場合はこちらでアイコンを作成してから「Android Asset Studio」に取り込みましょう。
Thanks,Sophia

今回の作業はこんなアイコンでパッケージしてみます。

ic_launcher

Android Studio を立ち上げてプロジェクトをインポート

screenshot_86

立ち上げて~・・・。

screenshot_82

この画面で「Import Project」を選択。

screenshot_84

ここはそのまま「Create ~」で良いので次へ。

screenshot_83

ここでサンプルプロジェクトのフォルダを選択して「OK」を押します。

他に何かウィンドウ出てきた気もしますが構わず進むとインポートが完了します。

screenshot_87

この状態になったらインポート完了です。

修正する箇所

APK の名前やらを変更しなければなりませんので「resvalues」にある「string.xml」と「zooper.xml」を編集します。

「string.xml」でアプリ(APK)の名前を入力。

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="app_name">えんぞーどっとねっとさんぷる</string>
</resources>

「zooper.xml」で

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <!-- These info will be used in the available skins list -->
  <string name="zooper_pack_name">@string/app_name</string>#ここに先ほどのアプリ名きます
  <string name="zooper_pack_desc">ここにパッケージの説明</string>
  <string name="zooper_pack_author">ここに作者名</string>

  <!-- If set to 0 user will not be allowed to save this template -->
  <integer name="zooper_pack_allowsave">1</integer>

  <!-- This is the icon that will be shown in the plugin list, by default the app one is used -->
  <drawable name="zooper_pack_icon">@drawable/ic_launcher</drawable>
</resources>

ここまでやったら後は保存してビルドします。

screenshot_88

「Build」→「Make Project」を選択。

で、↓ この様なエラーが出た場合は矢印のリンクをクリックして設定画面に飛びます。

screenshot_89

で「Use external build」にチェックをいれて再度ビルドして下さい。

screenshot_90

成功すると、「outproductionZooperWidgetSampleSkin-master」の中に ZooperWidgetSampleSkin-master.apk が出来ています。
※サンプルファイルそのまま作っていったのでファイル名がまんまですね・・。

早速テスト

さて、出来た APK ファイルを端末に送ったりして早速実行してみましょう。
※セキュリティの設定で「提供元不明のアプリ」にチェック入れておかないとダメかも。

Screenshot_2013-11-01-21-01-21

インストールして新たに ZooperWidget を貼り付けてテンプレート選択画面を見てみると・・・。

Screenshot_2013-11-01-21-03-03

あった。自分でビルドしたテンプレートだ。

中身を見ると ↓ こんな感じに。

Screenshot_2013-11-01-21-03-10

このように「assets」フォルダに入れたテンプレートがビルドされます。(複数のテンプレートを入れる事が可能)

複数入れ込む場合は ZooperWidget から保存して「assets」フォルダにコピーする部分を入れたいテンプレートの数だけ行う事になります。

Screenshot_2013-11-01-22-19-42

とりとめのないまとめ

さて、大雑把に流れを書いてきましたけど・・・敷居高いですね。

<p>
  普通に使ってる人がAndroidのSDKを入れようとか思わないかもしれませんが、大体こんな流れで作れるよっていうのだけでも知って貰えれば何かのタイミングでやってみようって事にもなるかと思います。(?)
</p>

<p>
  尚、今回の作業では配布をGooglePlayでの配布を考えていないので色々と省略してますがGooglePlayで配布する場合はデベロッパーアカウント取得してパッケージする際も電子署名を追加したりしないといけないようです。
</p>

<p>
  この辺の事はまた今度やってみたいと思います。<br /> ※とは言え、Androidのアプリ開発してないので手探りなのですけど。
</p>