Google I/O 2013 報告会 Android Studio と Gradle
Upcoming SlideShare
Loading in...5
×
 

Google I/O 2013 報告会 Android Studio と Gradle

on

  • 5,996 views

株式会社ミクシィで開催された、Google I/O 2013 報告会でのプレゼンテーション。

株式会社ミクシィで開催された、Google I/O 2013 報告会でのプレゼンテーション。

Statistics

Views

Total Views
5,996
Views on SlideShare
3,009
Embed Views
2,987

Actions

Likes
8
Downloads
5
Comments
0

22 Embeds 2,987

http://alpha.mixi.co.jp 2380
http://d.hatena.ne.jp 317
http://orangeclover.hatenablog.com 86
http://www.newsblur.com 64
http://stage-alpha.mt.mixi.co.jp 41
http://www.feedspot.com 21
http://www.famipoo.com 16
http://cloud.feedly.com 8
http://digg.com 8
http://www.freerss.net 8
http://feedspot.com 7
http://reader.freerss.net 6
http://feedly.com 6
http://mixiengineer.hatenablog.com 5
http://dev-alpha.mt.mixi.co.jp 4
http://yoleoreader.com 4
http://www.inoreader.com 1
http://ja.sci-tech-watch.com 1
http://app.unreadzero.com 1
http://ranksit.com 1
http://r.awks.jp 1
http://reader.mydns.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Google I/O 2013 報告会 Android Studio と Gradle Google I/O 2013 報告会 Android Studio と Gradle Presentation Transcript

  • Android StudioGradle横幕 圭真(@KeithYokoma)
  • Android Studio
  • Android Studio• 新しい Android 用開発環境• IntelliJ IDEA ベースの Android 用 IDE• オープンソース• Apache ant から Gradle へ• しかも IDE にガッツリ統合されている!
  • Android Studio• ここがすごいよ Android Studio• レイアウトエディタ• Gradle ベースのビルド
  • プロジェクトの作成
  • Android Studio• Eclipse と異なるプロジェクト構成
  • Android Studio• テストを含める
  • Android Studio• Command + R で実行
  • レイアウトの編集
  • Android Studio
  • Android Studio• 表示を切り替えるコントロール
  • Android Studio• 表示を切り替えるコントロール自動でリソースを生成してくれるプレビュー表示をカスタマイズする
  • Android Studio
  • Android Studio
  • Android Studio
  • Android Studio• 表示を切り替えるコントロール
  • Android Studio• 表示を切り替えるコントロール
  • Android Studio• テーマ設定
  • Android Studio• ロケール設定
  • Android Studio• Fragment のレイアウトもプレビュー
  • Android Studio• マウスオーバーでリソース名を表示• リソース ID のサジェストもパワフルに• フレームワークにアノテーションが付いている• int がどのリソース ID かが指定されるようになった
  • Gradle
  • Gradle• 新しいビルドシステム• Groovy で記述• ant にはない依存関係管理• プログラムも仕込めるbuildscript {repositories {maven { url http://repo1.maven.org/maven2 }}dependencies {classpath com.android.tools.build:gradle:0.4}}apply plugin: androiddependencies {compile files(libs/android-support-v4.jar)}android {compileSdkVersion 17buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 8targetSdkVersion 16}sourceSets {main {manifest.srcFile ‘AndroidManifest.xml’java.srcDirs = [‘src’]resources.srcDirs = [‘src’]aidl.srcDirs = [‘src’]renderscript.srcDirs[‘src’]res.srcDirs = [‘res’]assets.srcDirs = [‘assets’]}intrument.setRoot(‘tests’)}}
  • Gradle• 新しいビルドシステム• android 向けプラグイン完備• AndroidManifest が書き換え可• 有料版/無料版といったバージョンの振り分けもできるbuildscript {repositories {maven { url http://repo1.maven.org/maven2 }}dependencies {classpath com.android.tools.build:gradle:0.4}}apply plugin: androiddependencies {compile files(libs/android-support-v4.jar)}android {compileSdkVersion 17buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 8targetSdkVersion 16}sourceSets {main {manifest.srcFile ‘AndroidManifest.xml’java.srcDirs = [‘src’]resources.srcDirs = [‘src’]aidl.srcDirs = [‘src’]renderscript.srcDirs[‘src’]res.srcDirs = [‘res’]assets.srcDirs = [‘assets’]}intrument.setRoot(‘tests’)}}
  • Gradle• 新しいビルドシステム• sourceSets の設定で古いプロジェクトにも適用可buildscript {repositories {maven { url http://repo1.maven.org/maven2 }}dependencies {classpath com.android.tools.build:gradle:0.4}}apply plugin: androiddependencies {compile files(libs/android-support-v4.jar)}android {compileSdkVersion 17buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 8targetSdkVersion 16}sourceSets {main {manifest.srcFile ‘AndroidManifest.xml’java.srcDirs = [‘src’]resources.srcDirs = [‘src’]aidl.srcDirs = [‘src’]renderscript.srcDirs[‘src’]res.srcDirs = [‘res’]assets.srcDirs = [‘assets’]}instrument.setRoot(‘tests’)}}
  • Gradle• コマンド同封• ./gradlew buildbuildscript {repositories {maven { url http://repo1.maven.org/maven2 }}dependencies {classpath com.android.tools.build:gradle:0.4}}apply plugin: androiddependencies {compile files(libs/android-support-v4.jar)}android {compileSdkVersion 17buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 8targetSdkVersion 16}sourceSets {main {manifest.srcFile ‘AndroidManifest.xml’java.srcDirs = [‘src’]resources.srcDirs = [‘src’]aidl.srcDirs = [‘src’]renderscript.srcDirs[‘src’]res.srcDirs = [‘res’]assets.srcDirs = [‘assets’]}intrument.setRoot(‘tests’)}}
  • $  ./gradlew  buildThe  TaskContainer.add()  method  has  been  deprecated  and  is  scheduled  to  be  removed  in  Gradle  2.0.  Please  use  the  create()  method  instead.:HogeApp:prepareDebugDependencies:HogeApp:compileDebugAidl  UP-­‐TO-­‐DATE:HogeApp:generateDebugBuildConfig  UP-­‐TO-­‐DATE:HogeApp:mergeDebugAssets  UP-­‐TO-­‐DATE:HogeApp:compileDebugRenderscript  UP-­‐TO-­‐DATE:HogeApp:mergeDebugResources  UP-­‐TO-­‐DATE:HogeApp:processDebugManifest  UP-­‐TO-­‐DATE:HogeApp:processDebugResources  UP-­‐TO-­‐DATE:HogeApp:compileDebug  UP-­‐TO-­‐DATE:HogeApp:dexDebug  UP-­‐TO-­‐DATE:HogeApp:processDebugJavaRes  UP-­‐TO-­‐DATE:HogeApp:validateDebugSigning:HogeApp:packageDebug  UP-­‐TO-­‐DATE:HogeApp:assembleDebug  UP-­‐TO-­‐DATE:HogeApp:prepareReleaseDependencies:HogeApp:compileReleaseAidl:HogeApp:generateReleaseBuildConfig:HogeApp:mergeReleaseAssets:HogeApp:compileReleaseRenderscript:HogeApp:mergeReleaseResources:HogeApp:processReleaseManifest:HogeApp:processReleaseResources:HogeApp:compileRelease:HogeApp:dexRelease:HogeApp:processReleaseJavaRes  UP-­‐TO-­‐DATE:HogeApp:packageRelease:HogeApp:assembleRelease:HogeApp:assemble:HogeApp:check  UP-­‐TO-­‐DATE:HogeApp:buildBUILD  SUCCESSFULTotal  time:  9.003  secs$  ls  HogeApp/build/apk/HogeApp-­‐debug-­‐unaligned.apkHogeApp-­‐release-­‐unsigned.apk
  • Gradle for Android
  • Gradle for Android• Android 用のタスクが一杯$  ./gradlew  tasks
  • Gradle for Android• AndroidManifest をいじる• defaultConfig ブロック• ターゲットSDKのバージョン• バージョンコード• バージョン名buildscript {repositories {maven { url http://repo1.maven.org/maven2 }}dependencies {classpath com.android.tools.build:gradle:0.4}}apply plugin: androiddependencies {compile files(libs/android-support-v4.jar)}android {compileSdkVersion 17buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 8targetSdkVersion 16versionCode 1versionName “1.0.0”}}AndroidManifestの修正コミットが不要に
  • Gradle for Android• AndroidManifest をいじる• デバッグ用途の• デバッグ用のパッケージ名• デバッグ用のバージョン名buildscript {repositories {maven { url http://repo1.maven.org/maven2 }}dependencies {classpath com.android.tools.build:gradle:0.4}}apply plugin: androiddependencies {compile files(libs/android-support-v4.jar)}android {compileSdkVersion 17buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 8targetSdkVersion 16versionCode 1versionName “1.0.0”}sourceSets {buildType {debug {packageNameSuffix “.debug”}}}}リリースビルドとの共存が可能に
  • Android StudioGradle