グレインの備忘録

プログラミング関係とかをつらつらと。

<2018年版>Android開発環境をLinux(ArchLinux)に導入

Android SDKなどの開発環境をLinuxにインストールする。

Deprecatedになってしまったコマンドラインツール群

LinuxAndroid SDKを使う!」となれば、コマンドでガリガリ開発できるとワクワクしている人もいるだろう。実際私もかなり楽しみにしていた。

しかしながら!!!コマンドツールはdeprecatedになってしまったのである!!!

deprecatedになっただけでなく、ビルド機能などもバッサリ削除されてしまった。

f:id:grainrigi:20180106191020p:plain

従って、コマンドラインのみでAndroid開発を行うのは実質不可能となってしまった。

「For manual SDK, AVD, and project management, please use Android Studio.」というのがGoogleの方針らしい。

仕方ないのでAndroid Studio

仕方がないのでIDEを使うほかない。全く悲しい限りだ。
では簡単にインストール方法を。

Android Studioのダウンロード

公式サイトからダウンロードする。

Android Studio と SDK ツールをダウンロードする | Android Studio

Android Studioのインストール

落としたzipを展開するだけ。ただし、必ず書き込み権限のある場所に展開すること。

$ unzip android-studio-ide-171.4443003-linux.zip -d ~/android/

ここでは~/androidに展開する。

初期設定

終わったら、~/android/android-studio/bin/studio.shを実行。すると、IDEが立ち上がる。

UIのスタイルやSDKのインストール先を聞かれるのでウィザードに従ってすすめる。

ここでは~/android/sdkSDKをインストールした。

プロジェクトを作ってみる

終わると下のような画面が出る。

f:id:grainrigi:20180106235832p:plain

試しにプロジェクトを作ってみよう。「Start a new Android Project」を選択する。

とりあえず全てデフォルトで作ってみた。

f:id:grainrigi:20180107000106p:plain

ところが、いきなり下側にエラーが出ている。

f:id:grainrigi:20180107000131p:plain

自動でインストールされたSDKAPI Versionが27なのに、指定されているバージョンが26であるのが原因の模様。

「app/build.gradle」を編集する。

以下のように「compileSdkVersion」と「targetSdkVersion」を「27」に変える。

f:id:grainrigi:20180107000821p:plain

さらに、忘れてはいけないのはビルドツールのバージョンをSDKバージョンと揃えることだ。

以下のように「buildToolsVersion」を「27.0.3」に、サポートライブラリのバージョンを「27.0.2」にする。

f:id:grainrigi:20180107001359p:plain

これでビルド(Make Project)してみると、特に失敗すること無く終わる。

試しに実行…ところが

試しに実行してみよう…と思うと、なんと「Run」ボタンがグレーアウトしてしまっている。

これは、GradleプロジェクトがAndroidStudioに認識されていないことが原因らしい。

右ペインから「Gradle」ウィンドウを開き、「Refresh all Gradle Project」(更新ボタン)を押す。

f:id:grainrigi:20180107002235p:plain

さらに、メニューの「Tools」→「Android」→「Sync Project with Gradle Files」を押す。

すると、Runボタンが押せるようになる。

AVDの作成も一苦労

実機がある場合はあとはUSB接続からのUSBデバッグ許可でデバッガなどが使えるようになる。

ここではエミュレーターを使ってみよう。

Runボタンを押すと「Select Deployment Target」というウィンドウが出てくるが、右下に「Create New Virtual Machine」というボタンがあるので押す。

ハードウェア、システムイメージは自分の必要に合わせて選択する。(NDKを利用する場合でもエミュレータx86のもので構わない。)

最後が重要で、「Emulated Performance」を「Software - GLES 1.1」にしなければ動かないことがある。(当方ではHardwareにするとSEGVで落ちた。)

f:id:grainrigi:20180107003214p:plain

これでエミュレータを試しに起動してみると、エラーが出て動かない。

EventLogを見てみると、ドライバのロードに失敗している模様。

調べたら解決法があった。

qiita.com

これで起動するようになった。

まとめ

コマンドラインで開発できないのは残念だった上に、IDEを動かすにも何かと手間がかかったりと、すっかりAndroidStudioが嫌いになってしまった。 IDEを推進するならはじめからうまく動いてほしいものだ。(ここまでたどり着くのに2時間くらいかかった)