【摘要】有一次 Android Studio 重裝,再打開以前的項(xiàng)目,結(jié)果一大堆錯(cuò)誤变过,很大的原因來(lái)自多 Android Studio 中項(xiàng)目文件的不熟悉,不清楚是干嘛的涝涤,所以今天理一下媚狰,只做一個(gè)粗略的了解。
0阔拳、目錄結(jié)構(gòu)
? ? 這是項(xiàng)目視圖下看到的項(xiàng)目文件目錄崭孤,跟文件的實(shí)際存儲(chǔ)位置一致。
? ? 備注:在 Android Studio 中一個(gè)項(xiàng)目(Project)可以有多個(gè)模塊(Module)糊肠,比如本例的 Hqfwzx 就是一個(gè)模塊(Module)辨宠。我們看到的 .gradle, .idea, app, gradle 都是 Hqfwzx 這個(gè)模塊(Module)持有的。
? ? 1)? ? .gradle 文件夾包含的是 gradle?工具的各個(gè)版本货裹。
Gradle是一個(gè)基于Apache Ant和Apache Maven概念的項(xiàng)目自動(dòng)化構(gòu)建工具嗤形。它使用一種基于Groovy的特定領(lǐng)域語(yǔ)言(DSL)來(lái)聲明項(xiàng)目設(shè)置,拋棄了基于XML的各種繁瑣配置弧圆「潮——來(lái)自“百度百科”
????平時(shí)我們構(gòu)建代碼使用的是哪個(gè)版本呢笔咽?可以在 gradle\wrapper\gradle-wrapper.properties 文件中查看,并且可以修改霹期∫蹲椋可能大家遇到這樣的情況:把別人的項(xiàng)目拷過(guò)來(lái)用,發(fā)現(xiàn)打開的時(shí)候在下載東西经伙,而且下載很久都還沒結(jié)束。原因就是別人的項(xiàng)目指定了 gradle 版本(如下圖)勿锅,但是在你的電腦上沒有帕膜,所以 Android Studio 會(huì)自動(dòng)下載。你也可以在打開之前修改這個(gè)項(xiàng)目的 gradle 版本溢十,修改成你本地電腦有的(如果兼容的話)垮刹,這樣就可以直接打開了。
? ? 2)? ? .idea 文件夾包含了開發(fā)所需的各種環(huán)境张弛。
IDEA 全稱IntelliJ IDEA荒典,是java語(yǔ)言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一吞鸭,尤其在智能代碼助手寺董、代碼自動(dòng)提示、重構(gòu)刻剥、J2EE支持遮咖、Ant、JUnit造虏、CVS整合御吞、代碼審查、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說(shuō)是超常的漓藕。IDEA是JetBrains公司的產(chǎn)品陶珠,這家公司總部位于捷克共和國(guó)的首都布拉格,開發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主享钞∽岱蹋——來(lái)自“百度百科”
? ? 3)? ? app 文件夾包含了我們要開發(fā)的 app 的所有。
? ? ? ? 在這個(gè) app 文件夾目錄下同樣有一個(gè) build.gradle 文件栗竖,這個(gè)文件的設(shè)置只對(duì)本 app 有效寝姿,而上一層目錄下的 build.gradle 對(duì)本項(xiàng)目有效。平時(shí)我們需要引用別人的開源庫(kù)划滋,就是在這里面添加的饵筑。
? ? 4)? ? gradle 文件夾包含了 gradle 工具的打包。 wrapper 的意思就是“包裝处坪、打包”根资。這個(gè)目錄的意義是:把項(xiàng)目拷貝給別人時(shí)架专,別人電腦上可能根本沒有安裝 gradle 工具,為了能夠使用本項(xiàng)目玄帕,可以使用項(xiàng)目中打包好的 gradle 工具部脚。具體沒有了解過(guò)。
????5)? ? .gitignore 文件裤纹,從字面意思上是 git ignore委刘,具體作用沒有了解,因?yàn)槠綍r(shí)從來(lái)沒有接觸到該文件鹰椒。
? ? 6)? ? build.gradle (主目錄下的)文件是最頂層的構(gòu)建文件锡移,這里配置所有模塊通用的配置信息。注意與 模塊下的 build.gradle 文件區(qū)分漆际。
?7)? ? gradle.properties 文件淆珊,?gradle 的相關(guān)配置。
8)? ? ?gradlew 文件
9)? ? gradlew.bat 是 windows 下的批處理文件奸汇。
10)? ? hqfwzx.iml 文件保存這個(gè)模塊的相關(guān)信息施符,格式是 xml 。
11)? ? local.properties 文件保存 Android SDK 所在的路徑擂找。
? ? 12)? ? setting.gradle 文件在初始化過(guò)程中被執(zhí)行戳吝,一個(gè) Gradle 構(gòu)建通常包括三個(gè)階段:初始化,配置贯涎,和執(zhí)行骨坑。
參考:
????英語(yǔ)能力好的同學(xué)盡量閱讀英文原版文檔吧,因?yàn)樵嫖臋n原理解釋的非常清楚柬采。你去看別人的博客欢唾,已經(jīng)是經(jīng)過(guò)別人理解后的結(jié)果,可能會(huì)有些誤差粉捻。但我看著這滿屏的英文時(shí)礁遣,閱讀效率很低,光理解某個(gè)詞就要花不少時(shí)間肩刃。
參考:
2、Android Studio中的Project和Module是個(gè)什么鬼盈包?
3沸呐、android studio使用教程(六) project和module gradle腳本查看
4、Gradle for Android 系列:初識(shí) Gradle 文件
6崭添、gradle-wrapper.properties中各屬性的含義
7、Gradle學(xué)習(xí)筆記 使用Gradle Wrapper
8叛氨、徹底搞懂Gradle呼渣、Gradle Wrapper與Android Plugin for Gradle的區(qū)別和聯(lián)系