Memorandum

普段の生活の覚え書き。主に技術録

Android Studioのインストール時の問題・解決手段

Androidとは

スマートフォンと言えばiPhoneAndroidが思い浮かぶと思いますが、Androidは世界のスマートフォン市場のOSで85%を占めているそうです。 Androidオープンソースライセンスで提供されており、誰でも自由にAndroidソースコードを入手して利用できます。 またAndroidを採用した携帯電話メーカーやキャリアは無償で携帯端末にAndroidを搭載し販売することできる上に、改変・追加開発した部分を公開する必要もありません。 (一部の機能とLinuxカーネルとそのライブラリは公開する必要があるそうですが...)

こういった仕様からAndroid市場が大きく成長を続けている要因と見られます。

Androidアプリ開発

Androidのアプリケーションの開発には以下のようなツールを使いますが、全て無料で提供されており、パソコンがあればすぐに開発に取り組むことが出来ます。

WindowsPCでも開発は出来ますが、最近はMacでの開発者も多くなっているようです。 理由として、実機の接続にドライバが不要だったり、AndroidiOSの開発ができることが挙げられるそうです。

Kotlin(ことりん)

AndroidアプリはJavaで開発を行うのが唯一の選択肢でしたが、Android Studio 3.0のリリースと共に新言語Kotlinのサポートが開始されています。 KotlinはJVM(Java Virtual Machine:Java仮想マシン)上で動作することも含め、Javaと100%の互換性があるため、Java開発者も習得が容易な言語になっているそうです。 更にKotlinは次のような特徴があります。

  • 簡潔な少ないコードで済む
  • Null安全である
  • ラムダ式など関数型プログラミングの概念を取り入れている
  • 拡張関数によるクラスの拡張
  • Javaとの相互運用性が高くJavaで書かれたライブラリを引き続き使える

私もAndroid開発を始めるにあたってKotlinを使ってみましたが、JavaPythonJavascriptのような軽量言語の特徴を合わせたような感じで楽に書ける印象でした。

インストール

Android Studioのインストールを行ったのですが、少し躓いたのと、別のソフトが影響を受けたので、原因と解決方法を踏まえて共有したいと思います。

https://developer.android.com/studio/?hl=ja

基本的にダウンロードして、インストールを画面の指示にしたがって勧めていくだけですが、Windowsではインストール後のセットアップ画面で、Google USB Driverをインストールする必要があります。

android_stdio

そしてセットアップ後、実際にアプリ開発に入っていくのですが、その前にPC上で動作するAndroid端末のエミュレータを設定します。 その際に私のWindowsPCでは「intel haxm this computer does not support」とエラーメッセージが表示されエミュレータを起動できませんでした。 haxmとはIntel の Hardware Accelerated Execution Manager (HAXM)のことでIntel CPU を実行するコンピューターのための仮想化エンジンだそうです。

https://docs.microsoft.com/ja-jp/xamarin/android/get-started/installation/android-emulator/hardware-acceleration?pivots=windows

上記を参考にHyper-VWindows ハイパーバイザー プラットフォームを有効化すると、無事にエミュレータの起動ができました。

別問題

しかし、後日別の問題が発生しました。 以前別記事でnox app playerを使用していたのですが、

どうやらHyper-VWindows ハイパーバイザー プラットフォームを有効化していると、nox appを起動したときにブルースクリーンが発生し強制的に再起動になってしまうようです。 そのため、nox appを使用する際はHyper-VWindows ハイパーバイザー プラットフォームを無効化するか、もしくは開発の際に実機を使うなどの対策が必要です。

スマホアプリ開発への第一歩

とりあえずこれで、Androidアプリの開発環境が整いました。 私は参考書を購入して読み進めており、作ってみたいアプリがあるので参考書が終わったら開発に取り組んでみようと思います。 時間はかかるかもしれませんが、完成した際にはこのブログでも紹介しようと思うので、気長に待っていただけると嬉しいです。 またiOSアプリ開発にも興味があるので、そちらの方も取りかかれればいいなぁと思っています。