標籤:
1190000002963895
應各位朋友的要求,寫這篇文章,讓我們來簡單瞭解下Android Studio中不同目錄(檔案)的位置和用途。 首先看下一個App的最簡單的目錄結構
【= = 好複雜的樣子】
OK,我們這麼看,第一,把這麼多檔案先分成這麼三塊
1. 編譯系統(Gradle)
2. 設定檔
3. 應用模組
Gradle是Google推薦使用的一套基於Groovy的編譯系統指令碼(當然,你也可以使用ant),具體的介紹和文檔可以參考這個傳送門:https://developer.android.com/tools/building/plugin-for-gradle.html
如果你學會之後,會對Android項目的編譯了如指掌(總之非常爽~),它的缺點目前是效率不高,然後因為有功夫網的存在,所以在bintray上下載依賴會比較慢。
上面那個圖中出現gradle字眼的就是gradle相關的一些檔案。
Android中使用Gradle Wrapper對Gradle進行了一層封裝,我猜測這麼做的原因是因為gradle更新速度實在太快,為了相容性著想,才出了這麼一套方案。(如果覺得這個猜想有問題請指正)
gradlew相關的檔案就是和Gradle Wrapper有關。我們對除了app檔案夾以外的檔案列一下。
| 檔案(夾)名 |
用途 |
| .gradle |
Gradle編譯系統,版本由wrapper指定 |
| .idea |
Android Studio IDE所需要的檔案 |
| build |
代碼編譯後產生的檔案存放的位置 |
| gradle |
wrapper的jar和設定檔所在的位置 |
| .gitignore |
git使用的ignore檔案 |
| build.gradle |
gradle編譯的相關設定檔(相當於Makefile) |
| gradle.properties |
gradle相關的全域屬性設定 |
| gradlew |
*nix下的gradle wrapper可執行檔 |
| graldew.bat |
windows下的gradle wrapper可執行檔 |
| local.properties |
區域屬性設定(key設定,android sdk位置等屬性),這個檔案是不推薦上傳到VCS中去的 |
| settings.gradle |
和設定相關的gradle指令碼 |
這些就是外部檔案相關的一些檔案的介紹。我們來看下更重要的app模組裡的檔案
這是app模組下的檔案目錄結構,介紹下他們的用途
| 檔案(夾)名 |
用途 |
| build |
編譯後的檔案存在的位置(包括最終產生的apk也在這裡面) |
| libs |
依賴的庫所在的位置(jar和aar) |
| src |
原始碼所在的目錄 |
| src/main |
主要代碼所在位置(src/androidTest)就是測試代碼所在位置了 |
| src/main/assets |
android中附帶的一些檔案 |
| src/main/java |
最最重要的,我們的java代碼所在的位置 |
| src/main/jniLibs |
jni的一些動態庫所在的預設位置(.so檔案) |
| src/main/res |
android資源檔所在位置 |
| src/main/AndroidManifest.xml |
AndroidManifest不用介紹了吧~ |
| build.gradle |
和這個項目有關的gradle配置,相當於這個項目的Makefile,一些項目的依賴就寫在這裡面 |
| proguard.pro |
代碼混淆設定檔 |
以上就是對Android Studio目錄結構的簡單介紹~
Android Studio目錄結構淺析