IT技術互動交流平台

GradleforAndroid係列|-移动彩票:初識Gradle文件

來源-|_345彩票网导:IT165收集  發布日期-|139乐享平台合法吗:2016-12-22 20:36:18

讀完本文你將了解到||_陈百强演唱会高清:

settinggradle 主目錄下的 buildgradle 模塊下的 buildgradle 備注 注意 applicationId 和 package name 其實不是一個東西 總結

shixinzhang

我們用 Android Studio 新創建一個項目時|-|168开奖网下载安装,會自動生成 3 個 Gradle 文件|-_手机qq2011免费下载:

shixinzhang

接下來介紹這三個文件的作用__|园区三中。

1. setting.gradle

上篇文章-鞍山铁通影院:為什麼 Gradle 這麼火 中介紹了||bl文h,

一個 Gradle 構建通常包括三個階段__亿彩团队计划:初始化-|猎野人电视剧全集,配置|_必瘦美人汤,和執行||_镭波吧。

setting.gradle 文件在 初始化過程中被執行_-关于设定行政许可 下列说法错误的是,構建器通過 setting.gradle 文件中的內容了解哪些模塊將被 build--|288彩票,下麵的內容表明當前項目中除了 app 模塊還有另外一個叫做 “shixinlibrary” 的依賴模塊|-105彩票手机登录:

include ‘:app’, ‘:shixinlibrary’

注意_|-阳城县人力资源和社会保障局:單模塊項目不一定需要有 setting 文件-_其乐船长,但一旦有多個模塊_易彩网,必須要有 setting 文件_锐骐zd30,同時也要寫明所有要構建的模塊|_安钢大厦,否則 gradle 不會 build 不包括的模塊||步步高i508手机游戏下载。

2.主目錄下的 build.gradle

看 gradle 文件中的注釋___xong出没熊出没之年货:

Top-level build file where you can configuration options common to all sub-projects/modules.

主目錄下的 build.gradle 文件是最頂層的構建文件-济南大学班花暴菊门,這裏配置所有模塊通用的配置信息_-中国高中排名。

默認的頂層 build.gradle 文件中包括兩個代碼塊 (buildscript 和 allprojects):

shixinzhang

buildscript
從名字就可以看出來|_众盈彩票是不是真的,buildscript 是所有項目的構建腳本配置_约彩彩票为啥注册不了,主要包括依賴的倉庫和依賴的 gradle 版本_|_qq2011版本。

上圖中 repositories 代碼塊將 jcenter 配置為一個倉庫|-|掌上购彩合法吗,JCenter 是一個很有名的 Maven 倉庫-|诛仙烈山。確定了依賴的倉庫後_-_天天向上20100205,我們就可以在 dependencies 代碼塊中添加依賴的_-洛阳电视台三套、在 jcenter 倉庫中的包了_|008彩票平台靠谱吗。

dependencies 代碼塊用於配置構建過程中的依賴包-|苏明星,注意_-注册送彩金的平台游戏,這裏是用於構建過程-浪漫刺客片尾曲,因此你不能講你的應用模塊中需要依賴的庫添加到這裏-_观音灵签解签8。

默認情況下唯一被用於構建過程中的依賴包是 Gradle for Android 的插件_--苏州地税局网站。我們還可以添加一些其他用於構建的插件-|_疥舒宁多少钱,比如 retrolambda, apt, freeline 等等-|_侧方位停车技巧图解。

allprojects
allprojects 代碼塊用來聲明將被用於所有模塊的屬性|-青岛工艺品招聘,注意是所有模塊-|优选彩票平台好不好。常見的就是配置倉庫地址(jcenter, 自定義 maven 倉庫等)-_掌上永辉职工app考勤,你還可以在 allprojects 中創建 tasks_--雪弗莱科帕奇,這些 tasks 最終會運用到所有模塊中|优点彩票北京PK10,

官方建議盡量少添加用於所有模塊的屬性-||洛阳三套,因為這意味著強耦合_-淘宝店标多大,一旦沒有構建主項目-|2013上映的电影有哪些,你的子模塊很有可能因為缺少所有模塊的屬性導致構建失敗_-夺宝传世挂机。

3.模塊下的 build.gradle

模塊下的 build.gradle 文件隻應用於當前模塊-阿克苏什么生意好做,你可以覆蓋主目錄下的 build.gradle 的內容-_234彩票真假。

以我的練習項目為例介紹_|-武汉口碑网:
shixinzhang

上圖中主要分三個模塊_168彩票正规吗:apply plugin , android, dependencies__滑板车展示架。

apply plugin
apply plugin 聲明了接下來要用到哪些插件的內容_|234彩官网,上圖表明使用了 androd 插件|-|易富娱乐彩票app,這裏之所以能用 android 插件||-谈爱李白原文,是因為主目錄中聲明了 Gradle for Android 的依賴-_青燕,這裏才能使用|_掌上彩票首页。

因此當我們需要使用其他插件_-|联想a60手机游戏,比如 retrolambda 時_--鹿喜微七天断食,首先需要在主目錄 build.gradle 文件中添加依賴|重庆李俊案,然後在模塊 build.gradle 中聲明使用 retrolambda 插件-||2m彩票永久资料全年开。

備注|_-10500彩票怎么玩:默認的 android 插件是由 Google 官方維護的|--黄山奇石天狗望月,為我們提供了構建|盈彩彩票苹果下载、測試|_-双胞胎饲料价格、打包 Android 應用的能力|_|易彩网跟买靠谱吗。除此之外我們還可以自定義插件--_q空间克隆。在逐漸加深對 Gradle 的了解後__|霞飞路28号,我們將嚐試自己寫個 Gradle 插件--璀璨人生吻戏图片。

android
在聲明了 android 插件後四个英文字母的品牌,我們就可以使用 android 插件提供的內容進行構建配置|-郭锦瑾。

android 構建配置中必須要有的是兩個版本||深喉是什么意思:

compileSdkVersion : 編譯應用的 Android API 版本 buildToolsVersion : 構建工具版本
構建工具包括 aapt, zipalign, renderscript 等 用於在打包時生成各種中間產物|__快手封号名单300人,可以從 SDK Manager 中下載構建工具

defaultConfig 代碼塊用於配置應用的默認屬性--众盈彩票合法吗,可以覆蓋 AndroidManifest.xml 中的屬性_|-敖广恩,比如|红罂粟 剧情:

applicationId : 覆蓋了 AndroidManifest 中的 package name minSdkVersion : 覆蓋了 AndroidManifest 中的屬性-_-106官网彩票安全,配置運行應用的最小 API targetSdkVersion : 一樣_阿里旺旺2012官方下载,用於通知係統當前應用已經被這個版本測試過-|说话犀利是什么意思,和之前的 compileSdkVersion 沒有關係 versionCode : 一樣_|众发娱乐赌博,應用的版本號 versionName : 版本名稱

defaultConfig 還可以添加簽名||-英皇娱乐旗下平台,占位符等等_|笑多了不怀孕,這裏隻列這些_|2011qq官方下载。

buildTypes 用來定義如何構建和打包不同類型的應用|_-女孩一年做5次人流,常見的就是測試和生產||众赢挂机软件登录。具體內容後序介紹_|高唐天气预报。

android 中還可以配置其他信息|_|医学基础知识,比如 簽名-_106极速分分计划、渠道等__云顶至尊app怎么样,你可以在 Project Structure 麵板中直觀的查看||-诺基亚e88,添加_-|2013科幻电影排行榜,也可以使用代碼添加-|众彩彩票靠谱吗,這些內容我們後續詳細介紹_-|易购彩票安全不安全:
shixinzhang

dependencies
上圖中可以看到 依賴配置 在 android 代碼塊的外邊||我要一个身份证号码,事實上依賴配置是 Gradle 配置的基礎功能_-|mc水观音擦皮鞋歌词,也就是說除了 Android|-|苏州缂丝,其他類型的項目(比如 JavaEE )也可以這麼用_|金人庆 李薇。

我們可以在依賴配置中--|阿鲁科尔沁旗绿源,添加要使用的庫_|256c彩票官网,當然也可以添加本地的 jar 包-|20l8144期跑狗新图。具體依賴配置內容我們後續深入介紹|_08vip。

備注

注意|-_辽宁女孩骂四川地震: applicationId 和 package name 其實不是一個東西|俗人岛华人论坛。

在使用 Gradle 構建以前|||今日股市行情查询,package name 其實有兩個作用_|大连智联招聘:

在 R 文件中用作報名 應用的唯一標示

我們知道|公顷换算,一個安卓手機上相同包名的 app 隻能有一個|沈远奎。但是當我們想要同時安裝一個應用的不同的版本--花都区教育局电话,比如一種測試一種生產|||诺基亚5200qq,這時-_一道本,就需要修改 package name 了-weddingdress歌词,但是資源代碼和 R 文件要求使用的包名不能改變|_狗儿山上的八路军,否則你的所有源文件都會隨著構建版本而改變_-触点容量。怎麼辦呢-11选5杀2个100%技巧?

Gradle 出現後-|-极品公子混在校园,Android 工具團隊解耦了 package name 的兩種不同用法-|-北仑教科网,提出了 applicationId 的概念_赢咖娱乐注册:

定義在 Manifest 文件中的 package--_2019年第128期开奖,繼續用於源代碼和 R 文件的標示 而 applicationId 則用作設備和 Google Play 的唯一標識

也就是說 applicationId 覆蓋了 package name 的一部分職責_长恨春寻无觅处。

總結

這篇文章概覽了一個 Android 項目中的 Gradle 文件作用及內容-|永盛国际骗局,引申出許多細節--_神州行轻松卡c套餐,比如 自定義構建||钢结构楼梯图集、依賴管理_-_福州华伦中学网站、多種類型構建的配置等等|-|阜阳卫生局。接下來我們將深入學習這些內容_|1995返水05彩票网。

延伸閱讀||168娱乐2是什么平台:

Tag標簽|135彩票软件: 文件  
  • 專題推薦

  • Directx11 遊戲編程入門教程
  • 專題主要學習DirectX的初級編程入門學習__注册送本金的彩票,對Directx11的入門及初學者有...... 詳細
  • Windows7係統入門 優化 技巧技術專題
  • Windows7係統專題 無論是升級操作係統_--梁伟发简历、資料備份_陕西二台都市快报、加強資料的安全及管...... 詳細
About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯係方式
本站內容來自於互聯網,僅供用於網絡技術學習,學習中請遵循相關法律法規
众发彩票聚鑫彩票秒速快3爱购彩票苹果彩票财神彩票

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!