liut

liut.xyz

优雅地用 Android Studio 打开 eclipse 项目

Posted at — May 20, 2017

:本脚本近适用于单 project 项目,如果有其他 project 依赖,请自使用 eclipse 的导出 gradle 项目功能。

痛点

一些老旧的 Android 项目是 eclipse 的, 而且 eclipse 早就放弃了对 Android 的支持, 需要自行配置或使用旧版本。 如果使用 as 导入功能, 会破坏原有的目录结构, eclipse 有导出为 gradle 项目功能, 导出后还需要二次手动修改、更新等。

解决办法

在项目根目录新建 build.gradle 如下,而后用 Android studio 打开此文件即可 (注意,就是打开,不是导入)。

// 把此文件放在 eclipse 项目的跟目录,用 as 打开此文件即可。第一次可能会稍慢。
apply plugin: 'com.android.application'

android {
  	// 可按需修改
    compileSdkVersion 21
    buildToolsVersion "25.0.3"

	// 可按需修改或删除
    defaultConfig {
        versionCode 1
        versionName '88888'
    }

	// 设置 sourceSets 为 eclipse 结构
    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']
        }
        androidTest.setRoot('tests')
        instrumentTest.setRoot('tests')
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }

//	  // 禁用 lint 检查
//    lintOptions {
//        checkReleaseBuilds false
//        abortOnError false
//    }

//	// 设置 Java 版本,可按需修改或删除
//    compileOptions {
//        sourceCompatibility JavaVersion.VERSION_1_6
//        targetCompatibility JavaVersion.VERSION_1_6
//    }

}

// 构建脚本仓库和依赖
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
    }
}

// 仓库
repositories {
    jcenter()
}

// 依赖
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
comments powered by Disqus