kokoichi206 / flutter-app

0 stars 0 forks source link

環境構築メモ #1

Open kokoichi206 opened 2 years ago

kokoichi206 commented 2 years ago
kokoichi206 commented 2 years ago

Flutter のそれ

$ flutter doctor

$ flutter --version
Flutter 3.0.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision f1875d570e (7 weeks ago) • 2022-07-13 11:24:16 -0700
Engine • revision e85ea0e79c
Tools • Dart 2.17.6 • DevTools 2.12.2
kokoichi206 commented 2 years ago

Android Studio

Screen Shot 2022-08-29 at 23 00 41 Screen Shot 2022-08-29 at 23 06 40
kokoichi206 commented 2 years ago

Android Build

$ cd android/app
# key の生成
## null-safe でないライブラリ使用している場合は、-storetype JKS をつける
# $ keytool -genkey -v -keystore ./key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key -storetype JKS
$ keytool -genkey -v -keystore ./key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
# key に関する設定ファイルの作成(CI で書き換える)
$ echo -n 'storePassword=<パスワード>\nkeyPassword=<パスワード>\nkeyAlias=key\nstoreFile=key.jks\n' > key.properties
# ----- ここで build.gradle を編集する -----
## 変更箇所
android {
    ...
    signingConfigs {
        release {
            keyAlias 'key'
            keyPassword 'hogehoge'
            storeFile file('key.jks')
            storePassword 'hogehoge'
        }
    }

    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.release
        }
    }
}

リリースビルド

# install させるとき
flutter build apk
flutter install

右上にデバッグの印がないので成功してるっぽい。

Screen Shot 2022-08-30 at 1 29 28

CI でリリースビルド

# 以下の値を `ENCODED_RELEASE_KEYSTORE` に設定する
base64 android/app/key.jks
kokoichi206 commented 2 years ago

iOS Build

リリースに上げる方法が Android(apk のバイナリ)と違って、XCode でぽちぽちやる形式だったため、CI でビルド・リリースやるのが適切でない可能性もある(要調査

Xcode Cloud の TestFlight とか使ってみたい。。。 https://docs.flutter.dev/deployment/ios#release-your-app-on-testflight

TestFlight allows developers to push their apps to internal and external testers. This optional step covers releasing your build on TestFlight.

テスト版リリースもできるのか