#Flutter アプリをグーグルストアに公開する
今回は公式ドキュメントを見てもわからなかったのでリサーチしたところ、何とか公開までたどり着きました。
#準備
git でバージョン管理をしているならブランチをrelease1.0.0に移動させましょう。特に重要ではありませんがしていると便利です。
##アプリアイコンを作成
今回はflutter_launcher_iconsというpackageを使用してアイコンを作成します。このパッケージはandroid用アイコンのpngファイルを作成して自動であるべきディレクトリーに配置してくれる便利アプリです。このパッケージを使用するために3つのpngファイルを用意します。
アイコンはillustratorなどで1024 × 1024で作りましょう
##参照リンク
参照リンク
ドキュメンテーション
三つのアイコンを/assets/icon/に移動する
それぞれをbackground.png, foreground.png, icon.pngと名付ける
##アプリアイコンを宣言
dev_dependencies:
flutter_launcher_icons: ^0.7.0
//改行している箇所に注意
//flutter pub get
flutter_icons:
ios: true
android: true
image_path_ios: "assets/icon/icon.png"
image_path_android: "assets/icon/icon.png"
adaptive_icon_background: "assets/icon/background.png"
adaptive_icon_foreground: "assets/icon/foreground.png"
android/app階層に作成する
storePassword=<storepassword>
keyPassword=<keyPasword>
keyAlias=<aliaName>
storeFile=<place you saved your key.jks in local>
sdk.dir=C:\\Users\\YOURNAME\\AppData\\Local\\Android\\sdk
flutter.sdk=C:\\flutter <-flutterSDKの場所
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.versionCode=1
この部分を削除して
android {
こちらのコードを追加する。
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
この部分を削除して、、
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now,
// so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
こちらのコードを挿入する
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
app階層に新しいproguard-rules.proファイルを追加する
内容はこちらをコピペしてください
## Flutter wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-dontwarn io.flutter.embedding.**
!!注意!!
公式ではここでpro fileを有効にしろと書かれていますかAPKのビルドに失敗するので無効にします
公式では
android {
...
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
実際にはこう
android {
...
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
useProguard false
}
}
}
このコマンドを実行するとandroidディレクトリー階層にbuildファイルが作成されます
flutter build bundle
このコマンドで/build/app/outputs/apk/release/にapk fileが生成されるのでそれをgoogleコンソールにアップロードすると完了です。
flutter build apk
実機にrelease build版アプリをインストールする場合は下記のコマンドをじっこうする(USBなどで実機が接続されていることを確認しましょう)
flutter install
エミュレーターの場合はinstall failedとなります。ただいま原因究明中です。
次回にアップデートを行う際にはpubspec.yamlファイルでflutterのversionを変更することでapkのバージョンを変更できます。build apkコマンドを行う前に変更しましょう。
version: 1.0.0+2
#リンク(参照元)
#まとめ
ちなみにこちらが私の公開したアプリです。良ければ使ってみてください
Shot Spinner: for Android
Shot Spinner: for iOS
#Flutter関連記事
Flutter 入門 -textFieldを開いたときにkeyboardを表示しない-
Flutterでtodo Listを作ってみた -初心者必見-
flutterでQRコードリーダーを作ってみた
ルーレットアプリ作ってみた