Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Release! Flutter app

Rui Kowase
March 29, 2018

Release! Flutter app

Rui Kowase

March 29, 2018
Tweet

More Decks by Rui Kowase

Other Decks in Technology

Transcript

  1. Release! Flutter app Rui Kowase @rkowase 2018/03/29 Dart Meetup Tokyo

    #4
  2. Profile • Name: Rui Kowase / 小和瀬 塁 • Account:

    @rkowase 2 Skill: Flutter (2 weeks), Android, etc...
  3. What’s Flutter Flutter makes it easy and fast to build

    beautiful mobile apps. https://github.com/flutter/flutter
  4. Expressive, beautiful UIs https://flutter.io/

  5. Feature • Build beautiful native apps in record time •

    Fast development • Expressive, beautiful UIs • Modern, reactive framework • Access native features and SDKs • Unified app development https://flutter.io/
  6. Question Are you • Web dev? • Android dev? •

    React Native dev? 6
  7. Flutter Documentation 7 https://flutter.io/docs/

  8. Flutter Documentation for Web/Android/ReactNative devs 8 https://flutter.io/docs/

  9. Develop & Release flow 9 Develop Build Release Setup

  10. Develop & Release flow 10 Develop Build Release Setup

  11. Dart 2 11 https://www.dartlang.org/dart-2

  12. Dart 2 in Flutter 12 https://github.com/flutter/flutter/wiki/Trying-the-preview-of-Dart-2-in-Flutter

  13. Dart 1 to Dart 2 13 Container( padding: EdgeInsets.all(16.0), child:

    Text("Flutter") ), Dart 1 new Container( padding: const EdgeInsets.all(16.0), child: new Text("Flutter") ), Dart 2
  14. Develop & Release flow 14 Develop Build Release Setup

  15. Build production app for Android - Step1 (Create key.properties) 15

    storePassword=<password from previous step> keyPassword=<password from previous step> keyAlias=key storeFile=<location of the key store file, e.g. /Users/<username>/key.jks>
  16. Build production app for Android - Step2 (Edit build.gradle) 16

    +def keystorePropertiesFile = rootProject.file("key.properties") +def keystoreProperties = new Properties() +keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android {
  17. Build production app for Android - Step3 (Edit build.gradle) 17

    +signingConfigs { + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile file(keystoreProperties['storeFile']) + storePassword keystoreProperties['storePassword'] + } +} +buildTypes { + release { + signingConfig signingConfigs.release + } +}
  18. Build production app for Android - Step4 (flutter build apk)

    18 $ flutter build apk --preview-dart-2 Initializing gradle... 1.0s Resolving dependencies... 8.1s Running 'gradlew assembleRelease'... Skipping AOT snapshot build. Fingerprint match. Built build/app/outputs/apk/release/app-release.apk (9.2MB).
  19. Demo (Dev/Build/Release)

  20. Summary • Develop by Android Studio and VSCode • Flutter

    Documentation for Web/Android/ReactNative devs • Dart 2 ready • Build app of release version by terminal and IDE • Many contributing chance 20
  21. Appendix 21

  22. Speaker Deck https://speakerdeck.com/rkowase/try-flutter 22

  23. Qiita https://qiita.com/rkowase/items/56f6606b7e101d939e10 23

  24. Qiita 24 https://qiita.com/rkowase/items/f1012ef0738791dd6084

  25. GitHub 25 https://github.com/flutter/website/pull/907

  26. GitHub 26 https://github.com/flutter/plugins/pull/436