SlideShare a Scribd company logo
Veni, Vidi, Built:
Android Gradle Plugin
LYK dalinaum@gmail.com
Julius Caesar
Veni, Vidi, Vici

왔노라, 보았노라, 이겼노라
BC 100 ~ BC 44
Julius Caesar
Veni, Vidi, Built

왔노라, 보았노라, 빌드했노라
BC 100 ~ BC 44
• Gradle
• Tasks
• Android custom tasks
• New Android Plugin
• NDK
• Jack & Jill
• Atom Android
Gradle
• Configuration (Static) + Build (Dynamic)
Ant
• Focus on Build
• hard to configure
Maven
• Focus on Configuration
• hard to customise
Alt.
• Gradle
• Groovy language (Dynamic)
• DSL (Static)
• Apache Ivy
Groovy
• Runs on Java VM
• The principle of least surprise (JAVA)
• Built-in List, Range, Map, Closure
• Improved Loops, Switches
• Built-in Regex, Improved Strings
• Supports Dynamic typing and Static typing.
Task: Hello World
task hello {
doLast {
println 'Hello world!'
}
}
gradle -q hello
Task: Hello World

(short version)
task hello << {
println 'Hello world!'
}
gradle -q hello
upper, count
task upper << {
String someString = 'mY_nAmE'
println "Original: " + someString
println "Upper case: " + someString.toUpperCase()
}
task count << {
4.times { print "$it " }
}
gradle -q upper count
Dependency
task upper << {
String someString = 'mY_nAmE'
println "Original: " + someString
println "Upper case: " + someString.toUpperCase()
}
task count << {
4.times { print "$it " }
}
gradle -q intro
Android Gradle
build.grade (all)
app/build.gradle (app module)
settings.gradle (import app module)
jCenter
Android custom task
Veni, Vide, Built: Android Gradle Plugin
Veni, Vide, Built: Android Gradle Plugin
gradle -q assemble
New Android Plugin
(Experimental)
gradle/wrapper/gradle-
wrapper.properties
build.gradle
app/build.gradle
Veni, Vide, Built: Android Gradle Plugin
component model mechanism

(Gradle 2.5)
Veni, Vide, Built: Android Gradle Plugin
Veni, Vide, Built: Android Gradle Plugin
NDK support
(New Android Plugin)
local.properties
build.gradle
build.gradle
app/src/main/jni/
hello-jni.c
Veni, Vide, Built: Android Gradle Plugin
app/src/main/java/
gdg/kr/hellogdg/
Veni, Vide, Built: Android Gradle Plugin
NDK example:
https://github.com/
googlesamples/android-ndk
JACK & JILL
• JACK - Java Android Compiler Kit
• JILL - Jack Intermediate Library Linker
Veni, Vide, Built: Android Gradle Plugin
build.gradle
Atom Android
• Atom plugin for Android
• https://github.com/atom/apm
Fin.

More Related Content

Viewers also liked (20)

ODP
Captain Agile and the Providers of Value
Schalk Cronjé
 
PDF
Alpes Jug (29th March, 2010) - Apache Maven
Arnaud Héritier
 
PPTX
20091112 - Mars Jug - Apache Maven
Arnaud Héritier
 
KEY
Building Android apps with Maven
Fabrizio Giudici
 
PDF
Maven 3.0 at Øredev
Matthew McCullough
 
PDF
Gradle enabled android project
Shaka Huang
 
PDF
不只自動化而且更敏捷的Android開發工具 gradle mopcon
sam chiu
 
PDF
Gradle in 45min
Schalk Cronjé
 
PPTX
Gradle
Vít Kotačka
 
PDF
Lorraine JUG (1st June, 2010) - Maven
Arnaud Héritier
 
PDF
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Carlos Sanchez
 
PDF
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Rajmahendra Hegde
 
PDF
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
PDF
Gradle talk, Javarsovia 2010
Tomek Kaczanowski
 
PDF
Mastering Maven 2.0 In 1 Hour V1.3
Matthew McCullough
 
PPTX
Drupal Continuous Integration with Jenkins - The Basics
John Smith
 
PDF
React Redux React Native
Leonardo YongUk Kim
 
PDF
Gradle by Example
Eric Wendelin
 
PDF
Maven Application Lifecycle Management for Alfresco
guest67a9ba
 
PDF
Gradle Introduction
Dmitry Buzdin
 
Captain Agile and the Providers of Value
Schalk Cronjé
 
Alpes Jug (29th March, 2010) - Apache Maven
Arnaud Héritier
 
20091112 - Mars Jug - Apache Maven
Arnaud Héritier
 
Building Android apps with Maven
Fabrizio Giudici
 
Maven 3.0 at Øredev
Matthew McCullough
 
Gradle enabled android project
Shaka Huang
 
不只自動化而且更敏捷的Android開發工具 gradle mopcon
sam chiu
 
Gradle in 45min
Schalk Cronjé
 
Lorraine JUG (1st June, 2010) - Maven
Arnaud Héritier
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Carlos Sanchez
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Rajmahendra Hegde
 
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
Gradle talk, Javarsovia 2010
Tomek Kaczanowski
 
Mastering Maven 2.0 In 1 Hour V1.3
Matthew McCullough
 
Drupal Continuous Integration with Jenkins - The Basics
John Smith
 
React Redux React Native
Leonardo YongUk Kim
 
Gradle by Example
Eric Wendelin
 
Maven Application Lifecycle Management for Alfresco
guest67a9ba
 
Gradle Introduction
Dmitry Buzdin
 

More from Leonardo YongUk Kim (20)

PDF
Compose Multiplatform 101
Leonardo YongUk Kim
 
PDF
Kotlin 2.0을 통해 알아보는 코틀린의 미래
Leonardo YongUk Kim
 
PDF
안드로이드 빌드: 설탕없는 세계
Leonardo YongUk Kim
 
PDF
Realm은 어떻게 효율적인 데이터베이스를 만들었나?
Leonardo YongUk Kim
 
PDF
MVC부터 MVVM, 단방향 데이터 흐름까지
Leonardo YongUk Kim
 
PDF
Anatomy of Realm
Leonardo YongUk Kim
 
PDF
PublishSubject
Leonardo YongUk Kim
 
PDF
Tensorflow 101
Leonardo YongUk Kim
 
PDF
Realm과 RxJava
Leonardo YongUk Kim
 
PDF
A brief introduction to Realm with Kotlin
Leonardo YongUk Kim
 
PDF
Realm Java
Leonardo YongUk Kim
 
PDF
역시 Redux
Leonardo YongUk Kim
 
PDF
3D Graphics 101
Leonardo YongUk Kim
 
PDF
오픈 소스로 취업하기: 나는 어떻게 오픈 소스를 하다 렘 개발자가 되었나?
Leonardo YongUk Kim
 
PDF
Realm: 초고속 데이터베이스
Leonardo YongUk Kim
 
PDF
React Everywhere
Leonardo YongUk Kim
 
PPTX
A brief guide to android gradle
Leonardo YongUk Kim
 
PDF
Modern android
Leonardo YongUk Kim
 
PDF
Butter android views
Leonardo YongUk Kim
 
PDF
Actionbar and fragment
Leonardo YongUk Kim
 
Compose Multiplatform 101
Leonardo YongUk Kim
 
Kotlin 2.0을 통해 알아보는 코틀린의 미래
Leonardo YongUk Kim
 
안드로이드 빌드: 설탕없는 세계
Leonardo YongUk Kim
 
Realm은 어떻게 효율적인 데이터베이스를 만들었나?
Leonardo YongUk Kim
 
MVC부터 MVVM, 단방향 데이터 흐름까지
Leonardo YongUk Kim
 
Anatomy of Realm
Leonardo YongUk Kim
 
PublishSubject
Leonardo YongUk Kim
 
Tensorflow 101
Leonardo YongUk Kim
 
Realm과 RxJava
Leonardo YongUk Kim
 
A brief introduction to Realm with Kotlin
Leonardo YongUk Kim
 
역시 Redux
Leonardo YongUk Kim
 
3D Graphics 101
Leonardo YongUk Kim
 
오픈 소스로 취업하기: 나는 어떻게 오픈 소스를 하다 렘 개발자가 되었나?
Leonardo YongUk Kim
 
Realm: 초고속 데이터베이스
Leonardo YongUk Kim
 
React Everywhere
Leonardo YongUk Kim
 
A brief guide to android gradle
Leonardo YongUk Kim
 
Modern android
Leonardo YongUk Kim
 
Butter android views
Leonardo YongUk Kim
 
Actionbar and fragment
Leonardo YongUk Kim
 
Ad

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Ad

Veni, Vide, Built: Android Gradle Plugin