KotlinでAndroidアプリの作成
はじめに
Kotlinを使ったAndroidのアプリの作成を行います。
記事の所々で私が参照したリンクを貼っているので、初学者の方でも一緒に手を動かせる内容になっています。
ざっと概要から
まずは、Androidの公式ページから。静的型付け、Null安全、いいですね。
次に、Kotlinの公式ドキュメント。
英語はFlutterを勉強した時、少し読めるようになったぐらいですが、
Google翻訳があれば、大抵の箇所はちゃんと意味が伝ってきますね。
Androidアプリの作成
kotlin公式のチュートリアルから始めていきます。
エディターはFlutterでも使った、Android Studio。
まずは、プロジェクトの作成。
※プロジェクトの作成の中で出てくるMinimum API levelについて
こちらのサイトが参考になったのですが、低い値を指定してしまうと、古いバージョンのAndroidOSのユーザーをサポートすることになってしまいます。
古いバージョンだと、Androidの最新機能などが使えないケースが多いようなので、実際のプロダクト開発の現場では、Minimum API levelの値について議論が行われているようです。
Androidアプリを作成するだけなら、あまり気にしなくていいのですが、Androidアプリ開発を仕事にする方は、覚えておきたい点です。
今回はこのアカウントに習って、23を指定しました。
次に、アプリケーションの実行。
※ここからエラーが続くので、順調に行けた方は目次の「Androidアプリの作成【エラー解決】」まで飛ばしてください
ERROR/(^o^)\。しかもログやエラーを見ても、一見なんの脈絡もない。
アプリケーションを作成するとき、
下の方に出ている△のエラー。
プロジェクトのパスに空白が含まれてるので、問題起きますよ~
という内容みたいです。
仕方ないので、C:/Users 直下にworkspaceフォルダーを作成。再トライ
権限周りのエラー。所有者以外書き込めないようになっているので、
$ chmod 777 workspace
でOK。
じゃありませんでした。
Windowsの権限コマンド調べて、管理者モードで起動したPowerShellから解決しようかと思いましたが、GUIで解決。
深く追求しませんが、こんな感じの画面から変更できました。
無事エラー消えました。
Kotlinの勉強時間が少し削れてしまいましたが、1年前の勉強を始めたころに比べて自分の対応力が大幅に上がっていることが実感できたのでOK。
という夢を見ていましたorz
さすがにKotlinは今日初めてなのでググったところ、パッケージ名に 'kotlin' は使えないとのこと。
たしかにエラーにもそう書いてありますね。。。英語力不足でいまいちピーンと来ず。。。
再トライ
Androidアプリの作成【エラー解決】
[おまけ]Windowsでビルドパフォーマンスを最適化する
windowsユーザーの方へおまけです。
Android StudioのEvent Logに、このようなログが出ていると思います。
これについて、こちらを参考に対処していきます。
ざっくりと、
アプリをビルドするときに多数のファイルを生成するのですが、その生成されたファイルの一つ一つに、ウイルス対策ソフトのリアルタイムスキャンが走るため、ビルドパフォーマンスが悪くなるとのことです。
この症状を回避するために、ウイルス対策ソフトのリアルタイムスキャンから特定のディレクトリを除外します。
特定のディレクトリというのが、上のログに書いてある、4つのディレクトリです。
それではやっていきましょう!以下は、Windows Defenderの対策です。
エンジニアっぽく、PowerShellからのコマンドで設定をします。
$ Add-MpPreference -ExclusionPath "[特定のディレクトリ]"
"[特定のディレクトリ]"の部分に、上の4つのディレクトリを1つ1つ入力/実行をしていきます。
これでできた、、かな?
試しに新しいプロジェクトを作成して、Event Logを確認してみましたが、特に何も表示されません。
できていなかったら申し訳ない。。。またこのログを見かけることがあったら更新したいと思います。
[2020/2/29 追記]
Android Studioのバージョンアップをしたあとに、またこのログを確認できました。
バージョンアップ後のAndroid Studioのディレクトリのみが記述されているため、上の方法で上手く問題に対処できていることが分かりました。
終わりに
ここまでで、Kotlinを使ったAndroidアプリの作成は終了です。
続きはここらへんになります。
気になった点など、気軽にコメントよろしくお願いします。
記事はいかがでしたか?サポートをして頂けると、もりもり成長していきます!