sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

Android Studio で Google Maps Andoird API v2のデモプロジェクトをビルドして実機で動かすまで

2013/07/28更新

0.2.0-0.2.2で動かすための記事を書きましたので、0.2.0以降はこっちを参照してください。

2013/06/06追記

新しいデモアプリ(Google Maps Android API v2は、Google Play servicesの一部です)が公開されているため、別で記事を書きました.

Android Studio 0.1.3 - 0.1.9で Google Play servicesの新しいデモを動かす - sos の 作業メモ New!

今後はGradleに対応した方法でやった方が良いように思います。

2013/05/31追記

Ver.0.1.2アップデートの記事に書いたように、0.1.2で再びProject Structureが表示されるようになりました。

2013/05/29追記

Ver.0.1.1アップデートの記事でも書きましたが、Android Studio 0.1.1はProjectStructureの設定画面が開きません。

この記事の内容を試すには、ProjectStructureを使う方が簡単ですので、 しばらくは0.1も残したままにしておく方が安全です。 (手作業で設定ファイルを編集すれば0.1.1でもたぶん可能だとは思いますが…)

2013/05/24 追記

Google Play servicesを含んだGradleベースの新規プロジェクトを作成する記事 を書きました。

2013/05/21 追記

I/Oのセッションのビデオを見直した記事 を書きました。 デモで行われた操作くらいはパッと出てくるように、しっかり爪を磨きたいと思います。



新しいAndroid用のIDE Android Studio ですが、せっかくなので実務で使うべく触ってみました。

新しいIDEといっても、Intellij IDEA がベースだそうで、とても使いやすいです。

Hello World!

まずは準備体操代わりに、hello world.

Intellij IDEAとは

とりあえず、Eclipseユーザの為のIntelliJ IDEA Q&A を読んで IDEAとeclipseの違いってのをなんとなく理解。

インストール&ブランクアプリ実行

インストールの仕方や簡単な使い方は、仕事の速い方々がいろいろとレビューされているので、

[開発環境] Android Studioをインストールしてみる

あたりにざっと目を通して、いざ挑戦。

やることはeclipse+ADTとそんなに変わりがなく、適当に作ったプロジェクトで HelloWorldを実機で動作させるのに成功。

ここから本題

やっぱりサンプルならこれ、Google Maps Android API V2のデモアプリ。

eclipseの方で動かしてるプロジェクトからimportするならMigrating from Eclipse に従ってbuild.gradle作ってimportだけど、 eclipseと縁を切るにはそれじゃだめということで、 Android Studioの sdkの下のやつを使って最初からやってみました。

Google Play servicesをインストール

まずはSDK Managerを使って google play servicesをインストール。

デモプロジェクトのコピー

${AndroidStudio Home}/sdk/extras/google/google_play_services/samples/maps

を、作業用の適当なディレクトリにコピー(コピーしなくてもいいけど、いろいろソースを弄るしコピーした方がいい)

デモプロジェクトのインポート

Android Studioを起動して、Import Projectで、上でコピーしたデモプロジェクトのディレクトリを指定し、next,nextと押し進めてfinishでプロジェクト(と、デモアプリのモジュール)を作成。

この段階でコンパイルしてもエラーだらけです。

サポートライブラリの追加

Project Structureを開いて、Librariesを選んで +記号でNew Project Libraryで Javaを選んで、

${Android SDK Home}/extras/android/support/v4/android-support-v4.jar

をインポートする。どのモジュールに追加するか聞かれるので、当然デモのモジュールを選ぶ。

f:id:sos_jp:20130517093030p:plain

google-play-services_libの追加

Project StructureでModuleを選んで+記号でImport Module で

${Android SDK Home}/extras/google/google_play_services/libproject/google-play-services_lib

を指定してgoogle-play-services_libをインポートする。

Librariesにgoogle-play-servicesが追加されているはずなので、右クリックしてAdd to Modules...で デモのモジュールに追加する。

再びModulesにしてデモのモジュールを選び、右側のタブでdependenciesを選び、下の方の+記号でModule Dependencyを選び、google-play-services_libを追加する。

API keyをAndroidManifest.xmlに設定

API keyを自分で取得したものに設定しなおす。

実機で動作確認

ビルドできれば成功したも同然です。

結局何をやってるの?

要するにデモ用のモジュールを追加し、必要なライブラリをプロジェクトに追加して、依存関係をちゃんと設定しているだけです。Intellijに慣れてたらなんてことはない作業なんじゃないかと思います。

  • デモプロジェクトをインポートし、プロジェクトとデモモジュールを作成
  • サポートライブラリをプロジェクトにインポートし、デモモジュールの依存ライブラリとして追加
  • google-play-services_libをライブラリモジュールとしてプロジェクトに追加
  • google-play-services.jarをデモモジュールの依存ライブラリとして追加
  • google_play-services_libをデモモジュールの依存ライブラリとして追加

手探りでやっているため、不要な手順や不適切な用語がいろいろあるんじゃないかと思います。

お前それは違うだろう等のツッコミをお待ちしております(^^;