
アプリ開発を始めてから1年半が経ち、ついに初回リリースから運用フェーズを見届けられる日が近づいてきました。
開発の原動力は常に「お客様の記憶に残り、体験に彩りを添えたい」という思いです。
社会に大きな衝撃を与えられる存在ではないですが、「誰かの体験が豊かになり、見えない喜んでいる顔を想像して」頑張ってきました。
社会と繋がるってこういうことなんだな〜〜〜と社会人2年目にして感じました。
リリースを成功させるため、ドキュメントを読み漁り、
アプリ公開に直接関係のないトラブルにも粘り強く向き合ってきました。
端末のOSやスペックは千差万別。限られた情報から問題を特定し、
一人ひとりに安心してお使いいただける品質を追求しています。
本記事では、私自身が実際に検索したキーワードをあえて盛り込み、
同じ課題に直面した開発者の皆さんが “検索 → ヒット → 解決” の流れでたどり着けることを願っています。
はじめに
この記事は2025/10/08時点での情報をまとめているブログです。参考にしていただけるのはとっても嬉しいですが、最新の情報を確認の上で参考程度でお願いいたします。
Android アプリケーションの初回リリースは、開発者にとって重要なマイルストーンです。Google Play Console の仕様変更や新しいポリシー要件により、2025年現在のリリースプロセスは以前よりも複雑になっています。
本記事では、Flutter/ネイティブAndroid問わず、すべてのAndroidアプリ開発者向けに最新の初回リリース手順を詳細に解説します。
事前準備チェックリスト
必須アカウント・ツール
✅ 必要なアカウント
- Google Play Console 開発者アカウント ($25 一回限りの登録料)
- Google アカウント (組織用推奨)
- Android Developer アカウント
✅ 開発環境
- Android Studio 2023.3.1 (Iguana) 以降
- Android SDK 34 (Android 14) 以降
- Java 17 以降 (推奨: OpenJDK 17)
✅ リリース準備済みアプリ
- 署名済みリリースAPK/AAB
- アプリアイコン (適応型アイコン対応)
- プライバシーポリシー URL
- アプリの説明文・スクリーンショット
上記は最低限用意しないといけないものです。
詳細は以下の通りです。満たせているか確認してみましょう。
署名済みリリースAPK/AAB
Android App Bundle (AAB) 要件 - 2025年版
ファイル仕様
| ファイル形式 | aab (Android App Bundle) |
| 最大ファイルサイズ | 150MB |
| 圧縮後サイズ | 推奨100MB以下 |
| 署名 | リリース用キーストアで署名済み |
| Target SDK | 34 (Android 14) 以降 - 必須 |
| Min SDK | 21 (Android 5.0) 推奨 |
Target SDKの2025/10/08現在最新の状況は以下の通りです。
Target SDKの更新かけると要件を満たすために開発環境の更新が必要なことが多いので、適宜リリースノートを確認するのがおすすめです。
Google Playの段階的要件更新
2024年後半からの変更スケジュール
2024年8月31日以降: 新規アプリは Target SDK 34 (Android 14) 必須
2024年11月1日以降: 既存アプリ更新も Target SDK 34 必須
2025年後半予定: Target SDK 35 (Android 15) への移行開始アプリ署名の準備
キーストアファイルの生成
C# コマンドライン版
keytool -genkey -v -keystore ~/upload-keystore.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias upload
# 必要情報入力例
# Name: [アプリ名]
# Organization: [会社名]
# City: Tokyo
# State: Tokyo
# Country: JP重要: キーストアファイルとパスワードは絶対に紛失しないよう複数箇所にバックアップしてください。
key.propertiesファイルの作成
CstorePassword=<keystore-password>
keyPassword=<key-password>
keyAlias=upload
storeFile=<path-to-keystore>/upload-keystore.jksbuild.gradleの署名設定
Cdef keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 34
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}リリースビルドの作成
Android App Bundle (AAB) の生成をします。
2025年現在、AABが推奨形式です。APKよりもファイルサイズが削減されます。
C# Flutter プロジェクトの場合
flutter build appbundle --release
# ネイティブ Android の場合
./gradlew bundleRelease必須ポリシー対応の確認
2025年必須要件
- Target SDK 34 (Android 14) 以降
C// android/app/build.gradle
android {
compileSdkVersion 34
targetSdkVersion 34
}2. 16KB Page Size 対応
C// android/gradle.properties
android.experimental.enableSdkExtensions=true3. 64bit アーキテクチャ対応
C// android/app/build.gradle
android {
defaultConfig {
ndk {
abiFilters 'arm64-v8a', 'x86_64'
}
}
}API35については後述します。
Android 15 (API Level 35) の状況
Android 15の正式リリース状況確認
Android 15 (API 35): 正式リリース済み (2024年10月)
Android 16 (API 36): 開発者プレビュー段階現在必須: Target SDK 34 (Android 14)
2025年後半移行予定: Target SDK 35 (Android 15)
API 36要件: まだ正式発表されていないGoogle Play Console の開発者ポリシーページで最新要件を確認するのが最も確実なので、以下の内容から確認してみてください。
必須対応項目
アプリアイコン要件
適応型アイコン (Adaptive Icon) - 必須対応
基本仕様
サイズ: 512 x 512px (Play Console用)
ファイル形式: PNG (透明背景不可)
色深度: 32bit RGBA
ファイルサイズ: 1MB以下
カラープロファイル: sRGB適応型アイコン構成要素
C<!-- res/mipmap-anydpi-v26/ic_launcher.xml -->
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>各レイヤー要件
Background Layer: 108 x 108dp (セーフゾーン: 中央72 x 72dp)
Foreground Layer: 108 x 108dp (セーフゾーン: 中央72 x 72dp)
Monochrome Layer: 108 x 108dp (2025年新規追加 - テーマ対応)
デバイス別出力サイズ:
- mdpi: 48 x 48px
- hdpi: 72 x 72px
- xhdpi: 96 x 96px
- xxhdpi: 144 x 144px
- xxxhdpi: 192 x 192pxアイコン作成時の注意点
❌ テキストの埋め込み (多言語対応不可)
❌ 極小のディテール (視認性悪化)
❌ 著作権侵害要素
❌ Google のロゴ・商標
❌ アダルト・暴力的内容推奨デザインパターン
✅ シンプルで認識しやすい形状
✅ 十分なコントラスト
✅ ブランドカラーの効果的使用
✅ 様々な背景色での視認性確保
✅ 円形・角丸・正方形での適切な表示スクリーンショット要件 - 詳細仕様
スマートフォン用スクリーンショット
必須仕様 2025年版
枚数: 最低4枚、最大8枚 (必須)
ファイル形式: PNG または JPEG
ファイルサイズ: 各ファイル8MB以下
色深度: 24bit RGB以上
圧縮品質: 85%以上 (JPEG使用時)画面サイズ対応
縦向き (推奨):
• 1080 x 1920px (16:9)
• 1080 x 2340px (18.5:9)
• 1080 x 2400px (20:9)
• 1440 x 3120px (19.5:9) - 高解像度版
横向き:
• 1920 x 1080px (16:9)
• 2340 x 1080px (18.5:9)表示順序と内容推奨
1枚目: メイン機能・ホーム画面 (最重要)
2枚目: 主要機能の使用画面
3枚目: 特徴的な機能・UI
4枚目: 設定・その他の機能
各画面要件:
✅ 実際のアプリ画面のキャプチャ
✅ テキストの可読性確保
✅ UI要素の鮮明な表示
✅ ステータスバーの統一性タブレット用スクリーンショット (オプション)
7インチタブレット
サイズ: 1024 x 1768px または 1200 x 1920px
枚数: 最低1枚、最大8枚
向き: 縦向き・横向き両対応10インチタブレット
サイズ: 1440 x 2560px または 1600 x 2560px
枚数: 最低1枚、最大8枚
向き: 縦向き・横向き両対応品質要件チェックリスト
✅ 解像度: 推奨サイズに正確に合致
✅ 鮮明度: ボケやノイズがない
✅ 色再現: 実際のアプリと同じ色合い
✅ UI完整性: 切れているUI要素がない
✅ テキスト可読性: 最小フォントサイズ12sp以上
✅ ステータスバー: 時間「9:41」統一推奨
✅ バッテリー: フル充電表示内容・構成要件
禁止事項:
❌ モックアップ・合成画像
❌ 他社アプリのUI混入
❌ 個人情報の表示
❌ 著作権侵害コンテンツ
❌ 誤解を招く機能表示
推奨要素:
✅ 実際の機能デモンストレーション
✅ ユーザーベネフィット明示
✅ アプリの独自性アピール
✅ 使いやすさの表現
✅ ブランド一貫性🔗 プライバシーポリシー URL
URL要件
| プロトコル | HTTPS 必須 (HTTP不可) |
| アクセス可能性 | 24時間365日アクセス可能 |
| 言語対応 | アプリ対応言語すべてで提供 |
| レスポンシブ | モバイル最適化必須 |
| ページ表示速度 | 3秒以内推奨 |
| SSL証明書 | 有効な証明書必須 |
記載必須内容 (2025年版)
- データ収集項目の詳細
- 個人情報 (名前、メール等)
- 位置情報の取得・使用
- デバイス情報 (IDFA、Android ID)
- 使用状況データ
- データ使用目的
- サービス提供のため
- 分析・改善のため
- マーケティング目的
- 第三者提供の有無
- ユーザー権利
- データ削除要求権
- データポータビリティ権
- 同意撤回権
- 問い合わせ窓口
- 技術的保護措置
- データ暗号化
- アクセス制御
- セキュリティ監査
- 法的準拠
- 個人情報保護法準拠
- GDPR準拠 (EU向け)
- CCPA準拠 (カリフォルニア向け
アプリ説明文要件
短い説明 (Short Description)
文字数: 80文字以内 (日本語)
目的: 検索結果での訴求
要件:
✅ アプリの核心機能を簡潔に表現
✅ キーワード自然含有
✅ ユーザーベネフィット明示
❌ 特殊記号・絵文字多用禁止
❌ 「最高」「No.1」等の誇大表現禁止詳しい説明 (Full Description)
文字数: 4000文字以内 (日本語)
構成推奨:
1. アプリ概要 (100-200字)
2. 主要機能説明 (1000-1500字)
3. 使用メリット (500-800字)
4. 対象ユーザー (200-400字)
5. サポート情報 (100-200字)
SEO要件:
✅ 重要キーワード3-5回自然含有
✅ 関連キーワード10-15個散布
✅ 読みやすい改行・箇条書き使用
✅ 機能・ベネフィット中心の記述最終チェックリスト
リリース前必須確認事項
C□ AABファイル: 署名済み、150MB以下
□ アイコン: 512x512px PNG、適応型対応
□ スクリーンショット: 4-8枚、規定サイズ準拠
□ プライバシーポリシー: HTTPS、必須内容記載
□ 説明文: 短い説明80字以内、詳細4000字以内
□ 法的要件: Target SDK 34、16KB対応
□ テスト: 内部テスト完了、主要機能動作確認
□ ASO: キーワード最適化、競合分析実施このように、各要素には詳細な技術仕様と品質基準が設定されています。
すべての要件を満たしてから審査に提出することで、承認確率を大幅に向上させることができます。
特に2025年版では、16KB対応やプライバシー要件の強化など、新しい技術要件への対応が審査通過の必須条件となっていますので、十分に確認してください。
Google Play Console での新規アプリ作成
必須項目を満たしたら新規作成していきましょう〜
アプリの基本情報設定
1. Google Play Console にログイン
- https://play.google.com/console にアクセス
- 「アプリを作成」をクリック
2. アプリ詳細の入力
アプリ名: [アプリの正式名称]
デフォルト言語: 日本語
アプリまたはゲーム: アプリ
無料または有料: 無料/有料3. コンテンツレーティングの設定
- 年齢制限の適切な設定
- 暴力・性的コンテンツ等の確認
リリースのアップロード
内部テスト版リリースの作成
1. テストとリリース→ 内部テスト → 新しいリリースを作成
AABファイルのアップロード
ファイル選択で生成したAABを選択

2. リリースノートの記入

任意の内容を入力しましょう〜
製品版リリース手順
左メニュー「テストとリリース」→「製品版」→「新しいリリースを作成」
app-release.aabをドラッグ&ドロップ- リリースノートを入力(初回は「初回リリース」など)
保存して「レビュー」→「公開開始」
審査後に公開されても良い場合は、管理対象の公開をオフに設定。
公開する日が決まっている場合は、 左の【公開の概要】→管理対象の公開をオンにしてください。
以下の画像は、審査が完了しているものの、公開期日が決まっており、手動公開作業を後程実施予定のため、【7件の変更を公開】が活性状態になっています。
新しいリリースを作成が非活性になっていて新たに作成できない!
新規作成するつもりなかったのに押してしまった後とかになります。
【リリースダッシュボード】→【リリース】に移動します。
【リリースを編集】を押します。
【製品版リリースの作成】の【未公開リリースの破棄】を押します。
最終確認のダイアログが表示されました。
【未公開のリリースの破棄】を押します。
新しいリリースを作成できるようになりました。
⚠️ よくある失敗パターンと対策
審査で拒否される主な理由
1. ポリシー違反
- 対策: Google Play ポリシーの最新版を事前確認
- チェックポイント: 広告、課金、コンテンツ、プライバシー
2. 技術的要件不適合
- 対策: Target SDK、64bit対応、16KB対応の確認
- チェックツール: Play Console の事前起動レポート
3. メタデータ不備
- 対策: 説明文、スクリーンショット、アイコンの品質向上
- 確認事項: 誤字脱字、画像の適切性、情報の正確性
🔧 テスター向けトラブルシューティング
内部テスト版の配布・インストール時によくあるトラブルとその対処方法をまとめました。
1. テスターアカウントが承認されていない
【症状】
・「テスターではありません」と表示される
・配布リンクから「アクセスが拒否されました」となる
【原因】
- Google Play Console の内部テスト用グループ(メールリスト)にテスターを追加し忘れている
- 招待リンクを取得した Google アカウントと異なるアカウントで Play ストアにログインしている
【対処】
- Play Console → 「テスト」→「内部テスト」→「テスター管理」でメールアドレスを再確認
- テスター側に、テスト用招待メールから利用アカウントを確認してもらう
- Play ストア アプリのキャッシュ削除/アカウント切り替え後に再起動
2. Google アカウントの切り替えミス
【症状】
- 正しい招待リンクでも「アクセスできません」
- エラーテスト版が表示されない
【原因】
- デバイスに複数の Google アカウントが登録されており、Play ストアが誤ったアカウントを使用している
【対処】
- Play ストア → 右上アイコン → 使用するアカウントをテスター招待したアカウントに切り替える
- Play ストアを完全に終了 → 再起動 → 内部テスト配布ページを再読み込み
3. 本番版より内部テスト版のVersion Codeが低い
【症状】
- 「インストールできません」または「更新できません」と表示
- 製品版がアンインストールできない
【原因】
- Android のバージョン管理は Version Code が上位でないと更新不可。
- すでに本番版(production)をインストールしている端末では、内部テスト版の Version Code が低いと上書きできない。
【対処】
- 内部テスト版 の
versionCodeを必ず production より大きく設定してビルドし直す - もし production と同じビルド番号を利用したい場合は、一度本番版をアンインストールしてからテスト版をインストール
4. Play ストアキャッシュの古い情報
【症状】
・リンク先に「テスト版がありません」と表示される
・最新版が反映されない
【対処】
- 端末設定 → アプリ → Google Play ストア → キャッシュを削除
- 同様に Google Play services/Google Play services framework のキャッシュも削除
- デバイスを再起動して再度インストール
5.内部テストリンクで「An internal test version of this app has been shared with you Open this link Android device to download and install the app.」と出ているのにアプリのインストールができない
【症状】
- 内部テスターとして招待されているかつ、招待リンクも有効である表示が出ているのにストア遷移せず、アプリがインストールできない
【対処】
- 端末設定 → アプリ → Google Play ストア → キャッシュを削除
- デバイスを再起動して再度リンクを押下する
ユーザーが内部テストリンクを開くには以下のリンク先の事前作業が必要です。
これはよくあった障害ですが基本的にキャッシュクリアorアカウント切り替えで解消しました。
6.Androidアプリ内のWebView部分が表示されない
これが自分が対応した中で一番???????になった報告でした。ユーザーの端末のバージョンが影響しているなんて検知のしようがないですので、、、。
AndroidのWebViewは端末にインストールされた「Android System WebView(またはChrome)」エンジンをそのまま利用するため、エンジンが古いと最新のHTML/CSS/JSが動かず真っ白になるケースがあります。
【症状】
- Androidアプリ内のWebView部分のみ表示されない
【対処】
- Android System WebViewのバージョンアップ
- Chromeを最新にする(端末によってはChromeがWebViewエンジンを兼務)
- HTML/CSS/JSの後方互換策
- CSSの新機能(Grid/Flex gapなど)を避ける
- 必要なポリフィルを自前で読み込む
まとめ
必須項目を用意すれば割とどうにかなります。頑張りましょう。
スクショの未読のお知らせが赤くなっていますが、ポリシーの対応期限を延長し、承認されている状態でもこうなるんですよね〜〜
誰かの参考になれば嬉しいです。次は魔境iOS 、、、、、、、、、。書きます。






![Microsoft Power BI [実践] 入門 ―― BI初心者でもすぐできる! リアルタイム分析・可視化の手引きとリファレンス](/assets/img/banner-power-bi.c9bd875.png)
![Microsoft Power Apps ローコード開発[実践]入門――ノンプログラマーにやさしいアプリ開発の手引きとリファレンス](/assets/img/banner-powerplatform-2.213ebee.png)
![Microsoft PowerPlatformローコード開発[活用]入門 ――現場で使える業務アプリのレシピ集](/assets/img/banner-powerplatform-1.a01c0c2.png)


