轉載來自:https://segmentfault.com/a/1190000002963895
首先看下一個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
目錄結構的簡單介紹~