Androidのアプリは「.apk」の拡張子を持つAPK形式のファイルで配布します。ここでは作成したアプリを他人に配布する方法について紹介します。配布前にバージョンを指定したり、署名の作業が必要です。
Androidのアプリは、APK形式で配布します。厳密に言えば、Aptanaでデバッグ実行した時にも、APKファイルが作成され端末やエミュレータに転送されますが、不特定多数にアプリを配布する際には、いくつか気をつける点があります。必要なのは、以下の作業です。
Androidアプリの各種設定を行うには、プロジェクトのルートに配置されている「AndroidManifest.xml」(以下マニフェストファイルと略します)を編集することになっています。HTML/JavaScriptで開発を行う場合には、それほど意識しなくても良い項目もありますが、アプリケーションのバージョン情報や、セキュリティの権限の情報などは、設定する必要があります。
マニフェストファイルの拡張子(".xml")に示されているとおり、XMLファイルなので、関連する項目を探して書き換えるのもそれほど難しくないと思います。また、マニフェストの編集においては、XMLを編集する以外に、独自の設定エディタを使うことができるので、これを利用することで迷うことなく編集ができます。
さて、では実際に、ここから配布に当たって編集するポイントを紹介します。
Androidアプリにつけるバージョン番号は、開発者がユーザーに提示するという意味で設定するだけでなく、自動アップデートの際にも利用されるものなので、設定が必須となっています。
バージョン番号を設定するために、Aptana(Eclipse)でマニフェストファイル(AndroidMnifest.xml)を開いてみてください。XMLが表示されてしまった場合は、エディタの下部にある[Manifest]というタブをクリックしてみてください。すると、マニフェスト編集用のフォームが表示されます。
ここでバージョン番号を指定するのは「Version code」と「Version name」の項目です。Version codeには、整数でアプリのバージョン番号を指定します。主に自動アップデートの際に利用されるので、バージョンアップを行う度に増加させる必要があります。特に、Android Marketに登録する際には、同じバージョン番号でアプリをアップすることができないので注意します。そして、Version nameの方は、ユーザーに提示するためのもので、分かりやすい文字列を自由に指定できます。
もし、バージョン番号をXMLで設定する場合には、以下のように、<manifest>タグの「android:versionCode」属性と「android:versionName」属性を設定します。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" ...
Android Makretでアプリをインストールのときに、以下のように警告がでることがありますね。この警告が関係しているのもマニフェストファイルです。jsWaffleを使う際には、はじめから必要となるすべてのセキュリティ権限が付与されています。しかし、Android Marketで配布するのに不必要な権限が表示されては、インストールを躊躇されてしまう可能性もあります。そこで、配布前に、不要なセキュリティ権限を削除しておくと安心してインストールしてもらうことができます。
そのために、マニフェストを開き、エディタ下部の[Permission]というタブをクリックすると設定することができます。不要な権限を[Remove]ボタンで削除することができます。
では、どの権限がどの機能を司っているのでしょうか。実は、XMLファイルを直接書き換えた方が、分かりやすいかもしれません。日本語でコメントが書かれているので、不要ならば、その行を選択して削除するだけだからです。
... <!-- バイブ機能を使うとき --> <uses-permission android:name="android.permission.VIBRATE"/> <!-- インターネットへのアクセスを使う時 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- GPSを使う時 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- SDカードなどへ書き込みを行う時 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...
その他のパーミッションについては、Androidの開発者サイトをご覧ください。
※マニフェストファイルを編集したら、忘れずに保存(メニューから[File > Save])しておきましょう。
jsWaffleでは、デフォルトのパッケージ名が「com.example.xxx」の形になっています。
しかし、Android Marketに登録する際には、「com.example」や「com.android」「com.google」から始まるパッケージ名を指定することはできません。
そのため、パッケージ名をオリジナルのドメインに変更する必要があります。以下をご覧ください。
マニフェストファイルの編集が終わったら、いよいよ、配布用のAPKファイルを作成します。この作業では、APKファイルに署名して、誰が作ったアプリケーションかを保証する作業を行います。具体的な手順を以下に示します。
Aptana(Eclipse)で配布したいプロジェクトを開いた状態にします。そして、メニューから[File > Export]をクリックします。
[Export]ダイアログが表示されたら、[Android]のフォルダにある[Export Android Application]を選択して[Next]ボタンをクリックします。
選択したプロジェクトが表示されていることを確認して[Next]をクリックします。
次に、アプリに署名するために、署名用キーファイルを作成します。[Create new keystore]をチェックします。(署名キーは一番初めに一度だけ作れば大丈夫です。既に作ってある場合には、[Use existing keystore]を選んでパスワードを入力し、[Next]ボタンをクリックしてください。)
署名用キーファイル(キーストア)を作成するために、ファイルの保存場所とパスワードを入力します。
Location | ファイルの保存場所 |
Password | パスワード |
Confirm | パスワード(確認のため Password と同じものを入力) |
次に、キーストアの中にキーを作成します。必要な項目を記入して、[Next]ボタンをクリックします。(この手順では1つしかキーを作りませんが、キーストアの中に複数のキーを作ることができる仕組みです。)
Alias | キーの名前 |
Password | パスワード |
Confirm | パスワード(確認用) |
Validity (years) | キーの有効期間(年で指定) |
First and Last Name | 開発者の名前 |
Organizational Unit | 部署 |
Organization | 組織名 |
City or Locality | 所在地 |
最後に、署名済みAPKファイルの保存場所の指定します。また、キーストアの情報が表示されるので確認します。そして[Finish]ボタンをクリックすると配布用のAPKファイルが作成されます。
このようにして作成したAPKファイルは、Webで自由に配布することができます。ユーザーは、Android端末で配布サイトに行き、APKファイルをダウンロードします。ダウンロード後、APKファイルをタップするとインストールが行われます。そして、作ったアプリを世界中の人に見てもらいと思うなら、Android Marketに登録することができます。
何かコメントがあれば、以下に記入してください。
ichi | 開発バージョンを自分のサーバーからダウンロードできるようにするためには、APKファイルを置くディレクトリーの.htaccessに AddType application/vnd.android.package-archive apk を追加すると簡単です。 (2011/05/17) |
にしだ | なぜか、有料の配布ができなくなりました。日本円を入れて、下の自動的に海外の価格が入力されるボタンを押しても、入力されず、そのまま、保存ボタンを押しても、保存中のまま、進みません。もし、原因がわかればおしえてもらえますか? (2012/05/15) |
ミラクルくまちゃん | 先日Goolgeなら英文で、開発者のアプリ価格設定に関してメールが配信されていました。機械翻訳の為正確には理解できないかもしれませんが、価格設定で自動計算設定できる国が追加されたそうです。その関係があり、価格の設定方法が変わったのかもしれません。http://support.google.com/googleplay/android-developer/bin..一応ヘルプのURLも掲載します。なお、ここはコメント欄で質問場所ではありませんので、このサイトの掲示板をご利用くださいませ。http://d.aoikujira.com/jsWaffle/tasukeai/mbbs.php (2012/05/16) |
osanami | 質問です。デベロッパーコンソールにアプリをアップロードして何日か経つのですがマーケットに公開されません。(公開ボタンは押しています)ヘルプセンターに問い合わせましたが、「アプリに何か不足している」っぽい英語のメッセージが着たのですが、何が不足しているのか分かりません。解決法があれば教えて下さい。 (2012/10/08) |