アニマネ開発日誌

アニメアプリのアニマネの開発日誌です。

iOS開発者が作る、初めてのAndroidアプリ (環境構築編)

ちょっと思い立ってAndroidアプリも作ってみようかと思いました。

分からないことだらけなので、メモ的に残しながら勉強してみたいと思います。

iOS同様に公式のドキュメントはわりとしっかりしているみたいでしたので、 本来はじっくりドキュメントを読み込んでから行いたいところですが、 今回はとりあえず手を動かす形で進めていきます。

ということで今回は環境構築編。
OSはMacです。

ちなみにJavaは遥か昔に授業でちょっと使っただけなので、全く分からないも同然の状態です。

Android Studioのダウンロード

今はEclipseではなくAndroid Studioが主流のようなので、Android Studioを選択。

Android Studio と SDK Tools のダウンロード | Android Developers

Android Studioのダウンロードにえらく時間が掛かった。
3時間ぐらい。。。

インストール

MacJavaが入ってなかったので、Android Stuidoの指示通りに入れてインストールを実行する。
ここまでは順調。

プロジェクトの作成

早速作ってみる。

  1. プロジェクト情報の入力 f:id:animane:20151107131358p:plain
  2. SDKの選択 f:id:animane:20151107131400p:plain Androidはデバイスとバージョンが豊富なため選択肢が多い。 Android4.0.3以上に対応していれば、大方カバーできるみたいなので、 とりあえずデフォルトのままにした。
  3. Activityの選択 f:id:animane:20151107131403p:plain Activityは、ひとまずBlankを選択。
    Activityが何かよく分かってないけど、画面をさしてるっぽい。
    たぶん、iOSでいうUIViewControllerかと。 qiita.com
  4. Activityのカスタマイズ。 f:id:animane:20151107131405p:plain 最近はFragmentが必須っぽいので、とりあえずチェックしておいた。(スクリーンショットでは付いてないけど)
    Fragmentもよく分かっていないけど、iOSでいうUIViewControllerとxibとかStoryBoardを1対1にする感じかな?
    qiita.com
    あとで学ぶとします。

以上で、プロジェクトの作成は終わりです。

画面はこんな感じで一般的なIDEの構成です。

f:id:animane:20151107131347p:plain

ビルド

ビルドしてみると早速のエラー

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find any version that matches com.android.support:appcompat-v7:15.+.
     Versions that do not match:
         23.1.0
         23.0.1
         23.0.0
         22.2.1
         22.2.0
         + 10 more
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/support/appcompat-v7/maven-metadata.xml
         https://jcenter.bintray.com/com/android/support/appcompat-v7/
         file:/Users/minato/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/maven-metadata.xml
         file:/Users/minato/Library/Android/sdk/extras/google/m2repository/com/android/support/appcompat-v7/maven-metadata.xml
         file:/Users/minato/Library/Android/sdk/extras/google/m2repository/com/android/support/appcompat-v7/
     Required by:
         MyProject:app:unspecified

よく分からんが、SDKのバージョンとミスマッチしている怒られる。

エラーメッセージを参考に調べると下記を発見。

woshidan.hatenadiary.jp

build.gradleのcomplieのバージョンをAnroid Support Libraryと同じバージョンにしてあげる必要があるみたい。 エディター上のヒントでも同じようなことが書かれていた。

あと、compileSdkVersion、buildToolsVersionのバージョンも合わせる必要がある。 buildToolsVersionについては、compileで指定したものと微妙に違っていたので、「File > Project Structure」から設定した方が無難かも。

よく分からないのがプロジェクト作成時にAPI15を選択してたんだけど、なぜかAPI23で作ることに。 後々問題になりそうな気がしますが、とりあえずビルドは通りました。

実行

ビルドは通ったので実行してみる。

最初はエミュレーターがないので、エミュレーターを作るところから。
(スクリーンショットエミュレーター作成後に撮りました。)

f:id:animane:20151107131339p:plain

デバイスの選択

f:id:animane:20151107131341p:plain

次にOSを選択する。

f:id:animane:20151107133201p:plain

あとは、作成したエミュレーターを選択して実行。

f:id:animane:20151107131408p:plain

無事実行できました。

雑感

Android StudioAPIバージョンとエミュレーターAPIバージョンが違うのがちょっと気になるので、
この辺はもう少し勉強が必要になりそう。

やはりデバイスとOSの種類が多く、テスト時の組み合わせを考えると気が遠くなりそう。

世の中の人達はどうやってるんだろ?

IDEの雑感としては、Java製のためかちょっともっさりした感じはする。

あと、Emacsキーバインド使えないのが辛い。

この辺はプラグインとかで何とかなるのかな?

快適に開発するにはもう少し調べる必要がありそう。

環境構築まではできたので、次は実際に作ってみたいと思います。

animane.hatenablog.com