Gradle 和 Android Studio --- Jason Ko
Transcript of Gradle 和 Android Studio --- Jason Ko
什麼是 GRADLE
• Automation Tool 自動化建置工具
• 可以做的事: compile, test, package, deploy
(ship), project dependencies…
• Gradle 是使用 Groovy 語言的腳本語言
(腳本語言是為了縮短 edit, compile, link, run
而開發的語言, 一行行地運行, 像 shell 一樣)
為什麼是 GROOVY
• 語言精簡 ( Less verbose )
• 支援多種程式語言 ( Very flexible)
• DSL ( Domain Specific Language)
=> 很優, 而且不用學 ! 我們只要會叫 Gradle 跑
就好了!
DSL 舉例
Java 的 Swing GUI Toolkit
Groovy 的 SwingBuilder
取自:http://www.codedata.com.tw/java/groovy-tutorial-1-understanding-groovy/
基本指令
• gradle -q tasks => 列出 tasks, -q 是 in quiet
mode
• gradle -q help => look help guide
• gradle properties => 列出此 project 的
properties
Java 有 4 種不同的 Configuration
• compile, runtime, testCompile, testRuntime
• 在這 4 種不同的 configuration, 我們可以指定
不同的 dependencies
• for Android Project 大部份我們只用到
compile
p.s 為了不搞混, 我們稱HelloCloudEndpoints 為
project,
api, app 為 module
此例子中, app 為手機程式module, api 為 google cloud
module
App 的 build.gradle 1. apply “com.android.application” 的 plugin
2. 因為 apply 上面這個 plugin 所以有 android{} 這個 configuration element 可以用
會覆蓋 AndroidManifiest.xml
Compile SDK version
決定如何打包 APP,
有 release 跟 debug 兩種可用
product flavors• 同一個專案, 輸出不同的 APP ex. Demo version, Full
version
• 在 gradle.build 裡的 Android {} 添加 productFlavors{}
值得學的
• 使用 Android Studio + App Engine + Cloud Endpoints
=>
1. 節省寫 web server api 的時間!
2. 節省解析文檔 (json, xml) 的時間
節省 50% 時間!
• 可以參考 "App Engine Java Endpoints Module" Template
https://github.com/GoogleCloudPlatform/gradle-appengine-
templates/tree/master/HelloEndpoints
參考內容:
1. IROMIN Gradle Tutorial
http://rominirani.com/2014/07/28/gradle-tutorial-series-an-
overview/
2. Wiki
https://en.wikipedia.org/wiki/Gradle
That’s All.