如何优雅的把Eclipse项目导入到Android Studio中
2015-12-28 09:26
609 查看
方法一:把整个Eclipse工程当作AS的根Module(同时也是唯一的子Module)
原有的Eclipse工程项目文件结构是这样的。如果要迁移后的项目兼容Eclipse,那只能删除gen文件夹。如果迁移后不再有在Eclipse中编辑的需求,可以继续删除.classpath,.project文件。
用AS新建一个工程(用于提取配置文件),复制以下文件到项目根目录。注意:build.gralde是新建AS项目的根Module的build.gradle,不是app子Module的build.gradle。
把settings.gradle的include ':app' 删除。
把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,但不在根目录添加任何文件
新建一个文件夹,如ASProjects,作为根Modeule。
复制方法一中第2步的那些文件到ASProjects文件夹。
把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,打开。
原有的Eclipse工程项目文件结构是这样的。如果要迁移后的项目兼容Eclipse,那只能删除gen文件夹。如果迁移后不再有在Eclipse中编辑的需求,可以继续删除.classpath,.project文件。
用AS新建一个工程(用于提取配置文件),复制以下文件到项目根目录。注意:build.gralde是新建AS项目的根Module的build.gradle,不是app子Module的build.gradle。
把settings.gradle的include ':app' 删除。
把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,但不在根目录添加任何文件
新建一个文件夹,如ASProjects,作为根Modeule。
复制方法一中第2步的那些文件到ASProjects文件夹。
把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,打开。
相关文章推荐
- Java深入(高新技术)(六):泛型
- springmvc+spring+mybatis集成问题汇总
- Java深入(高新技术)(五):注解
- Java 泛型理解
- 35 个 Java 代码性能优化总结
- 25个Java机器学习工具和库
- [设计模式]1.Observer观测者模式-按钮事件模拟
- java中的try catch的Exception起到什么作用以及用法
- jdk1.6 反射性能对比
- java多线程并发编程与CPU时钟分配小议
- Java基础学习总结(10)——static关键字
- Java基础学习总结(10)——static关键字
- Java基础学习总结(10)——static关键字
- Java基础学习总结(9)——this关键字
- Java基础学习总结(9)——this关键字
- Java基础学习总结(9)——this关键字
- Java深入(高新技术)(四):反射、Class、Constructor、Method、Field、数组的反射、JavaBean
- Java基础学习总结(8)——super关键字
- Java基础学习总结(8)——super关键字
- Java基础学习总结(8)——super关键字