android studio gradle 學習,學習Android Studio里的Gradle

一直聽說Gradle很強大,只是偶爾用Android Studio創建Demo的時候看到他一次,今天抽個時間完整記錄一下。

1.gradle位置

Android Studio項目創建好之后,默認有3個gradle文件,分別位于:

/settings.gradle

/build.gradle

/app/build.gradle

2.gradle內容

settings.gradle 默認只有一行代碼,即:

include ':app'

新創建的項目只有app一個子項目。如果在project里添加了子項目(Module),按理需要在settings.gradle里添加相應子項目名稱,如:

include ':app', ':androidlibrary'

提示:當你添加一個Module后,最新版的Android Studio會自動在settings.gradle里配置好,Amazing。

根目錄的build.gradle 就比較豐富了,默認有三個“節點”,buildscript、allprojects和task clean。

buildscript?{

repositories?{

jcenter()

}

dependencies?{

classpath?'com.android.tools.build:gradle:1.3.0'

}

}

allprojects?{

repositories?{

jcenter()

}

}

task?clean(type:?Delete)?{

delete?rootProject.buildDir

}

buildscript下的第一個子“節點”是聲明倉庫源,默認是jcenter,之前版本則是mavenCentral,也可以兩個center共存。jcenter可以理解成是一個新的中央遠程倉庫,兼容maven中心倉庫,而且性能更優。第二個子“節點”是聲明Android gradle plugin的版本,Android Studio 1.5版默認是gradle 1.3。

allprojects下是聲明了所有project默認的倉庫源。

task clean聲明了一個任務,任務名叫clean(也可以改為其它),任務類型是Delete(也可以是Copy),就是每當修改settings.gradle文件后點擊同步,就會刪除rootProject.buildDir下的文件(實際上我看到的效果是清除了External Libraries里的包,然后又添加了一次)。

app/build.gradle 就是默認android子項目的gradle文件了,也是三個小節點:apply、android和dependencies。

apply?plugin:?'com.android.application'

android?{

compileSdkVersion?15

buildToolsVersion?'19.1.0'

defaultConfig?{

applicationId?"com.nait.picassodemo"

minSdkVersion?4

targetSdkVersion?15

versionCode?1

versionName?"1.0"

}

buildTypes?{

release?{

minifyEnabled?false

proguardFiles?getDefaultProguardFile('proguard-android.txt'),?'proguard-rules.pro'

}

}

productFlavors?{

}

}

dependencies?{

compile?fileTree(dir:?'libs',?include:?['*.jar'])

compile?'com.squareup.picasso:picasso:2.5.2'

compile?'com.squareup.okhttp:okhttp:2.5.0'

compile?'com.umeng.analytics:analytics:5.6.1'

testCompile?'junit:junit:4.12'

}

appley節點:apply plugin: 'com.android.application'

以上語句中的apply是一個方法,給它傳遞了一個參數plugin,plugin 的值是'com.android.application'。如果有多個參數,則以逗號隔開,例如:compile name: 'volley', ext: 'aar'。

android節點:前面部分很好理解,從字面意思就能了解。buildTypes默認是release(也可以添加debug),minifyEnabled表示是否需要混淆,proguardFiles 表示混淆配置文件的名稱。productFlavors表示多渠道包(以后深入學習后再寫)。

dependencies節點:com.開頭的部分是Demo項目中添加的引用包,規則是namesapce:package name:version,其它兩行是項目創建后默認添加的。

當然,開發完APP也是需要進行全方位的檢測:www.ineice.com

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370086.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370086.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370086.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

接口耗時打印并統計

1.可以利用Tomcat的access-log日志&#xff0c;讓其打印出http請求的每次耗時。可以在 config/server.xml里Host標簽下配置tomcat訪問日志格式 <Valve className"org.apache.catalina.valves.AccessLogValve" directory"logs" prefix&quo…

js內存

js在定義變量時完成了內存的分配 js具有自動垃圾回收機制&#xff0c;垃圾回收器會每隔固定的一段時間就執行一次釋放操作&#xff0c;即找出那些不再繼續使用的值&#xff0c;釋放其占用的內存 js中最常用的是通過標記清除的算法來找到哪些對象是不再繼續使用的&#xff0c;因…

halcon 圖像差分_Halcon編程-基于紋理的mara檢測

表面瑕疵檢測是機器視覺領域非常重要的一個應用。機器視覺是集光學、機電和計算機三個領域的一門不算新的技術。但目前表面瑕疵檢測在學界主要是計算機專業或者控制專業瞄準圖像處理方向在做&#xff0c;而視覺光學系統這一塊主要是光學工程專業在做。很少有研究者把這三塊都結…

Apache Camel入門

在先前的博文中&#xff0c;我們了解了企業集成模式&#xff08;EIP&#xff09;。 現在&#xff0c;在這篇文章中&#xff0c;我們將研究實現這些模式的Apache Camel框架。 關于駱駝&#xff1a; Apache Camel是一個開放源代碼項目&#xff0c;已有將近5年的歷史&#xff0c;…

css 寫打印樣式問題

&#xff08;1&#xff09;背景顏色打印不出來問題解決方法 background樣式要加上 !important&#xff1b;color樣式要加上 !important&#xff1b;-webkit-print-color-adjust: exact;然后記得瀏覽器打印設置里面要在“打印背景圖形”前面打勾。 -webkit-print-color-adjust:…

android studio smssdk,SMSSDK for Android 配置

1.集成之前先要申請Mob的appkey與appsecret2.在Mob官網下載最新SDK&#xff0c;解壓后會看到以下目錄結構&#xff1a;SMSSDK下存放的是短信SDK的全部內容。3.在android studio中加入SMS的第三方庫AS版本的SMSSDK目錄下包含以下內容&#xff1a;MobCommons.jar&#xff1a;Mob …

linux后臺不掛斷運行 nohup命令

//后臺常在 退出終端仍然運行 nohup python pyredis.py & nohup輸出重定向到my.log nohup command > my.log 2>&1 &轉載于:https://www.cnblogs.com/plxm/p/8136833.html

Ubuntu 16.04安裝微信

微信沒有出Linux的版本&#xff0c;但是可以通過以下方式解決&#xff1a; 1、使用網頁版&#xff0c;除了沒有公眾號之后&#xff0c;一切都沒問題&#xff0c;包括傳文件等。 網頁登錄地址&#xff1a;https://wx.qq.com/ 2、使用第三方版本&#xff0c;只不過這個是桌面應用…

navision系統和sap區別_SAP那些事-實戰篇-89-淺談金稅接口方案

以前金稅接口這塊一直是銷售顧問在做&#xff0c;雖然和財務相關&#xff0c;也沒有怎么關注。這次項目把金稅接口分到了財務模塊&#xff0c;結果遇到了一些問題&#xff0c;趁此機會把這塊總結一下方案&#xff0c;供各位看官參考。方案1&#xff1a; 文本方案&#xff0c;這…

不變性的來龍去脈

因此&#xff0c;在我的第一篇文章中&#xff0c;我談到了一些構建器模式&#xff0c;并提到了一個非常強大但卻被忽視的概念&#xff1a;不變性。 什么是不可變類&#xff1f; 這只是一個其實例無法修改的類。 類屬性的每個值都在其聲明或其構造函數中設置&#xff0c;并在對…

JavaScript總結(3)

第3章 獲取用戶的輸入 &#xff1c;script&#xff1e;10 intAprompt("請輸入第一個數字","");11 intBprompt("請輸入第二個數字",27);默認是2712 document.write("你輸入的第一個數字是"intA);13 document.write("&#xff1c;…

css書寫規范

在書寫css樣式的時候總是無意中就寫亂了&#xff0c;無論是命名或者是樣式的書寫順序&#xff0c;這里做一個總結&#xff0c;提醒自己在書寫css的時候時刻注意&#xff0c;大家可以參考哈。 1. 樣式屬性順序 單個樣式規則下的屬性在書寫時&#xff0c;應按功能進行分組&…

android 協程,關于android:Kotlin協程實現原理SuspendCoroutineContext

明天咱們來聊聊Kotlin的協程Coroutine。如果你還沒有接觸過協程&#xff0c;舉薦你先瀏覽這篇入門級文章What? 你還不曉得Kotlin Coroutine?如果你曾經接觸過協程&#xff0c;置信你都有過以下幾個疑難&#xff1a;協程到底是個什么貨色&#xff1f;協程的suspend有什么作用&…

清空easyui checkbox選中項

$(#dg).datagrid(unselectAll);轉載于:https://www.cnblogs.com/douhuan/p/7116744.html

python 編輯excel需要什么包_Python 中操作EXCEL表格的包

今天&#xff0c;馬云爸爸又來貢獻金句了&#xff0c;比王健林公公一億一個小目標還高&#xff0c;“一個月掙一二十個億很難受&#xff01;&#xff01;&#xff01;”&#xff0c;作為在傳統企業主要為電商部門提供數據分析的數據分析師&#xff0c;體驗太深刻了。雙11前后&a…

用Java處理大文件

最近&#xff0c;我不得不處理一組包含逐筆歷史匯率市場數據的文件&#xff0c;并很快意識到使用傳統的InputStream都無法將它們讀取到內存中&#xff0c;因為每個文件的大小都超過4 GB。 Emacs甚至無法打開它們。 在這種特殊情況下&#xff0c;我可以編寫一個簡單的bash腳本&…

java IO(一):File類

1.File類簡介 File類位于java.io包中。它面向文件層次級別操作、查看文件&#xff0c;而字節流、字符流操作數據時顯然比之更底層。 學習File類包括以下幾個重點&#xff1a;文件路徑、文件分隔符、創建文件(目錄)、刪除文件(目錄)、查看文件內容(輸出目錄內文件)、判斷文件(是…

android listview 開發,android開發之ListView實現

今天又初步學習了一下ListView控件&#xff0c;看看效果如下&#xff1a;LisViewActivity.java源碼&#xff1a;package com.jinhoward.UI_listview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundl…

input ios問題 小程序_微信小程序開發常見問題匯總

原標題&#xff1a;微信小程序開發常見問題匯總1、域名必須是https非https的域名不被微信小程序允許。2、input組件placeholder字體顏色卸載placeholder-class里面的color并不生效&#xff0c;需要寫在placeholder-style里面就可以了。3、wx.navigateTo無法跳轉到帶tabbar的頁面…

https://github.com/

https://github.com/ qq郵箱 轉載于:https://www.cnblogs.com/chang1/p/7133251.html