二种方式将Eclipse项目迁移至Gradle :
使用Androidstudio 导入向导,自动处理;
手动导入。
自动导入:
或者Android Studio 的开始窗口点击I“Import Non-Android Studio Projec”
如果迁移带有JAR或者依赖库源码的项目,那么导入会建议你把他们替换为Gradle的依赖包 。
自动导入并不适合复杂的项目复杂的项目我们还要手动的做一些操作;
二:手动导入:
1.保留旧的项目结构
手动导入则需要更改一下源集(source set)的配置
第一件事在项目的根目录下创建一个build.gradle 文件。最简单的形式如下所示:
apply plugin: 'com.android.application'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
}
然后你就可以修改源集了,通常按照Eclipse的目录结构来覆写main源集的示例如下:
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
在Eclipse 的文件结构中所有的源文件都放在同一个文件夹下,所以要告诉Gradle,所有的组件都应放在src文件下。你只需将项目中的组件包含即可,但是将它们都放进去也没什么不妥。
配置jar文件依赖
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
2转换到新的目录结构
创建一些文件夹并移动一些文件
旧的文件 | 新的位置 |
src/ | app/src/main/java/ |
res/ | app/src/main/res/ |
assets/ | app/src/main/assets/ |
AndroidManifest.xml | app/src/main/AndroidManifest.xml |
接下来就是在项目的setting.gradle 文件将项目包含进去
include ':app'
当这些都准备好了你需要两个build.gradle文件来进行一次成功的Gradle构建。第一个文件位于项目的根目录(setting.gradle 同级),用来定义项目级别的参数设置
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
第二个build.gradle 在app目录下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
}
这是最基本的配置
3.迁移依赖库
如果你有依赖库,他们也需要使用Gradle
如果你是将eclipse项目作为依赖项目引入Gradle项目且不需要配置资源文件时则不需要迁移项目
将apply plugin: 'com.android.application'改为apply plugin:'com.android.library'