# Android アプリのビルド

## ビルドの種類

Monaca では、デバッグビルド版、リリースビルド版の 2 種類の Android アプリをビルドできます。これらの相違点は、次のとおりです。

| ビルドの種類      | 説明                                                                  | インストール方法                                                                                                                     |
| ----------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **デバッグビルド** | <p>パッケージに署名がないため、</p><p>マーケットでの配布は行えません。</p>                        | <ul><li>QR コード</li><li><a href="/pages/-MfWrbFLzyDeEW_A2kdS#purojekutoopushon">ネットワーク インストール</a></li><li>サイドローディング</li></ul> |
| **リリースビルド** | <p>コードサイン ( コード署) を使用して、</p><p>署名したパッケージです。</p><p>マーケットで配布できます。</p> | <ul><li>サイドローディング </li><li><p>Google Play ストア経由</p><p>または他のマーケット経由</p></li></ul>                                             |

{% hint style="info" %}
サイドローディング ( Sideloading ) とは、一般的にはファイルのアップロード・ダウンロードを指しますが、ここでは、アプリのパッケージ ( APK 形式 ) を、マーケットを経由せずに、端末にインストールすることを指します。ビルド後、APK ファイルを直にダウロードして、インストールします。
{% endhint %}

## ステップ 1 : Android アプリの設定

1. Monaca クラウド IDE のメニューから、`設定 → Android アプリ設定` を選択します。
2. アプリに関する情報を入力します。

* 一般的な設定

| アプリケーション名          | <p>アプリの名前を入力します。</p><p>マーケット上などで表示されます。</p>                                                                                                                                                                                                                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| パッケージ名             | <p>Android のマーケットへのアップロード時に使用される、一意の名前を入力します。</p><p>逆ドメイン形式を推奨します ( io.monaca.app\_name など )。</p><p>英数字のみ使用でき、各節はピリオドで区切ります ( 1 つ以上のピリオドを使用 )。</p><p>ピリオドで区切られた各節の先頭文字には、英字を使用します。</p><p>また、アンダースコア ( \_ ) も使用可能です。</p>                                                                                                         |
| ビルド種別ごとにパッケージ名を分ける | <p>有効にした場合、リリースビルド版アプリのパッケージ名と</p><p>デバッグビルト版アプリのパッケージ名は、異なる名になります。</p><p>デバッグビルド版アプリのパッケージ名の拡張子は <code>.debug</code> となり、</p><p>プロジェクトのデバッガーのパッケージ名の拡張子は <code>.debugger</code> となります。</p><p>ただし、デフォルトでは、このオプションは無効になっています。</p><p>有効にしてしまうと、</p><p>決まったパッケージ名に紐付けされているプラグインが存在する場合 ( In-App Purchase など )、デバッグができなくなるためです。</p> |
| バージョン              | <p>アプリのバージョン番号を入力します。</p><p>バージョン番号には、ドット区切りの数値を使用します ( 例 : 1.0.0 )。</p>                                                                                                                                                                                                                                                        |
| バージョンコード           | <p>内部処理で使用する、アプリのバージョン番号です </p><p>( バージョンが複数ある同一アプリの処理用 )。</p><p>整数を使用します。このコードを使用して、アプリの更新の有無を決定します。</p>                                                                                                                                                                                                                       |
| フルスクリーン            | 有効にした場合、フルスクリーン ( 全画面表示 ) でアプリを実行します。ステータスバーは非表示になります。                                                                                                                                                                                                                                                                          |

![](/files/-MgdjD5ILFdEa5wLkC0C)

* その他 : ここでは、Android アプリに関する詳細を設定します。

  | 許可する外部 URL         | `*`     | アプリからアクセスできる URL ( 単数または複数 ) を指定します。「 \* 」 に設定した場合、すべてのドメインへのアクセスを許可します。 |
  | ------------------ | ------- | ------------------------------------------------------------------------ |
  | バックグラウンド時もアプリを常に実行 | 有効      | バックグラウンド時にも Cordova を実行したい場合、有効化します。                                     |
  | オーバースクロールを無効       | 有効      | WebView の端を越えたときの挙動 ( オーバースクロールの有無 ) を設定します。                             |
  | 画面の向き              | Default | Landscape または Portrait を指定できます ( アプリ実行時の画面の向き )。                         |

設定後、`保存する` をクリックします。

{% hint style="info" %}
現在、iOS の \[ App ID ] または Android の \[ パッケージ名 ] のいずれかを変更すると、両方とも同じ名前に更新されます。それぞれに別の名を設定する場合には、[ App ID ( iOS 側 ) と パッケージ名 ( Android 側 ) にそれぞれ異なる値を設定するには？ ](https://docs.monaca.io/ja/faq/application/#app-id-ios-%e5%81%b4-%e3%81%a8-%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e5%90%8d-android-%e5%81%b4-%e3%81%ab%e3%81%9d%e3%82%8c%e3%81%9e%e3%82%8c%e7%95%b0%e3%81%aa%e3%82%8b%e5%80%a4%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b%e3%81%ab%e3%81%af)をご確認ください。
{% endhint %}

&#x20;   3\. アダプティブ アイコンの設定

Cordova 9.0 以降の Monaca プロジェクトを使用している場合は、Android 8.0 以降にアダプティブ アイコンを設定することができます。

アダプティブ アイコンを設定する場合は、`res` フォルダー配下に画像ファイルをアップロードし、config.xml の `icon` タグに `background` 属性と `foreground` 属性を追加します。これまでの `src` 属性が設定されている場合は、src 属性の値は使用されません。

アダプティブ アイコンに対応していない OS バージョン場合は、`foreground` 属性に設定された画像が表示されます。これまでの `src` 属性を設定した場合は、src 属性の値が優先されます。

以下は、`/res/android/icon/` 配下に画像を配置している例になります。

```markup
<platform name="android">
 <icon density="ldpi" background="/res/android/icon/ldpi-background.png" foreground="/res/android/icon/ldpi-foreground.png"/>
 <icon density="mdpi" background="/res/android/icon/mdpi-background.png" foreground="/res/android/icon/mdpi-foreground.png"/>
 <icon density="hdpi" background="/res/android/icon/hdpi-background.png" foreground="/res/android/icon/hdpi-foreground.png"/>
 <icon density="xhdpi" background="/res/android/icon/xhdpi-background.png" foreground="/res/android/icon/xhdpi-foreground.png"/>
 <icon density="xxhdpi" background="/res/android/icon/xxhdpi-background.png" foreground="/res/android/icon/xxhdpi-foreground.png"/>
 <icon density="xxxhdpi" background="/res/android/icon/xxxhdpi-background.png" foreground="/res/android/icon/xxxhdpi-foreground.png"/>
</platform>
```

以下は、src 属性を設定した例になります。

```markup
<platform name="android">
 <icon src="/res/android/icon/ldpi.png" density="ldpi" background="/res/android/icon/ldpi-background.png" foreground="/res/android/icon/ldpi-foreground.png"/>
 <icon src="/res/android/icon/mdpi.png" density="mdpi" background="/res/android/icon/mdpi-background.png" foreground="/res/android/icon/mdpi-foreground.png"/>
 <icon src="/res/android/icon/hdpi.png" density="hdpi" background="/res/android/icon/hdpi-background.png" foreground="/res/android/icon/hdpi-foreground.png"/>
 <icon src="/res/android/icon/xhdpi.png" density="xhdpi" background="/res/android/icon/xhdpi-background.png" foreground="/res/android/icon/xhdpi-foreground.png"/>
 <icon src="/res/android/icon/xxhdpi.png" density="xxhdpi" background="/res/android/icon/xxhdpi-background.png" foreground="/res/android/icon/xxhdpi-foreground.png"/>
 <icon src="/res/android/icon/xxxhdpi.png" density="xxxhdpi" background="/res/android/icon/xxxhdpi-background.png" foreground="/res/android/icon/xxxhdpi-foreground.png"/>
</platform>
```

{% hint style="info" %}
現在、Androidアプリ設定画面からはアダプティブ アイコン用アイコン画像の表示・アップロードができません。上記の方法で直接config.xmlファイルに設定を加えてください。
{% endhint %}

## ステップ 2 : Android キーストア ( KeyStore ) の設定

キーストアは、バイナリーファイルです。このファイルには、秘密鍵 ( 単数または複数 ) が格納されています。秘密鍵は、組織または個人を表す 「 判子 」 の役割をします。キーストアは、パスワードを使用して、暗号化されます ( パスワードを紛失した場合には、復旧できません )。キーストアを紛失した場合、または、別のキーストアで上書きされてしまった場合、同じ鍵を使用しても、署名済みパッケージを再署名することはできません。\[ 翻訳者メモ ： キーストアの内容に関しては、いろいろな説明方法があるようで、人によっては、「 キーストアには秘密鍵と証明書の情報がセットで格納されている 」、「 キーストアとは証明書そのものであり、そこには鍵情報が格納されている 」 としています。なお、このキーストアを apk ファイルに添えれば、「 署名 」 完了となります ]

リリースビルド版の Android アプリをビルドするときに、キーストアが必要となります。Monaca では、新規のキーストアを作成するか、または、既存のキーストアをインポートできます。ここでは、新規に作成することを前提に解説します。次の手順に従います。

1. Monaca クラウド IDE のメニューから、`設定 → Android キーストア設定`を選択します。
2. 「 キーストアとエイリアスの管理 」 画面が表示されます。

![](/files/-Mgdjpx_A0FiAy7i-ckN)

&#x20;   3\. `クリアして新規作成`ボタンをクリックすると、キーストアの設定画面が表示されます。

![](/files/-MgdjzMujQfFyzVyGzbF)

&#x20;   4\. 上のスクリーンショットに表示されている項目に、必要な情報を入力します。

* エイリアス : アプリの署名時に使用する秘密鍵の名前です。1 つのキーストア内に、複数のエイリアスを格納できます。
* エイリアスのパスワード : エイリアス ( 秘密鍵 ) 用のパスワードです。
* キーストアのパスワード : キーストア用のパスワードです。このキーストアをインポートするときに、このパスワードが必要となります。

&#x20;   5\. 次に、`キーストアとエイリアスを作成する` ボタンをクリックして、キーストアを作成します。

{% hint style="info" %}
キーストアを紛失した場合、同じ鍵を使用しても、署名済みのパッケージに再署名を行うことはできなくなります。よって、アプリの署名に使用したキーストアの取り扱いには注意しましょう。バックアップを取ることを推奨します。キーストアをダウンロードする場合には、`エクスポート` ボタンをクリックします。
{% endhint %}

## ステップ 3 : アプリのビルド

1. Monaca クラウド IDE のメニューから、`ビルド → Android アプリのビルド` を選択します。
2. 目的に応じたビルドの種類を選択して、 `ビルドを開始する`ボタンをクリックします。

![](/files/-MgdkByCaDw7jsxJ8YEo)

&#x20;   3\. 「 リリース向けビルド 」 の 「 リリースビルド 」 を選択した場合、ビルドを開始する前に、署名用エイリアスの選択とパスワードの入力を行います。

![](/files/-MgdkIUPenYqaKBwpni9)

&#x20;   4\. ビルドが完了するまで、しばらく待ちます。ビルドが成功した場合には、次のような画面が表示されます。ビルドの完了後、ビルド済みアプリをインストールまたはダウンロードできます。

![](/files/-MgdkKXYJfpTtFI8FnWD)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ja.docs.monaca.io/products_guide/monaca_ide/build/build_android.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
