さて、今度こそ動かします。まずはプロジェクトの作成からです。
「Start a new Flutter project」をクリックします。
一般的なアプリケーションを作成するので、「Flutter Application」を選択します。「Next」をクリックします。
ここでは、新しいFlutterアプリケーションの情報を入力します。今回はお試しなので、おすすめの設定のままで大丈夫でしょう。「Next」をクリックします。
パッケージの名前を設定するようです。「Company domain」だけ、「ishikawasekkei.com」に変更してみます。「Package name」が変更されました。あと、「Sample Application」のところの「generate sample content」をチェックしてみましょう。きっとサンプルが作成されることでしょう。「Finish」をクリックします。
しばらく待った後、プロジェクトが開かれました。Android Studioをインストールした後に作っておいた仮想デバイスで動かしてみたいと思います。
この、デバイスを選ぶところで「Open Android Emulator: Pixel 3 API Q」を選択して、三角形をクリックしてみようと思います。
デバイスを選択すると仮想端末が開きました。そして、実行の三角形をクリックすると、「Initializing gradle…」で結構長い時間待たされた後、「Resolving dependencies…」が出てきて、警告が出てきました。
プライベートネットワークとパブリックネットワークの両方にチェックして、「アクセスを許可する」をクリック。許可しないと、使えませんからね。
おっと、エラーがでました。。。今のところ原因はよく分かりませんが、仮想デバイスがいけないのかも知れません。ちょっと調べてみないとねぇ。。。
と、言うことで調査完了いたしました。対応しまして、再度三角形をクリックして実行したところ、コンソールに以下のような出力が表示されまして、画面に最初のアプリケーションが表示されました。
やっと動きました!
さて、今回のエラーについて、どうやって対処したかというと、
1.http://dl-ssl.google.com/android/repository/platform-tools_r28.0.2-windows.zipをダウンロード。
2.解凍した「platform-tools」フォルダを、C:\Users\mitsu\AppData\Local\Android\Sdk配下のフォルダと置き換える。
と、今回はただそれだけでした。ちなみに、解決方法については、ここに記載されていました。内容は根本解決にはなっておらず、このフォルダの内容を以前のものにダウングレードするだけ、というものでした。
投稿はちょうど2日前のもので、このあたり、Flutterは現在進行形の開発環境で、かなり活発に利用されているなぁ、という感じがしました。Flutter開発をするなら、開発環境がまだ整備されていないのかも、という疑う姿勢と、英語で検索するスキルが絶対に必要だなぁ、と、思いました。
(追記:その2日後に、platform-toolsのバージョンが29.0.1と、リビジョンが一つ増えて根本解決していました。Flutter開発者集団は、優秀で仕事が早いですね!)
では、仮想環境ではなくて、本当に端末で動くのか、確認したいと思います。まずは、動かしたい端末の設定です。USBケーブルで接続して動かしていくのですけど、「開発者向けオプション」の「USBデバッグ」を有効にする必要があります。「開発者向けオプション」を表示させるためには、スマフォの「設定」-「システム」-「端末情報」と進み、「端末情報」の中の「ビルド番号」を数回タップすると表示されますので確認してみてください。ケーブルをつなぐとスマフォに「USBデバッグが接続されました」と表示されました。
ええと、Android Studioの上部に自動的に表示されると思っていたのですが、出てきませんねぇ。
もしかしたら、仮想環境でアプリを実行中だからかも知れませんね。と、いうことで仮想環境のアプリを終了してみます。
ダメですねぇ。。。
メニューにそれらしいものがないか、探してみます。
「Tools」の中に「Connection Assistant」というのを見つけました。クリックして見ます。
すると、右上に上記のようなウィンドウが開いて、スキャンが始まり、しばらくすると「SH-03K」という接続したぼくのスマフォが表示されました。「Next →」をクリックします。次の表示を見てみると、「USBデバッグ」を有効にせよ、と、書いてあって、手順も書いてありました(英語で)。「Next →」をクリックします。
ADB(Android Debug Bridge)serverをリスタートせよ、ということですので「Restart ADB server」ボタンをクリックします。
…全然表示は変わりませんねぇ。と、しばらくウロウロしていたのですけれど、ふと、スマフォの方を見てみると「USBデバッグを許可しますか?」と、聞いてきていました!ええと、もしかして、リスタートとか必要なかったのかも。スマフォの「OK」をクリックします。
はい、ちゃんと表示されました。選択して、実行します。
下の方のコンソールに実行中のメッセージがちゃんと出てきました。ここに選択した端末の名前が出てたのですね。
実機にも出力されました!
さて、噂のHot Reloadを試してみたくなりました。タイトル部分の「Flutter Demo Home Page」を修正してみます。
ここですね。ここの部分を、「フラッターでもホームページ」に変えてみます。
さすがに修正しただけでは変わりませんねぇ。ファイルを保存してみます。「Ctrl+S」を押してみます。
すぐにコンソールに「Performing hot reload…」と出力されました。
修正も、一瞬で反映されました。できました~!