(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
PRESENTED BY: ROMIN IRANI | DECEMBER 14, 2014
Gradle : Your Friend in Android Studio
Agenda
What is Gradle ?
Gradle Features
Gradle & Android Studio
Demo : Understanding Gradle in Android
Studio
2
Gradle is ….
 Build Language
 Dependency Resolver and Manager
 Build Task scheduler and executor
 Build by Convention
 Groovy DSL
 Multi-Project Builds
 Custom Logic
 API and Plugin ecosystem
And definitions like that scare the developer in
3
Gradle actually is …
 Your friend in Android Studio
 Makes it easy to create Android Projects that can handle multiple
modules (app , library, APIs)
 Allows you to use a single Android Project to develop versions for
 Production
 Demo
 Based on simple declarative and easy to express language
 Can be run from both command line and inside Android Studio
 And other goodies …
Maybe … this is beginning to make more sense.
4
Android Developers – Wake up !
2 IDEs
Difficult to support both for Google
Official Note does mention that work
is happening on Android Studio only !
Simply Import Eclipse projects or
Export to Gradle
5
6
Android Studio : Official IDE + 1.0 Release
7
Gradle + Android Studio – In Action
 Project Basics [settings.gradle, build.gradle
(proj+modules)]
 Plugins + Tasks + Convention = Magic
 Module Settings – UI into build.gradle
 Gradle Tasks – Command Line + Window
 Multi – Module Projects
 Build Types– Debug / Release
 Flavors – Demo / Full
 See another sample Project
8
Project Basics
9
• Project Root : settings.gradle,
build.gradle
• Module Root : build.gradle
Android Plugin
10
• apply plugin:
'com.android.application'• Android DSL
Module Settings
11
• Modify build.gradle OR
• Via Module Settings UI
Gradle Tasks
12
• Command Line
• Gradle Commander
Multi Module Projects
13
• settings.gradle at Root
• Each folder at root is a module
• build.gradle in each module
• specific plugins
• mention Dependencies
• Example : Android + Cloud Module
Build Types & Build Tasks
 assemble
 check
 build
 clean
14
 debug
 release
Product Flavors
 Allows you to build multiple variants of the same application
 demo
 full
 For e.g. 2 Config Types and 2 Flavors = 4 combinations
 demoRelease
 demoDebug
 fullRelease
 fullDebug
 Apply separate resources
 Apply separate source files
15
Product Flavors - continued
16
In Summary
17
Thank You + Q & A
 Email : romin.irani@mindstormsoftware.com
 Twitter : @iRomin
 Blog : http://www.rominirani.com
18

More Related Content

What's hot

Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
Kaushal Dhruw
 
Android studio
Android studioAndroid studio
Android studio
Paresh Mayani
 
Introduction to Android Studio
Introduction to Android StudioIntroduction to Android Studio
Introduction to Android Studio
Michael Pan
 
Project a day 2 introduction to android studio
Project a day 2   introduction to android studioProject a day 2   introduction to android studio
Project a day 2 introduction to android studio
Goran Djonovic
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster
Andres Almiray
 
A/B test your Android build setup with ASPoet
A/B test your Android build setup with ASPoetA/B test your Android build setup with ASPoet
A/B test your Android build setup with ASPoet
Boris Farber
 
[DEPRECATED]Gradle the android
[DEPRECATED]Gradle the android[DEPRECATED]Gradle the android
[DEPRECATED]Gradle the android
Jun Liu
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
Eason Pai
 
Getting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle pluginGetting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle plugin
tobiaspreuss
 
Golang start and tips
Golang start and tipsGolang start and tips
Golang start and tips
Aaron King
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
Parinita03
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
Gabriel Dogaru
 
(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi
SeongJae Park
 
Study Jam: Android for Beginners, Summary
Study Jam: Android for Beginners, SummaryStudy Jam: Android for Beginners, Summary
Study Jam: Android for Beginners, Summary
Constantine Mars
 
Why golang
Why golangWhy golang
Porting golang development environment developed with golang
Porting golang development environment developed with golangPorting golang development environment developed with golang
Porting golang development environment developed with golang
SeongJae Park
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Waqqas Jabbar
 
D8 Dexer
D8 Dexer D8 Dexer
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDK
digitaljoni
 
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組みReact Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
Yukiya Nakagawa
 

What's hot (20)

Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
 
Android studio
Android studioAndroid studio
Android studio
 
Introduction to Android Studio
Introduction to Android StudioIntroduction to Android Studio
Introduction to Android Studio
 
Project a day 2 introduction to android studio
Project a day 2   introduction to android studioProject a day 2   introduction to android studio
Project a day 2 introduction to android studio
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster
 
A/B test your Android build setup with ASPoet
A/B test your Android build setup with ASPoetA/B test your Android build setup with ASPoet
A/B test your Android build setup with ASPoet
 
[DEPRECATED]Gradle the android
[DEPRECATED]Gradle the android[DEPRECATED]Gradle the android
[DEPRECATED]Gradle the android
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
 
Getting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle pluginGetting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle plugin
 
Golang start and tips
Golang start and tipsGolang start and tips
Golang start and tips
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
 
(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi
 
Study Jam: Android for Beginners, Summary
Study Jam: Android for Beginners, SummaryStudy Jam: Android for Beginners, Summary
Study Jam: Android for Beginners, Summary
 
Why golang
Why golangWhy golang
Why golang
 
Porting golang development environment developed with golang
Porting golang development environment developed with golangPorting golang development environment developed with golang
Porting golang development environment developed with golang
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
D8 Dexer
D8 Dexer D8 Dexer
D8 Dexer
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDK
 
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組みReact Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
 

Viewers also liked

The world of gradle - an introduction for developers
The world of gradle  - an introduction for developersThe world of gradle  - an introduction for developers
The world of gradle - an introduction for developers
Tricode (part of Dept)
 
Android activities & views
Android activities & viewsAndroid activities & views
Android activities & views
ma-polimi
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
Josiah Renaudin
 
つ部 Android Studio 勉強会 12/7
つ部 Android Studio 勉強会 12/7つ部 Android Studio 勉強会 12/7
つ部 Android Studio 勉強会 12/7
Hikaru Wada
 
Android gradle-build-system-overview
Android gradle-build-system-overviewAndroid gradle-build-system-overview
Android gradle-build-system-overview
Kevin He
 
Android Studio - Tips, Tricks & little known features
Android Studio - Tips, Tricks & little known features Android Studio - Tips, Tricks & little known features
Android Studio - Tips, Tricks & little known features
Andraž Pajtler
 
The Journey to conversational interfaces
The Journey to conversational interfacesThe Journey to conversational interfaces
The Journey to conversational interfaces
Romin Irani
 
Intents in Android
Intents in AndroidIntents in Android
Intents in Android
ma-polimi
 
Android Studio 2.3 New Features
Android Studio 2.3 New FeaturesAndroid Studio 2.3 New Features
Android Studio 2.3 New Features
Kenichi Kambara
 
Lecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesLecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & Preferences
Ahsanul Karim
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form Widgets
Ahsanul Karim
 
Android Studio NDK(JNI) + OpenCV 完整教學
Android Studio NDK(JNI) + OpenCV 完整教學Android Studio NDK(JNI) + OpenCV 完整教學
Android Studio NDK(JNI) + OpenCV 完整教學
Wei-Xiang Wang
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
Suyash Srijan
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my college
Sneha Lata
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
chakrapani tripathi
 
How to setup unit testing in Android Studio
How to setup unit testing in Android StudioHow to setup unit testing in Android Studio
How to setup unit testing in Android Studio
tobiaspreuss
 
Android ppt
Android ppt Android ppt

Viewers also liked (17)

The world of gradle - an introduction for developers
The world of gradle  - an introduction for developersThe world of gradle  - an introduction for developers
The world of gradle - an introduction for developers
 
Android activities & views
Android activities & viewsAndroid activities & views
Android activities & views
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
 
つ部 Android Studio 勉強会 12/7
つ部 Android Studio 勉強会 12/7つ部 Android Studio 勉強会 12/7
つ部 Android Studio 勉強会 12/7
 
Android gradle-build-system-overview
Android gradle-build-system-overviewAndroid gradle-build-system-overview
Android gradle-build-system-overview
 
Android Studio - Tips, Tricks & little known features
Android Studio - Tips, Tricks & little known features Android Studio - Tips, Tricks & little known features
Android Studio - Tips, Tricks & little known features
 
The Journey to conversational interfaces
The Journey to conversational interfacesThe Journey to conversational interfaces
The Journey to conversational interfaces
 
Intents in Android
Intents in AndroidIntents in Android
Intents in Android
 
Android Studio 2.3 New Features
Android Studio 2.3 New FeaturesAndroid Studio 2.3 New Features
Android Studio 2.3 New Features
 
Lecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesLecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & Preferences
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form Widgets
 
Android Studio NDK(JNI) + OpenCV 完整教學
Android Studio NDK(JNI) + OpenCV 完整教學Android Studio NDK(JNI) + OpenCV 完整教學
Android Studio NDK(JNI) + OpenCV 完整教學
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my college
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
 
How to setup unit testing in Android Studio
How to setup unit testing in Android StudioHow to setup unit testing in Android Studio
How to setup unit testing in Android Studio
 
Android ppt
Android ppt Android ppt
Android ppt
 

Similar to Gradle and Android Studio : Best of Friends

Gradle: One technology to build them all
Gradle: One technology to build them allGradle: One technology to build them all
Gradle: One technology to build them all
Bonitasoft
 
Android studio 4.0 new features preview
Android studio 4.0 new features previewAndroid studio 4.0 new features preview
Android studio 4.0 new features preview
Concetto Labs
 
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Mastering the NDK with Android Studio 2.0 and the gradle-experimental pluginMastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Xavier Hallade
 
Android Session.pdf
Android Session.pdfAndroid Session.pdf
Android Session.pdf
20TUCS033DHAMODHARAK
 
Android
AndroidAndroid
Android
Sai Kiran
 
Android Studio vs. ADT
Android Studio vs. ADTAndroid Studio vs. ADT
Android Studio vs. ADT
Dominik Helleberg
 
9780134433646 annuzzi ch02 (1)
9780134433646 annuzzi ch02 (1)9780134433646 annuzzi ch02 (1)
9780134433646 annuzzi ch02 (1)
Peter Mburu
 
Android presentation - Gradle ++
Android presentation - Gradle ++Android presentation - Gradle ++
Android presentation - Gradle ++
Javier de Pedro López
 
Gradle build capabilities
Gradle build capabilities Gradle build capabilities
Gradle build capabilities
Zeinab Mohamed Abdelmawla
 
Android
AndroidAndroid
Android
BVP GTUG
 
androidPramming.ppt
androidPramming.pptandroidPramming.ppt
androidPramming.ppt
BijayKc16
 
android-developer-jobs
android-developer-jobs android-developer-jobs
android-developer-jobs
FredReynolds2
 
Mastering the Android Developer Jobs: Essential Questions and Best Practices
Mastering the Android Developer Jobs: Essential Questions and Best PracticesMastering the Android Developer Jobs: Essential Questions and Best Practices
Mastering the Android Developer Jobs: Essential Questions and Best Practices
FredReynolds2
 
Intellij idea features
Intellij idea featuresIntellij idea features
Intellij idea features
Aravindharamanan S
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
zhang ghui
 
Asj session 2 - kirthik
Asj   session 2 - kirthikAsj   session 2 - kirthik
Asj session 2 - kirthik
19TUIT038KAVIARASUM
 
Android studio
Android studioAndroid studio
Android studio
Željko Plesac
 
Getting started with android studio
Getting started with android studioGetting started with android studio
Getting started with android studio
Reham Maher El-Safarini
 
20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx
KNANTHINIMCA
 
Groovy android
Groovy androidGroovy android
Groovy android
Mario García
 

Similar to Gradle and Android Studio : Best of Friends (20)

Gradle: One technology to build them all
Gradle: One technology to build them allGradle: One technology to build them all
Gradle: One technology to build them all
 
Android studio 4.0 new features preview
Android studio 4.0 new features previewAndroid studio 4.0 new features preview
Android studio 4.0 new features preview
 
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Mastering the NDK with Android Studio 2.0 and the gradle-experimental pluginMastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
 
Android Session.pdf
Android Session.pdfAndroid Session.pdf
Android Session.pdf
 
Android
AndroidAndroid
Android
 
Android Studio vs. ADT
Android Studio vs. ADTAndroid Studio vs. ADT
Android Studio vs. ADT
 
9780134433646 annuzzi ch02 (1)
9780134433646 annuzzi ch02 (1)9780134433646 annuzzi ch02 (1)
9780134433646 annuzzi ch02 (1)
 
Android presentation - Gradle ++
Android presentation - Gradle ++Android presentation - Gradle ++
Android presentation - Gradle ++
 
Gradle build capabilities
Gradle build capabilities Gradle build capabilities
Gradle build capabilities
 
Android
AndroidAndroid
Android
 
androidPramming.ppt
androidPramming.pptandroidPramming.ppt
androidPramming.ppt
 
android-developer-jobs
android-developer-jobs android-developer-jobs
android-developer-jobs
 
Mastering the Android Developer Jobs: Essential Questions and Best Practices
Mastering the Android Developer Jobs: Essential Questions and Best PracticesMastering the Android Developer Jobs: Essential Questions and Best Practices
Mastering the Android Developer Jobs: Essential Questions and Best Practices
 
Intellij idea features
Intellij idea featuresIntellij idea features
Intellij idea features
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
 
Asj session 2 - kirthik
Asj   session 2 - kirthikAsj   session 2 - kirthik
Asj session 2 - kirthik
 
Android studio
Android studioAndroid studio
Android studio
 
Getting started with android studio
Getting started with android studioGetting started with android studio
Getting started with android studio
 
20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx
 
Groovy android
Groovy androidGroovy android
Groovy android
 

More from Romin Irani

Google Cloud Platform Update - NEXT 2017
Google Cloud Platform Update - NEXT 2017Google Cloud Platform Update - NEXT 2017
Google Cloud Platform Update - NEXT 2017
Romin Irani
 
Introduction to Google Cloud Machine Learning APIs
Introduction to Google Cloud Machine Learning APIsIntroduction to Google Cloud Machine Learning APIs
Introduction to Google Cloud Machine Learning APIs
Romin Irani
 
Blogging Tips - A guide to why you should blog
Blogging Tips - A guide to why you should blogBlogging Tips - A guide to why you should blog
Blogging Tips - A guide to why you should blog
Romin Irani
 
How to Contribute to your Project
How to Contribute to your ProjectHow to Contribute to your Project
How to Contribute to your Project
Romin Irani
 
Go Language Hands-on Workshop Material
Go Language Hands-on Workshop MaterialGo Language Hands-on Workshop Material
Go Language Hands-on Workshop Material
Romin Irani
 
Google Cloud Platform Updates
Google Cloud Platform UpdatesGoogle Cloud Platform Updates
Google Cloud Platform Updates
Romin Irani
 
Internet of Things Overview
Internet of Things OverviewInternet of Things Overview
Internet of Things Overview
Romin Irani
 
Powering your Apps via Google Cloud Platform
Powering your Apps via Google Cloud PlatformPowering your Apps via Google Cloud Platform
Powering your Apps via Google Cloud Platform
Romin Irani
 
How to get business ready for Wearables: GDayX Mumbai 2014
How to get business ready for Wearables: GDayX Mumbai 2014How to get business ready for Wearables: GDayX Mumbai 2014
How to get business ready for Wearables: GDayX Mumbai 2014
Romin Irani
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
Romin Irani
 
Talk on Future of Enterprise Mobile App Development
Talk on Future of Enterprise Mobile App DevelopmentTalk on Future of Enterprise Mobile App Development
Talk on Future of Enterprise Mobile App Development
Romin Irani
 
Android developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftwareAndroid developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftware
Romin Irani
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
Romin Irani
 
Smart Computing : Cloud + Mobile + Social
Smart Computing : Cloud + Mobile + SocialSmart Computing : Cloud + Mobile + Social
Smart Computing : Cloud + Mobile + Social
Romin Irani
 
Thadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-WorkshopThadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-Workshop
Romin Irani
 

More from Romin Irani (15)

Google Cloud Platform Update - NEXT 2017
Google Cloud Platform Update - NEXT 2017Google Cloud Platform Update - NEXT 2017
Google Cloud Platform Update - NEXT 2017
 
Introduction to Google Cloud Machine Learning APIs
Introduction to Google Cloud Machine Learning APIsIntroduction to Google Cloud Machine Learning APIs
Introduction to Google Cloud Machine Learning APIs
 
Blogging Tips - A guide to why you should blog
Blogging Tips - A guide to why you should blogBlogging Tips - A guide to why you should blog
Blogging Tips - A guide to why you should blog
 
How to Contribute to your Project
How to Contribute to your ProjectHow to Contribute to your Project
How to Contribute to your Project
 
Go Language Hands-on Workshop Material
Go Language Hands-on Workshop MaterialGo Language Hands-on Workshop Material
Go Language Hands-on Workshop Material
 
Google Cloud Platform Updates
Google Cloud Platform UpdatesGoogle Cloud Platform Updates
Google Cloud Platform Updates
 
Internet of Things Overview
Internet of Things OverviewInternet of Things Overview
Internet of Things Overview
 
Powering your Apps via Google Cloud Platform
Powering your Apps via Google Cloud PlatformPowering your Apps via Google Cloud Platform
Powering your Apps via Google Cloud Platform
 
How to get business ready for Wearables: GDayX Mumbai 2014
How to get business ready for Wearables: GDayX Mumbai 2014How to get business ready for Wearables: GDayX Mumbai 2014
How to get business ready for Wearables: GDayX Mumbai 2014
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Talk on Future of Enterprise Mobile App Development
Talk on Future of Enterprise Mobile App DevelopmentTalk on Future of Enterprise Mobile App Development
Talk on Future of Enterprise Mobile App Development
 
Android developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftwareAndroid developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftware
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
 
Smart Computing : Cloud + Mobile + Social
Smart Computing : Cloud + Mobile + SocialSmart Computing : Cloud + Mobile + Social
Smart Computing : Cloud + Mobile + Social
 
Thadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-WorkshopThadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-Workshop
 

Recently uploaded

DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)
Margaret Fero
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
James Anderson
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
ScyllaDB
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
ScyllaDB
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
SadikaShaikh7
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
crioux1
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
amitchopra0215
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
Dr. Jimmy Schwarzkopf
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
The Digital Insurer
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 

Recently uploaded (20)

DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 

Gradle and Android Studio : Best of Friends

  • 1. PRESENTED BY: ROMIN IRANI | DECEMBER 14, 2014 Gradle : Your Friend in Android Studio
  • 2. Agenda What is Gradle ? Gradle Features Gradle & Android Studio Demo : Understanding Gradle in Android Studio 2
  • 3. Gradle is ….  Build Language  Dependency Resolver and Manager  Build Task scheduler and executor  Build by Convention  Groovy DSL  Multi-Project Builds  Custom Logic  API and Plugin ecosystem And definitions like that scare the developer in 3
  • 4. Gradle actually is …  Your friend in Android Studio  Makes it easy to create Android Projects that can handle multiple modules (app , library, APIs)  Allows you to use a single Android Project to develop versions for  Production  Demo  Based on simple declarative and easy to express language  Can be run from both command line and inside Android Studio  And other goodies … Maybe … this is beginning to make more sense. 4
  • 5. Android Developers – Wake up ! 2 IDEs Difficult to support both for Google Official Note does mention that work is happening on Android Studio only ! Simply Import Eclipse projects or Export to Gradle 5
  • 6. 6 Android Studio : Official IDE + 1.0 Release
  • 7. 7
  • 8. Gradle + Android Studio – In Action  Project Basics [settings.gradle, build.gradle (proj+modules)]  Plugins + Tasks + Convention = Magic  Module Settings – UI into build.gradle  Gradle Tasks – Command Line + Window  Multi – Module Projects  Build Types– Debug / Release  Flavors – Demo / Full  See another sample Project 8
  • 9. Project Basics 9 • Project Root : settings.gradle, build.gradle • Module Root : build.gradle
  • 10. Android Plugin 10 • apply plugin: 'com.android.application'• Android DSL
  • 11. Module Settings 11 • Modify build.gradle OR • Via Module Settings UI
  • 12. Gradle Tasks 12 • Command Line • Gradle Commander
  • 13. Multi Module Projects 13 • settings.gradle at Root • Each folder at root is a module • build.gradle in each module • specific plugins • mention Dependencies • Example : Android + Cloud Module
  • 14. Build Types & Build Tasks  assemble  check  build  clean 14  debug  release
  • 15. Product Flavors  Allows you to build multiple variants of the same application  demo  full  For e.g. 2 Config Types and 2 Flavors = 4 combinations  demoRelease  demoDebug  fullRelease  fullDebug  Apply separate resources  Apply separate source files 15
  • 16. Product Flavors - continued 16
  • 18. Thank You + Q & A  Email : romin.irani@mindstormsoftware.com  Twitter : @iRomin  Blog : http://www.rominirani.com 18