1. kyorohiro

    Posted

    kyorohiro
Changes in title
+Dart x Flutter で、作成したAndroidアプリをGoogle Playに登録してみた
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,185 @@
+
+Dart x Flutter で作成したAndroidアプリをGoogle Playに登録してみました。本文ではそのノウハウを紹介します。
+
+![umiuni2d_demo_01.png](https://qiita-image-store.s3.amazonaws.com/0/54192/e60f2bd1-a323-c745-eb6e-9bd49a9a68b5.png)
+
+* Apk for Google Play
+ https://play.google.com/store/apps/details?id=info.kyorohiro.umiuni2d.demo.mino
+
+* Html5 version
+ http://kyorohiro.github.io/umiuni2d/mino2/web/main.html
+
+
+Dart x Flutter は、あなたが持つ、さまざまな問題を解決します。太字のところだけでも目を通してもらえるれば幸いです。
+
+
+<br>
+<br>
+# Dart x Flutter は快適!!
+
+## Dart x Flutter は マルチプラットフォーム
+
+まだまだ、 FlutterはAlpha版ですが、Dart x Flutter を利用する事で、Mac, Linux, Android, iOS 上で動作するアプリがつくれます。
+
+現時点では、Mac, Linux, iOSのアプリを作成するには、Flutterのソースからビルドする必要があるのですが、Androidに関してはワンコマンドでAndroidアプリを生成できます。
+
+
+## ワンコマンド、futter apk とするだけで一瞬でAPKが作成される。
+Dart x Flutter のビルド時間は異様に短いです。一瞬です。Dart VM が直接動作するので、DartのソースコードをAndroidに転送するだけで動作します。
+
+このため、煩わしいビルド時間から解放されます。
+
+
+## Dart VMが直接走るので超高速 & 起動が早い
+Dart VMが直接動作するので、WebView上でJavaScriptが動作するのと比較すると高速に動作します。 Dart x Chrome x PhoneGap を利用した環境と比較すると顕著でした。高速で起動し、快適に動作します。
+
+これによって、PCのブラウザーで動作しているゲームをスマートフォンに移植する際の、パフォーマンスへの調整時間が短縮されます。
+
+
+<br>
+<br>
+# ロウスペックのPCでも軽快!!
+開発環境はATOMがお薦めです。 Flutter x Dartでは、EclipseやAndrood Studioといった重い開発環境をいれなくても快適に開発できます。
+
+https://dart-atom.github.io/dartlang/
+
+
+## まずは試してみましょう。
+※ Macの場合
+
+```
+## Dart SDKのインストール
+brew tap dart-lang/dart && brew install dart --devel
+
+## Flutter のインストール
+git clone https://github.com/flutter/flutter.git -b alpha
+emacs ~/.bash_profile
+export PATH=`pwd`/flutter/bin:$PATH
+source ~/.bash_profile
+
+## Androidの設定
+brew install android-sdk
+emacs ~/.bash_profile
+export ANDROID_HOME=/usr/local/opt/android-sdk
+source ~/.bash_profile
+
+## アプリが依存するパッケージをインストール
+pub get
+pub upgrade
+
+## kyorohiroが作成したサンプルをダウンロード
+git clone https://github.com/kyorohiro/doc_2dgame.git
+cd demo/mino
+
+## APK 生成
+flutter apk
+```
+
+開発環境が整っている場合であれば、"flutter apk" とコマンドを入力するだけです。このコマンドを入力してもらえた方はわかると思いますが。一瞬で完了します。
+
+
+
+<br>
+<br>
+# Google Play へリリースするための、プラスワン
+
+まだ、Flutter は、アルファ版のため、Google PlayにリリースするためのAPKを生成する事ができません。今回、私はapktoolを使って生成しました。
+
+## アイコンを追加と署名を剥がす
+#### (1) apktoolをダウンロード
+http://ibotpeaches.github.io/Apktool/
+
+#### (2) apkを解凍
+```
+java -jar apktool_2.0.2.jar d app.apk
+```
+
+#### (3) マニフェストにアイコンを追加
+"android:icon="@mipmap/ic_launcher"" を追加します。
+
+```
+emacs AndroidManifest.xml
+```
+
+```
+<?xml version="1.0" encoding="utf-8"?>
+<manifest android:versionCode="1" android:versionName="0.0.1" package="info.kyorohiro.umiuni2d.demo.mino" platformBuildVersionCode="22" platformBuildVersionName="5.1.1-1819727"
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <uses-permission android:name="android.permission.INTERNET" />
+ <application android:icon="@mipmap/ic_launcher" android:label="Wonder Minon" android:name="org.domokit.sky.shell.SkyApplication">
+ <activity android:theme="@android:style/Theme.Black.NoTitleBar" android:name="org.domokit.sky.shell.SkyActivity" android:launchMode="singleTask" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:hardwareAccelerated="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
+```
+
+##### (4) アイコンファイルを追加
+解凍したAPK上で、以下のような配置になるようにアイコンファイルを追加します。
+
+```
+./app/res/mipmap-hdpi
+./app/res/mipmap-hdpi/ic_launcher.png
+./app/res/mipmap-mdpi/ic_launcher.png
+./app/res/mipmap-xhdpi/ic_launcher.png
+./app/res/mipmap-xxhdpi/ic_launcher.png
+./app/res/mipmap-xxxhdpi/ic_launcher.png
+```
+
+##### (5) APKを再結合する。
+```
+java -jar apktool_2.0.2.jar b app
+```
+
+##### (6) Good!!
+これで、無事、署名無しのAPKを生成する事ができました。
+
+
+
+
+<br>
+<br>
+
+# ほそく
+
+#### Memo : Flutter x Dart
+kyorohiroがFlutterについて、学習した事を記載しているメモ
+https://kyorohiro.gitbooks.io/hello_skyengine
+
+#### Umiuni2D
+今回のサンプルアプリ
+https://github.com/kyorohiro/doc_2dgame
+
+#### Dart x Flutterの公式サイト
+http://flutter.io/
+
+#### QiitaのFlutter 関連の記事
+http://qiita.com/takyam/items/4cfed5318da880276d98
+
+#### Sample: Apk for Google Play
+https://play.google.com/store/apps/details?id=info.kyorohiro.umiuni2d.demo.mino
+
+#### Sameple :Html5 version
+http://kyorohiro.github.io/umiuni2d/mino2/web/main.html
+
+#### ATOM Plugin
+https://dart-atom.github.io/dartlang/
+
+# Thanks!
+
+![umiuni2d_demo_2.png](https://qiita-image-store.s3.amazonaws.com/0/54192/7f222229-4b76-657d-11b4-3c1ff588eb15.png)
+
+最後まで、読んでいただきまして、ありがとうございました。
+(ref http://pixiv.me/kyorohiro)
+(ref https://play.google.com/store/apps/details?id=info.kyorohiro.umiuni2d.demo.mino)
+
+<br>
+<br>
+-------
+Kyorohiro Work
+http://kyorohiro.strikingly.com/
+
+