ここでは、GeneXus 開発者が Google Play に Android アプリを公開 (初回または更新) するプロセスについて説明します。
Google Play に公開するアプリケーションはすべて署名する必要があります。また、アップロード後は、同じ署名がある場合にのみ更新されます。このドキュメントの「
署名の方法」を参照してください。
注意: GeneXus では、アプリケーションがテスト目的でデバッグ用署名で署名されます。アプリケーションがこのキーで署名されていない場合、Google で受理されません。詳細は「注」を参照してください。
アプリケーションは事前にテストしてから App Store にアップロードすることが極めて重要です。また、Google による検証プロセスにしばらく時間がかかるため、緊急の更新の場合でも、修正したアプリケーションがただちにエンドユーザーに提供されるわけではないことに留意してください。
次の要件があります (任意ではありません)。
スクリーンショット:
- 形式: 24 ビットの PNG または JPEG (アルファなし)。
- 解像度: 320 x 480、480 x 800、480 x 854、1280 x 720、または 1280 x 800 ピクセル
- 注意事項: 全画面、境界線なし。
アプリケーションアイコン:
- 形式: 32 ビットの PNG または JPEG の画像
- 解像度: 512 x 512 ピクセル
- サイズ: 1024 KB
これで Google Play にアプリケーションをアップロードする準備が整いました。
Google Play デベロッパーサイトにログインします。ログイン後、次の操作を行います。
- 新しいアプリケーションを作成する場合:
[ アプリの作成 ] ボタンをクリックして、新しいアプリケーションを作成するウィザードを開きます。
詳しくは、こちらを参照してください。
- 既存のアプリケーションを更新する場合:
アプリケーションのタイトルをクリックすると、詳細情報が表示されます (ここには Sales Order アプリの例を示します)。
左側のメニューで [ リリース管理 ] > [ アプリのリリース ] > [ 製品版を管理 ] を選択します。
その後、 [ リリースを作成 ] ボタンをクリックします。
最後に、 [ ファイルを選択 ] ボタンをクリックして、新しい APK ファイルをアップロードします。このとき、以下の点に注意します:
- [ Version Code ] プロパティまたは [ Version Name ] プロパティが、旧バージョンよりも大きい値になっている必要があります。
- アプリケーションの署名に使用しているキーストアが、旧バージョンと同じである必要があります。
1. Google Play にアカウントを作成します (2011 年 6 月時点の参考価格: 登録料 25 ドル)。
2. 以下のコマンドで、アプリケーションパケットの署名用「キーストアファイル」を作成します。このファイルは JDK の
/bin ディレクトリーに置かれます。
> keytool -genkey -v -keystore
my_release.keystore -alias
my_alias_name -keyalg RSA -keysize 2048 -validity 1000
|
入力値の説明: |
|
|
-genkey |
キーペアを生成します (公開鍵と秘密鍵)。 |
|
-v |
詳細出力を有効にします。 |
|
-keystore |
秘密鍵が含まれるキーストアの名前です。 |
|
-alias |
キーのエイリアスです。エイリアスの最初の 8 文字だけが使用されます。 |
|
-keyalg |
キーの生成時に使用する暗号化アルゴリズムです。GeneXus アプリケーションは RSA にする必要があります。 |
|
-keysize |
生成するキーのサイズ (ビット単位) です。指定がなかった場合、Keytool では既定のキーサイズ 1024 ビットが使用されます。一般に、2048 ビット以上のキーサイズを使用することをお勧めします。 |
|
-validity |
キーの有効期間 (日数) です。10000 以上の値をお勧めします。 |
注: キーストアを使用してアプリケーションに署名し、アプリケーションで SD Map コントロールを使用している場合は、
こちらの手順に従う必要があります。
3. 必要な情報をすべて入力します。次の手順のために
パスワードを保存します。
4. メイン オブジェクト レベルで
[ Compilation Mode ] プロパティを [ Distribution ] に設定し、ジェネレーターのプロパティで
[ Application Signing ] プロパティを設定します:
- Key Store File: keytool コマンドにおける "my_release.keystore" ファイルへのファイルパス。
- Store Password: keytool コマンドの実行時に設定 (入力を求められる)。
- Key Password: keytool コマンドの実行時に設定 (入力を求められる)。
下の画像を参照してください。
- 署名と、Google Play に登録されている開発者に関係はありません。任意の開発者が任意の APK を公開できます。署名は重要ではありません。
- あるユーザーが APK を公開した場合、このユーザーだけが同じアプリケーションの新バージョンをアップロードできます。ただし、このユーザーが別のユーザーにアプリケーションを割り当てることもできます。この場合、この別のユーザーが新バージョンをアップロードできるようになります。
- GeneXus 15 (U2 以降) では、Android の既定のデバッグ用署名を使用して APK ファイルが自動的に署名されます。開発者が独自の署名でファイルを署名するまで、IDE でのビルド時にこの状態を警告するメッセージが表示されます。
========== Android コンパイル開始 ==========
生成されたアプリは、既定のキーを使用して署名されます。リリースする前に、
このキーを変更する必要があります ( [ SmartDevices ] > [ Android Specific ] > [ Application Signing ] )。
このメカニズムにより、開発者はアプリケーションを本番環境に公開するときに署名を求められますが、プロトタイプは簡単にできます。
アプリケーションがカスタム証明書で署名されていなかった場合、Google Play でストアに公開されません。
- 以前の既定の設定を使用した本番運用のアプリケーション (Artech 資格情報で署名された *.apk ファイル) がある場合は、レガシーの値を使用してプロパティを手動で設定する必要があります。
プロパティ |
既定値 |
レガシー (GeneXus 15 Upgrade 3 時点) |
Key Store File |
C:\<GeneXus のインストールパス>\Android\debug.keystore |
C:\<GeneXus のインストールパス>\Android\legacy.keystore |
Key Alias |
androiddebugkey |
alias_name |
Store Password |
android |
artech |
Key Password |
android |
artech |
Prototyping features and Deployment of applications for Smart Devices