11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FlutterでAndroidアプリをリリースした時に解決したつまづきポイントメモ。

Last updated at Posted at 2019-11-29

検証日時

2019年11月28日

全体的なリリースまでの流れと、本記事の概要

公式チュートリアルです。
https://flutter.dev/docs/deployment/android

英文がよくわからないという場合は、Chromeで日本語翻訳にかければほぼほぼ内容わかります。対応している単語がわからないときは翻訳を切って見比べると解決します。

このチュートリアルを進める時にエラーが出た部分にフォーカスして、その解決法(自分のケースでうまくいった操作)などを共有します。

iOS 版も公開中です。お役に立てば^^
https://qiita.com/k_mawa82/items/5b7fb10ff81c04ec3be9

ローカル動作確認した時のFlutter周り環境情報とパッケージの各バージョン

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.6, on Mac OS X 10.14.6 
 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.2)

パッケージ

#pubspec.yaml
dependencies:
  flutter:
    sdk: flutter

  rflutter_alert: ^1.0.2
  flutter_launcher_icons: any

署名構成の部分でコピペ忘れでデバッグ版ビルドに署名していたのを解決

チュートリアル「Configure signing in gradle」の「With the signing configuration info:」の部分について

signingConfig signingConfigs.releaseは初期設定だとdebugになっててコピペ忘れてGoogle Play Consoleアップ時に「ビルドの署名がデバッグバージョンにされてます」という趣旨のエラー出してしまいました。

content_copy
   signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile file(keystoreProperties['storeFile'])
           storePassword keystoreProperties['storePassword']
       }
   }
   buildTypes {
       release {
           signingConfig signingConfigs.release // ここを変更!

       }
   }

「Enabling Proguard」の「Step 2 - Enable obfuscation and/or minification」でのエラー

チュートリアルのそのままだとエラーでした。
the file you created in step 1:

android {

    ...

    buildTypes {

        release {

            signingConfig signingConfigs.release

            minifyEnabled true
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

下記の参考記事に沿って変更しました。そしたらうまくいきました。
the file you created in step 1:

android {

    ...

    buildTypes {

        release {

            signingConfig signingConfigs.release

            minifyEnabled false // ここを変更!
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

参考記事
https://qiita.com/chooyan_eng/items/022721c09ddfc758476e

$flutter build appbundle

でアプリバンドル作成(.aabファイル)、アップ
上記のポイントでエラー回避されていれば無事にリリースビルドが得られると思います。

Google App Console でのポイント

アプリの署名について。

3つ選択肢がありましたが、
自分は、Google Play アプリ署名を選びました。

(pepk.jarを使う暗号化も一度試しましたが、

なぜか下記のエラー報告のようにうまくいかなかったのですが、
https://stackoverflow.com/questions/52269806/error-running-pepk-app-signing-tool-at-command-line-java-jar-pepk-jar

上記Google Play アプリ署名を選択したら不要になったので結果オーライです。)

なお、証明書ダウンロードなど色々出てきますが、Flutterプロジェクトに新たに追加操作するなどの必要はないです。当初に行った鍵生成→署名つきリリースビルドで署名に関する操作は完了しています。

Consoleでチェックマークがある項目は全部埋めないとリリースできない。

「アプリの署名」や、「ストアの掲載情報」、「コンテンツのレーティング」などチェックマークが薄く灰色で示されている部分は入力必須項目なので埋めます。

下記が参考になりました。
https://www.cotegg.com/blog/?p=1807

コードアップからリリースまでかかった時間計測

テスト版app.bundleをアップしてから審査完了(問題なしストレート)で4日間
その後同じバンドルを製品版公開してから、1日後に審査完了でGooglePlay一般公開完了

という感じでした。

なおリリースしてすぐの現在GooglePlayでの検索には引っかからない状態です。ので、直リンクでTwitterやブログなどの広報記事から誘導する必要があるようです。

iOS 版も公開中です。お役に立てば^^
https://qiita.com/k_mawa82/items/5b7fb10ff81c04ec3be9

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?