关于eclipse开发Android项目移植到Android Studio或者IDEA中gradle项目的坑

迁移步骤

1、  eclipse导出gradle项目。

File->Export->Generate Gradle build files然后一直下一步,选择你要导出的项目(不用管依赖项目,会自动导出的),如图:

 

关于eclipse开发Android项目移植到Android Studio或者IDEA中gradle项目的坑_第1张图片

2、  AS或者IDEA导入gradle项目 ,注意:

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
}

版本,决定

buildToolsVersion的版本,需要依赖libs下jar包的情况下,使用如下:
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

如果本项目是可以执行的apk项目,那么注意build里面写上:

apply plugin: 'com.android.application'

如果是作为第三方库使用的话添加如下一句:

apply plugin: 'com.android.library'

我涉及到的一个library完整的从eclipse导出 的build.gradle文件如下:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}
apply plugin: 'com.android.library'
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

android {
    compileSdkVersion 18
    buildToolsVersion "26.0.2"

    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']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src//... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}
3、导入完成后,根据gradle版本,build project即可,在bulid对应的目录下:
 

关于eclipse开发Android项目移植到Android Studio或者IDEA中gradle项目的坑_第2张图片

生成可以被外界依赖的aar文件,注意

jniLibs.srcDirs = ['libs']也很关键,打包so文件时用的到,如果你的library项目里面的AndroidManifest.xml中有main入口

    

    

                    

你可能感兴趣的:(Android开发,gradle,eclipse)