1. 程式人生 > >Android Studio修改專案目錄結構

Android Studio修改專案目錄結構

首先我們來看一下gradle專案的結構是什麼樣子的:


這裡寫圖片描述

MyApplication:整個專案的根目錄

  • settings.gradle:配置哪些資料夾是module,在這個示例專案中app資料夾就是一個module

  • build.grade:專案整體配置,包括maven庫以及Android外掛版本

  • gradle/:配置gradle版本

  • gradlew&gradlew.bat:unix和windows上的gradle包裝命令,可以實現自動下載並使用gradle

  • gradle.properties:gradle配置檔案,預設是空的,編譯過程中可以從此檔案中讀取一些額外配置

  • local.properties:同gradle.properties一樣也是gradle配置檔案,預設只有本地sdk的路徑,但不同的是通常會將跟本地有關的配置會放到這個檔案中,比如本地一些依賴軟體的路徑以及敏感資訊,因此通常需要將此檔案在版本控制中忽略

  • app:app相關程式碼存放的目錄,在settings.gradle檔案中已經配置了此目錄是一個module

  • app/libs:依賴庫

  • app/src:原始碼,包括java原始碼清單檔案以及各種資源

  • app/build.gradle:gradle編譯指令碼檔案

在gradle中module就相當於eclipse中的project,這樣的好處就是gradle可以支援一個專案中有多個module,並可以同時編譯多個module,對於比較複雜的專案來說這可是個殺手鐗

接下來我們先在gradle專案的基礎上將app目錄改成eclispe結構

  1. 刪除androidTest目錄

  2. 將java目錄下的所有檔案移動到src目錄下

  3. 將res目錄移到app目錄下

  4. 將AndroidManifest.xml移到app目錄下

  5. 如果有assets目錄,將assets目錄移到app目錄下

  6. 如果有jni目錄將jni目錄移到app目錄下

  7. 如果有jniLibs目錄將jniLibs目錄下的內容移到libs目錄下

  8. app目錄下的build.gradle檔案中的android節點中通過sourceSets配置相關目錄,如下:


    這裡寫圖片描述

    至此大功告成,同步一下gradle便可直接運行了

sourceSets{
    main{
        manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
        res.srcDirs = ['res']
        aidl.srcDirs = ['src']
        assets.srcDirs = ['assets']
        jni.srcDirs = ['jni']
        jniLibs.srcDirs = ['libs']
        renderscript.srcDirs = ['src']
    }

然後當我們已經有了一個eclipse專案的時候該怎麼做呢?

  1. 首先通過Android Studio建立一個專案

  2. 將eclipse專案拷貝進來(跟app目錄同級)

  3. 在settings.gradle檔案中配置一下,讓其成為一個module

  4. 拷貝app目錄下的build.gradle檔案到到eclipse專案目錄下

  5. 根據eclipse專案目錄下的AndroidManifest.xml檔案中的packageName、minSdkVersion修改build.gradle中的applicatoinId和minSdkVersion

  6. 如上圖那樣在build.gradle中配置sourceSets

  7. 刪除app目錄並在settings.gradle檔案中中刪除相應配置

  8. 開啟Android Studio的設定頁面,在Version Control中點選左下角的加號選擇eclipse專案目錄啟用版本控制

  9. 在版本控制中配置忽略build.gradle檔案、build目錄、.idea目錄以及*.iml檔案

  10. 至此大功告成。