若是AS徹底還沒摸懂的,建議先看下Android開發工具全面轉向Android Studio(2)——AS project/module的CRUD。html
注:如下以Windows平臺爲標準,AS以目前最新穩定版1.4.1爲準。java
一、其實AS project/module的目錄結構很簡單,我濃縮成2張圖給總結了,先看圖,再看下面的文字,由於還有些細節圖上體現不出來(我這個圖上的項目來源於我以前的Eclipse項目,而且有lib項目庫相互依賴)android
二、上面的圖很直觀,但也很眼花繚亂,我再針對圖總結下重點和疑問點。app
①在AS的世界裏,文件夾都以模塊(module)爲單位組織的,其實所謂的項目project也同樣,上一篇Android開發工具全面轉向Android Studio(2)——AS project/module的CRUD中就出現刪除一個project就會提示cannot rename root module,那是由於能夠在.idea/modules.xml中找到以下圖所示,在編譯時所有都以module同等對待,只不過在項目組織中,project是個root module而已。eclipse
既然project也是模塊,module也是模塊,那麼他們就有共同的東西,在AS中,XXX.iml、build.gradle以及build文件夾就是模塊共同的。ide
如上面的project中有_workspace_android_as.iml和build.gradle工具
好比appStore module中也有appStore.iml、build.gradle以及build文件夾開發工具
②畢竟project是比較大的概念,那麼它必定得還有些module沒有的東西,那就是:.gradle文件夾、.idea文件夾、gradle文件夾、gradle、local.properties和settings.gradle等。gradle
以.開頭的基本上就不用理會了,比較重要的是:gradle文件夾是gradle wrapper,local.properties是配置SDK,NDK路徑的,而settings.gradle是一個很重要的文件,用於描述改project下有哪些module,或者說只有在這個project的settings.gradle註冊過的module AS才認爲是這個project的module。ui
③module之因此不是project確定也有一些特殊之處,那就是含有資源文件,包括libs目錄(eclipse項目中libs/*.jar文件)、assets目錄(eclipse項目中assets)、java目錄(eclipse項目中src)、jniLibs目錄(eclipse項目中libs/XXXX/*.so文件)、res目錄、AndroidManifest.xml。另外在module中build目錄至關於eclipse項目中bin目錄,而build.gradle更像eclipse項目中的project.properties,可是比project.properties強悍多了
原創隨筆,轉載註明出處。