1. 程式人生 > >如何優雅的把Eclipse專案匯入到Android Studio中

如何優雅的把Eclipse專案匯入到Android Studio中

方法一:把整個Eclipse工程當作AS的根Module(同時也是唯一的子Module)

  1. 原有的Eclipse工程專案檔案結構是這樣的。如果要遷移後的專案相容Eclipse,那隻能刪除gen資料夾。如果遷移後不再有在Eclipse中編輯的需求,可以繼續刪除.classpath,.project檔案。


  2. 用AS新建一個工程(用於提取配置檔案),複製以下檔案到專案根目錄。注意:build.gralde是新建AS專案的根Module的build.gradle,不是app子Module的build.gradle。

  3. 把settings.gradle的include ':app' 刪除。

  4. 把build.gradle在內容最後加上app子Module的build.gradle的所有內容,並在相應位置新增紅色字型部分內容,以使AS能夠識別Eclipse的專案目錄結構。最終的build.gradle內容如下(版本號可以根據AndroidManifest.xml的配置做相應的修改):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:2.0.0-alpha3'

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}

apply plugin: 'com.android.application'

android {

compileSdkVersion 17

buildToolsVersion "23.0.2"

defaultConfig {

applicationId "ernest.mddemo"

minSdkVersion 17

targetSdkVersion 17

versionCode 1

versionName "1.0"

}

sourceSets {

main {

manifest.srcFile 'AndroidManifest.xml'

java.srcDirs = ['src']

aidl.srcDirs = ['src']

renderscript.srcDirs = ['src']

res.srcDirs = ['res']

assets.srcDirs = ['assets']

jniLibs.srcDirs = ['libs']

}

instrumentTest.setRoot('tests')

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

}

5.開啟AS,選擇Open an existing Android Studio project,找到專案的setting.gradle,開啟。

方法二:把整個Eclipse工程當作子Module,但不在根目錄新增任何檔案

  1. 新建一個資料夾,如ASProjects,作為根Modeule。

  2. 複製方法一中第2步的那些檔案到ASProjects資料夾。

  3. 把settings.gradle檔案修改成如下內容

include ':Settings',':provider'

project(':Settings').projectDir = new File('E:/apps/Settings')

project(':provider').projectDir = new File('E:/android/provider')

其中第一行是Eclipse專案名稱,第二行project引數是第一行的名稱,File引數是專案的路徑。

4.修改build.gradle檔案,在最後加上如下內容。其中project (":Settings"){//這裡的內容是app子Module的build.gradle的內容,同樣加入了紅色字型部分以使AS能夠識別Eclipse的專案目錄結構}。如果有多個專案,需要加入project (":第二個專案名稱"){//第二個專案內容}

project (":Settings"){

apply plugin: 'com.android.application'

android {

compileSdkVersion 17

buildToolsVersion "23.0.2"

defaultConfig {

applicationId "com.konka.localserver"

minSdkVersion 17

targetSdkVersion 17

versionCode 1

versionName "1.0"

}

sourceSets {

main {

manifest.srcFile 'AndroidManifest.xml'

java.srcDirs = ['src']

aidl.srcDirs = ['src']

renderscript.srcDirs = ['src']

res.srcDirs = ['res']

assets.srcDirs = ['assets']

jniLibs.srcDirs = ['libs']

}

instrumentTest.setRoot('tests')

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

}

}



5. 開啟AS,選擇Open an existing Android Studio project,找到專案的setting.gradle,開啟。