Google IO 2014公式アプリのソースコードが公開されてました。-> https://github.com/google/iosched
このアプリはAndroid Lで採用されるマテリアルデザインが導入されてます。現状Android Lで作られたアプリはリリースできないので、実質このアプリが唯一のマテリアルデザインということになります。
Googleはこのアプリのソースコードを公開した意図として、これを参考にマテリアルデザインの実装方法を理解して活用してほしいとのことです。じゃあ見てみようじゃないの、ってことで手始めにビルドしてみました。
アプリのビルド方法
アプリはGradleベースで実装されてるので、Android Studio必須です。
1.必要なものをDLしてインストール
- Android SDK: http://developer.android.com/sdk/index.html
- Gradle: http://www.gradle.org/downloads>
- Android Studio: http://developer.android.com/sdk/installing/studio.html
Android StudioをインストールすればAndroid SDK, Gradleは不要です(確か)。
これらは普通に手順にそってDLしてインストールすればOK。
2.Githubからprojectソースコード取得
自分のワークディレクトリ直下で以下コマンド実行。
git clone https://github.com/google/iosched.git
lsするとioschedというディレクトリができてそこにソースコードが来てます。
3.SDK ManagerでLのSDKなどインストール
Android Studioを起動し、Tools -> Android ->SDK Managerまたはタブのドロイド君を選択し、SDK Managerを起動して、以下をインストールします。
- Tools > Android SDK Platform-tools (rev 20 or above)
- Tools > Android SDK Tools (rev 23.0.2 or above)
- Tools > Android SDK Build-tools version 20
- Tools > Android SDK Build-tools version 19.1
- Android 4.4 > SDK Platform (API 19)
- Android 4.4W > SDK Platform (API 20)
- Android L (API 20, L Preview)
- Extras > Android Support Repository
- Extras > Android Support Library
- Extras > Google Play services
- Extras > Google Repository
↓のように出ているはずなので、選択してインストールすればOK。
4.Android Studioにインポート,ビルド
- local.properties.exampleをの中身を書き換えます。local.properties.exampleを開くと、sdk.dirが書いてあるので、
sdk.dir=(SDKがあるディレクトリ)
とします。あとリネームします。
mv local.properties.example local.properties
Files -> Import Project でioschedを選択してインポートします。
debug.keystoreが適切に設定してあるか確認します。モジュールディレクトリ(iosched ->android)を開いて、build.gradleを開きます。
signingConfigs { debug { storeFile file("../android/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } release { storeFile file("../android/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } }
storeFile file ()内に、debug.keystoreの宛先を設定または上記ディレクトリにコピーします。
debug.keystoreはmacやlinuxならホームディレクトリ直下/.android/以下にあります。
debug.keystoreがなければ、作成して、ディレクトリ([ワークディレクトリ]/iosched/android/配下)にコピーします。
-> 参考:http://qiita.com/taka0125/items/c408df4061a0af49c9b3
(オプション)Android Wear版のプロジェクトも入っているので、それはビルドしないようにします。
build.gradleから -> wearApp project(':Wearable')を省きます
settings.gradleから -> ':Wearable'を省きますAndroid Studioのタブでビルド対象がWearableではなくandroidとなっていることを書くにして、Build -> Make Projectでビルドします
マテリアルデザインに完全対応したアプリをビルドするにはAndroid L PreviewSDKでビルドします。
./gradlew clean ./gradlew -Plpreview assembleDebug
これでビルドはひと通りできました!
AVDの設定
Android Lを実行できるのは、今のところAndroid L preview版が入ったNexus5,7またはそのエミュレータだけです。今Nexus 5,7は手元にないので、emulatorで起動します。
- AVD ManagerをAndroid StudioのTools -> Androidより起動します。
- Create AVDを選択して以下のように設定します(Device名は適当でOK)
で、動かしてみた結果
emulatorにはgoogle IOアプリ起動に必須の開発者サービスが入ってないので、最初の部分しか動きませんでした。*1
完全にマテリアルデザインに対応したgoogle IOアプリを触ってみるには、nexus 5などにpreview版を入れてビルドしたアプリをいれてみるしかないようですね〜残念。
とは言え、ソースコードは読めるので、ちょこちょこ読んでいこうと思います。
参考
セットアップ手順は以下を参考にしました。
https://github.com/google/iosched/blob/master/doc/BUILDING.md
http://developer.android.com/preview/setup-sdk.html
*1:genymotionというgoogle playがプリインストールされたemulatorを使えば、開発者サービスもインストールできるので4.4系でgoogleIO自体は起動できるようです。そんなことしなくてもgoogle playにアプリがありますが。