読者です 読者をやめる 読者になる 読者になる

sos の 作業メモ

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

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

Android Studio 0.2.0-0.2.4でGoogle Play Servicesを使う新規プロジェクトを作る

2013/08/15修正

build.gradleのサポートライブラリとGoogle Play Servicesのバージョンの指定を最新のものに修正しました。

2013/08/02修正

build tools が18.0.1になりましたので一部修正しときます

2013/07/28追記

そういえば4.3(API Level 18)でbuild toolの18が使えるようになりましたので、一部追記しておきます。



0.1.9までとはちょっと違いますので、新規で記事にします。

0.2.0でGradle が 0.5になったので、build.gradleの内容がちょっと違うだけなのですが、自作のLibraryProjectの組み込み方法がこれまでのようにはいかなくなったのでどうしたもんかと。

新規プロジェクト作成

f:id:sos_jp:20130524130731p:plain

いつもの画面です。 アプリ名、アプリモジュール名、パッケージ名、プロジェクトの保存先、SDKのバージョン等を入力します。アプリモジュール名 + 'Project'がデフォルトのプロジェクトフォルダになります。

あとは適当にnextを押していってプロジェクトを作成。

f:id:sos_jp:20130524131339p:plain

この段階でRunすると、Hello Worldなアプリが動きます。

Android SDK Managerで2つのRepositoryをインストール

Android Support Repositoryと Google Repositoryをまだインストールしていない場合は、 Android SDK Managerを起動して、これらを追加してください

f:id:sos_jp:20130606203939p:plain

Gradle関係

Android StudioはGradleを使ってbuildしますので、build.gradleにいろいろと設定をしてやる必要があります。

プロジェクトのbuild.gradle

特に編集しなくても大丈夫です。

アプリモジュールのbuild.gradle

アプリモジュール本体のbuild.gradleを設定します。

[/MyStudioApp/build.gradle]

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile 'com.google.android.gms:play-services:3.2.+'
    compile 'com.android.support:support-v4:18.0.+'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 18
    }
}

dependenciesの中に、GooglePlayServicesのライブラリを使用する設定を追加してやります。

    compile 'com.google.android.gms:play-services:3.2.+'

の箇所です。2013/8/15時点のバージョンは3.2.25なので、とりあえず3.2.+を指定しておきます。 サポートライブラリの方はAndroidStudioがちゃんと追加してくれてますのでそのままで大丈夫です。

ソースやJavaDocを追加するのは別で手作業が必要になったりもしますが、詳しくは過去のこの辺の記事を参照してください

build.gradleを更新したら、IDEがそれを察知して、うらで依存関係やらなにやらを設定してくれます。0.1.0の頃から考えれば、魔法のように思える程便利になりました。

.bash_profile

JDK6はデフォルトがSJISですので、環境変数の_JAVA_OPTIONSを使ってUTF-8として解釈するように設定しておきます。

[~/.bash_profile]

export _JAVA_OPTIONS='-Dfile.encoding=UTF-8 -Dgroovy.source.encoding=UTF-8'

こうしておけばOKです。idea.vmoptionsとJAVA_OPTSを使ったりする方法もあるのですが、IDEとgradlew両方を一つで済ませたいのでこれがいいんじゃないかなと思います。

こんなことを書いてますが、idea.vmoptionsで-Xmxの指定のついでにUTF-8のオプションも指定して、せっかくだからJAVA_OPTSも設定しちゃったりしましたので、結局_JAVA_OPTIONSは使ってません、ごめんなさい。あと、idea.vmoptionsって何?って方はこの記事をどうぞ

コーディング開始

ここまでくればあとは自由。好きにコーディングを初めてください。 他のライブラリプロジェクトを追加する場合は、以前の記事の ライブラリ追加(settings.gradleやアプリモジュールのdependencies)の手順が使えます。

自作ライブラリプロジェクトの組み込みですが、とりあえずsettings.gradleにライブラリの場所を設定してアプリのbuild.gradleのdependenciesで記載してbuildできるようにしておき、ProjectStructureでライブラリプロジェクトをmoduleとしてimportし、それをアプリの依存先として追加するようにして凌いでいます。build.gradleの構造がおかしいとIDEには文句を言われるのすが、動いているようです。
Android Studioでライブラリプロジェクトを作りなおしたらいろいろ幸せになるのかな?


いろいろ作業をしていると、Build Variantsの Debug/Releaseを変えるだけで依存関係を直さないといけない & AndroidStudioを起動する度にbuild.gradleを編集しないといけないという不便な状態になることが判明したため、とりあえずライブラリプロジェクトはプロジェクト直下にコピーで配置し、setting.gradleでincludeという日和った対応をとることにしました…残念だけど仕方ないですね…