ページの読み込みに通常より時間がかかりやすくなっています

GCPでAndroidアプリ開発環境を作る!

GCP

記事の更新は、1ヶ月ぶりです。
AndroidアプリをFlutterで作りたくなったので作ろうと思ったのですが、普通に作っては面白くないと思いました。なので、GCPでVMを作ってそこからAndroid StudioをインストールしてAVDとか使えるようにしたいと思いました。
いろいろ調べたのですが、細かい作成方法が見当たらなかったので、この記事を作成しました。GCPの公式ドキュメントもあります。

注:今回の内容は、GCPの課金対象となります。金額に関しては、注意しながら作成してください。問題が発生しても当ブログは、一切責任を取りません。

GCEで新規VMを作成

まずは、OSについてです。先ほどのGCPの公式ドキュメントを確認する限り下記のOSでVMを作成するように書かれています。今回は、Debian 9、カーネル バージョン 4.9とWindows Server 2016 Datacenter Editionで作成します。

  • 次のネストされた VM をホストする、カーネル バージョン 4.9 の Debian 9:
    • CentOS 6.5、カーネル バージョン 2.6
    • Debian 9、カーネル バージョン 4.9
    • RHEL 5.11、カーネル バージョン 2.6
    • SLES 12 SP3、カーネル バージョン 4.4
    • Ubuntu 16.04 LTS、カーネル バージョン 4.15
    • Windows Server 2016 Datacenter Edition
  • 次のネストされた VM をホストする、カーネル バージョン 4.4 の SLES 12 SP3:
    • SLES 12 SP3、カーネル バージョン 4.4
  • 次のネストされた VM をホストする、カーネル バージョン 4.15 の Ubuntu 16.04 LTS:
    • Ubuntu 16.04 LTS、カーネル バージョン 4.15

Debian 9、カーネル バージョン 4.9でVMを作る

では、VMを作成しましょう。今回は、Cloud Shellを利用します。

1. ブートディスクを作成します。(今回は、容量:100GB、リージョン:us-east1-b)
後ほど削除するので、名前とかはご自由に決めてください。(ここでは、”android-dev”となっています)

gcloud compute disks create android-dev --image-project debian-cloud --image-family debian-9 --size 100 --zone us-east1-b

上記のコマンドで、ブートディスクが完成します。

2. 続いて、先ほど作成したブートディスクの内容を下にしたイメージを作成します。(vmxのライセンスも入れます)今回は、androidというイメージを作成します。(イメージの名前は、変更してもらっても構いませんが、記事の内容ではandroidというイメージ名で進んでいきます。)一つ前の手順において、android-devというブートディスク名以外でブートディスクを作成した場合は、該当箇所を変更してから、コマンドに入力してください。

gcloud compute images create android --source-disk android-dev --source-disk-zone us-east1-b --licenses "https://compute.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"

上記のコマンドを入力してイメージの作成が完了したら、イメージをが本当にできているのか確認しましょう。
[Compute Engine]→[イメージ]を選択します。

先ほど作成したイメージ名と同じイメージが表示されていることを確認します。

3. 1番で作成したブートディスクを削除します。(無駄な費用がかかるため)
[Compute Engine] →[ディスク]で、先ほど作成したブートディスクと同じ名前のディスクを削除します。

4. VMを作成します。今回作成するVMは、下記のような構成となっています。CPUコアとメモリに関しては、GCPの公式ドキュメントにこれぐらいあれば良いと書いてあったのでその数値を今回は使用しています。(Android Studioを動かすのに)

インスタンス名android-studio(変更可)
ゾーンus-east1-b(変更はおすすめしない)
CPUプラットフォームIntel Haswell(変更不可)
イメージ名android(先ほど作成したイメージ名)
cpuコア4(4以上に変更可)
メモリ15(15以上に変更可)
gcloud compute instances create android-studio --zone us-east1-b --min-cpu-platform "Intel Haswell" --image android --custom-cpu 4 --custom-memory 15

上記のコマンドでエラーなく作成が完了したら、[Compute Engine]→[VMインスタンス]より、作成したVM名が存在しているかを確認します。

上記のようになっていればVM作成完了です!

GUIに対応させる

初期の状態のLinuxでは、CUIになっています。なので、GUIを利用できるようにしていきます。

1. 先ほどのVMインスタンス一覧よりVMにSSH接続します。

2. 一応、アップデートとかいろいろします。

apt update
apt upgrade

3. LXDEをインストールします。

apt-get install lxde

いくつか聞かれますが端末にあった設定を行ってください。(まぁまぁ時間がかかります)

4. TightVNC Serverをインストールします。

apt-get install tightvncserver

5. ファイアウォールの設定を行います。
[Compute Engine]→[VM インスタンス]→[先ほど作成したVM]→[編集]→[ネットワークタグ]に”android”と入力します。

[VPCネットワーク]→[ファイアウォール]→[ファイアウォール ルールの作成]を選択します。
下記の部分を変更します。

名前android-firewall(変更可)
ターゲットタグandroid(先ほどネットワークタグに入力した値)
ソースIPの範囲0.0.0.0/0(変更不可)
プロトコルとポートtcpにチェックを入れ、5901と入力(変更不可)・下記の写真を参考

上記と同じように設定をできたら、作成します。

6. 接続します。
今回は、ここからVNC Viewerをインストールして利用します。接続する際のIPは、<VMインスタンスに書かれているIP:5901>と入力してください。

接続できれば完了です。

『推奨』Windows Server 2016 Datacenter EditionでVMを作る

Windows Server 2016 Datacenter EditionでVMを作ります。Linuxに比べると接続が状況が良いのでこちらをおすすめします。

1. ブートディスクを作成します。(今回は、容量:100GB、リージョン:us-east1-b)
後ほど削除するので、名前とかはご自由に決めてください。(ここでは、”android-dev”となっています)

gcloud compute disks create android-dev --image-family windows-2016 --image-project gce-uefi-images --size 100 --zone us-east1-b

上記のコマンドで、ブートディスクが完成します。

2. 続いて、先ほど作成したブートディスクの内容を下にしたイメージを作成します。(vmxのライセンスも入れます)今回は、androidというイメージを作成します。(イメージの名前は、変更してもらっても構いませんが、記事の内容ではwin-androidというイメージ名で進んでいきます。)一つ前の手順において、android-devというブートディスク名以外でブートディスクを作成した場合は、該当箇所を変更してから、コマンドに入力してください。

gcloud compute images create win-android --source-disk android-dev --source-disk-zone us-east1-b --licenses "https://compute.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"

上記のコマンドを入力してイメージの作成が完了したら、イメージをが本当にできているのか確認しましょう。
[Compute Engine]→[イメージ]を選択します。

先ほど作成したイメージ名と同じイメージが表示されていることを確認します。

3. 1番で作成したブートディスクを削除します。(無駄な費用がかかるため)
[Compute Engine] →[ディスク]で、先ほど作成したブートディスクと同じ名前のディスクを削除します。

4. VMを作成します。今回作成するVMは、下記のような構成となっています。CPUコアとメモリに関しては、GCPの公式ドキュメントにこれぐらいあれば良いと書いてあったのでその数値を今回は使用しています。(Android Studioを動かすのに)

インスタンス名android-studio(変更可)
ゾーンus-east1-b(変更はおすすめしない)
CPUプラットフォームIntel Haswell(変更不可)
イメージ名android(先ほど作成したイメージ名)
cpuコア4(4以上に変更可)
メモリ15(15以上に変更可)
gcloud compute instances create android-studio --zone us-east1-b --min-cpu-platform "Intel Haswell" --image win-android --custom-cpu 4 --custom-memory 15

上記のコマンドでエラーなく作成が完了したら、[Compute Engine]→[VMインスタンス]より、作成したVM名が存在しているかを確認します。

上記のようになっていればVM作成完了です!

5. ファイアウォールの設定を行います。
[Compute Engine]→[VM インスタンス]→[先ほど作成したVM]→[編集]→[ネットワークタグ]に”android”と入力します。

[VPCネットワーク]→[ファイアウォール]→[ファイアウォール ルールの作成]を選択します。
下記の部分を変更します。

名前android-firewall(変更可)
ターゲットタグandroid(先ほどネットワークタグに入力した値)
ソースIPの範囲0.0.0.0/0(変更不可)
プロトコルとポートtcpにチェックを入れ、3389と入力(変更不可)・下記の写真を参考

上記と同じように設定をできたら、作成します。

6. VMに接続する。
Microsoft Remote Desktop clientを利用します。インスタンス の外部IPをPC nameに入力します。User accountは、VMインスタンス 一覧からVMインスタンス を選択します。Windowsパスワード設定を選択します。

ユーザー名は、覚えられるものにします。ユーザー名を入力すると自動的にパスワードが生成されます。パスワードは、一度しか表示されないのでコピーしておく必要があります。ここで、設定・表示されたユーザー名とパスワードをUser accountに入力します。

接続できれば完了です!

IEとCheomeについて

Windows Serverは、初期で起動させるとブラウザがIEしかありません。IEは、くせ者で、Download やセキュリティーにやたら細かいです。なので、Chromeをインストールすることをおすすめします。IEでChromeと検索します。検索するだけでもいろいろ聞かれます。基本Yesを選択してください。停止マーク見たいのが出ますが、それはCloseを選択します。Chromeのダウンロード画面まできたら、右上の歯車アイコンからInternet optionsを選択します。[Security]→[Custom level]を選択します。その中から、[Downloads]→[File Download]をEnableに変更します。[Scripting]→[Active scripting]をEnableに変更します。どちらも変更できたらOKを選択します。(Warning!と出ますが、Yesを選択します。)変更したら、Applyを選択します。最後にOKを選択し、Chromeをダウンロードします。(セキュリティー設定を変更したら一度サイトをリロードさせる必要があります)ダウンロード後は、指示に従ってインストールを行ってください。

Android Studio のインストールについて

先ほどの方法でChromeをインストールさせたのちにAndroid Studioをインストールします。
AVDも利用することができます。

実用性について

実際、使ってみてどうだったのかと話します。
ほとんどうまく使えませんでした。実用性がないです。CPU4コアが無理のあったようです。AVDを起動させたところうまく動きませんでした。ちなみに、16コア15GBにしたところ動くようになりました。欠点として、リモート接続になっているのでかなりのラグを感じます。
まぁ、もう使わないでしょう。いいパソコンを買った方が良い気がします。

VirtualBoxについて

仮想環境を利用できるVMなので、VM上にさらにVMを作成することができます。
少し試してみようと思い、Kali Linuxをインストールさせてみました。インストール中緊急事態が起こりました。なんと、仮想通貨マイニングの疑いでVMを強制シャットダウンさせられました。
初めて、こんなことが起こりました。さすがに驚きました。一応、異議申し立てをしておきました。ですが、一向に解除される雰囲気がしなかったのでVMを削除しました。

まとめ

Android開発環境を作成しようとGCPでVMを作成しましたが、うまくいきませんでした。
真面目に開発をしたいならば、いいPCを買うべきです。笑


この記事に関してご質問・訂正がある場合には、コメント欄にてお知らせください。
その他のことに関しましては、こちらから行ってください。


この記事を書いた人

このサイトの管理者。現在、学生。
NiziU大好き。RIO推し!
プログラミングは、趣味程度に。相模原市 新型コロナウイルス感染症対策サイトを作成・運用中(下記のホームアイコンより閲覧できます)

yuuuuu_mmmmuをフォローする
GCP
Assistant App blog
タイトルとURLをコピーしました