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

Like this? Share it with your network

Share

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

  • 6,146 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,146
On Slideshare
3,143
From Embeds
3,003
Number of Embeds
22

Actions

Shares
Downloads
7
Comments
0
Likes
8

Embeds 3,003

http://alpha.mixi.co.jp 2,389
http://d.hatena.ne.jp 317
http://orangeclover.hatenablog.com 92
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://feedly.com 7
http://feedspot.com 7
http://reader.freerss.net 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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Android StudioGradle横幕 圭真(@KeithYokoma)
  • 2. Android Studio
  • 3. Android Studio• 新しい Android 用開発環境• IntelliJ IDEA ベースの Android 用 IDE• オープンソース• Apache ant から Gradle へ• しかも IDE にガッツリ統合されている!
  • 4. Android Studio• ここがすごいよ Android Studio• レイアウトエディタ• Gradle ベースのビルド
  • 5. プロジェクトの作成
  • 6. Android Studio• Eclipse と異なるプロジェクト構成
  • 7. Android Studio• テストを含める
  • 8. Android Studio• Command + R で実行
  • 9. レイアウトの編集
  • 10. Android Studio
  • 11. Android Studio• 表示を切り替えるコントロール
  • 12. Android Studio• 表示を切り替えるコントロール自動でリソースを生成してくれるプレビュー表示をカスタマイズする
  • 13. Android Studio
  • 14. Android Studio
  • 15. Android Studio
  • 16. Android Studio• 表示を切り替えるコントロール
  • 17. Android Studio• 表示を切り替えるコントロール
  • 18. Android Studio• テーマ設定
  • 19. Android Studio• ロケール設定
  • 20. Android Studio• Fragment のレイアウトもプレビュー
  • 21. Android Studio• マウスオーバーでリソース名を表示• リソース ID のサジェストもパワフルに• フレームワークにアノテーションが付いている• int がどのリソース ID かが指定されるようになった
  • 22. Gradle
  • 23. 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’)}}
  • 24. 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’)}}
  • 25. 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’)}}
  • 26. 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’)}}
  • 27. $  ./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
  • 28. Gradle for Android
  • 29. Gradle for Android• Android 用のタスクが一杯$  ./gradlew  tasks
  • 30. 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の修正コミットが不要に
  • 31. 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”}}}}リリースビルドとの共存が可能に
  • 32. Android StudioGradle