Android Studio目錄結構淺析!!!

來源:互聯網
上載者:User

標籤:

 

Android Studio目錄結構淺析

 

轉自: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 WrapperGradle進行了一層封裝,我猜測這麼做的原因是因為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指令碼

 

1、gradle檔案夾:這裡面有兩個檔案,gradle-wrapper.jar和gradle-wrapper.properties,它們就是gradle wrapper。gradle項目都會有,你可以通過命令gradle init來建立它們(前提是本地安裝了gradle並且配置到了環境變數中)。

2、gradle.properties : 從名字上就知道它是一個設定檔,沒錯,這裡面可以定義一些常量供build.gradle使用,比如可以配置簽名相關資訊如keystore位置,密碼,keyalias等。

3、settings.gradle : 這個檔案是用來配置多模組的,比如你的項目有兩個模組 module-a,module-b,那麼你就需要在這個檔案中進行配置,格式如下:include ‘:module-a‘,‘:module-b‘   。

4.gradlew和gradlew.bat:這分別是linux下的shell指令碼和windows下的批次檔,它們的作用是根據gradle-wrapper.properties檔案中的distributionUrl下載對應的gradle版本。這樣就可以保證在不同的環境下構建時都是使用的統一版本的gradle,即使該環境沒有安裝gradle也可以,因為gradle wrapper 會自動下載對應的gradle版本。gradlew的用法跟gradle一模一樣,比如執行構建gradle build命令,你可以用gradlew build。gradlew即gradle wrapper的縮寫。

 1.匯入本地jar包:跟eclipse不太一樣,android studio匯入本地jar 除了將 jar 包放到模組的 libs 目錄中以外,還得在該模組的build.gradle 中進行配置,配置方式是在 dependencies 結點下進行如下聲明:compile files(‘libs/xxx.jar‘) 如果libs下有多個jar檔案,可以這樣聲明:

 1 .compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) 2.匯入maven庫:compile ‘com.android.support:appcompat-v7:21.0.3‘ 可見,格式為compile ‘groupId:artifactId:version‘  3.匯入某個project:

 

這些就是外部檔案相關的一些檔案的介紹。我們來看下更重要的app模組裡的檔案

 這是app模組下的檔案目錄結構,介紹下他們的用途

檔案(夾)名 用途
build 編譯後的檔案存在的位置(包括最終產生的apk也在這裡面)
libs 依賴的庫所在的位置(jaraar)
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目錄結構的簡單介紹~

有問題可以直接留言,我會儘快回複。

歡迎關注我Github 以及 @Gemini

 

Android Studio目錄結構淺析!!!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.