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結構
刪除androidTest目錄
將java目錄下的所有檔案移動到src目錄下
將res目錄移到app目錄下
將AndroidManifest.xml移到app目錄下
如果有assets目錄,將assets目錄移到app目錄下
如果有jni目錄將jni目錄移到app目錄下
如果有jniLibs目錄將jniLibs目錄下的內容移到libs目錄下
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專案的時候該怎麼做呢?
首先通過Android Studio建立一個專案
將eclipse專案拷貝進來(跟app目錄同級)
在settings.gradle檔案中配置一下,讓其成為一個module
拷貝app目錄下的build.gradle檔案到到eclipse專案目錄下
根據eclipse專案目錄下的AndroidManifest.xml檔案中的packageName、minSdkVersion修改build.gradle中的applicatoinId和minSdkVersion
如上圖那樣在build.gradle中配置sourceSets
刪除app目錄並在settings.gradle檔案中中刪除相應配置
開啟Android Studio的設定頁面,在Version Control中點選左下角的加號選擇eclipse專案目錄啟用版本控制
在版本控制中配置忽略build.gradle檔案、build目錄、.idea目錄以及*.iml檔案
至此大功告成。