AndroidStudio 를 활용하여, Eclipse 프로젝트 빌드 하기

AndroidStudio 프로젝트 생성 시나리오

  1. AndroidStudio 를 이용하여, 빈 프로젝트 생성

  2. build.gradle 의 sourceSets 옵션 이용

  3. dependencies 옵션에 jar 파일 추가

  4. AndroidStudio 빌드

AndroidStudio 프로젝트 생성

AndroidStudio 를 활용하여, 빈 프로젝트를 생성한다.

build.gradle 수정 [Project]

  1. ROOT_PATH 선언 : AndroidStudio 프로젝트에서, 참조해야할 Eclipse 프로젝트의 Root Path를 선언

  2. 참조할 라이브러리 dir path 선언
    flatDir {

    dirs ROOT_PATH + ‘libs’

    }

Warning

라이브러리는 관리 체계를 일원화 하기 위해, morpheus 프로젝트의 libs 폴더사용을 권고함

Example:

build.gradle 에 대한, 샘플 코드입니다.

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

buildscript {

    repositories {
        google()

        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    def ROOT_PATH = '/Volumes/MacintoshSUB/SUB_HDD/androidstudio/S2B_PUSH/'

    repositories {
        google()

        jcenter()

        // AAR  파일은 ROOT_PATH + libs 폴더 하위에 위치 시킨다.
        flatDir {
            dirs ROOT_PATH + 'libs'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle 수정 [Module]

  1. ROOT_PATH 선언 : AndroidStudio 프로젝트에서, 참조해야할 Eclipse 프로젝트의 Root Path를 선언

  2. sourceSets 에 참조할 폴더를 선언

  3. defendencies 에 컴파일 할 jar 를 선언

Warning

라이브러리는 관리 체계를 일원화 하기 위해, morpheus 프로젝트의 libs 폴더사용을 권고함.

Example:

build.gradle 에 대한, 샘플 코드입니다.

        // Eclipse 프로젝트의 Root Path 선언
        def ROOT_PATH = "/Volumes/MacintoshSUB/SUB_HDD/androidstudio/S2B_PUSH/"


        android {
            compileSdkVersion 26
buildToolsVersion '27.0.3'

            //Eclipse 프로젝트의 AndroidManifest.xml 을 참조 할 경우, daultConfig 설정은 제외 시켜도 됨
            //만약 defaultConfig 를 선언하면 우선순위는 defaultConfig
            defaultConfig {
                applicationId "com.mcore.educaion"
                minSdkVersion 15
                targetSdkVersion 23
                versionCode 1
                versionName "1.0"
                testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            }



            // Eclipse 프로젝트의 정보를, 아래 sourceSets 에 링크 처리 하기 위함

            sourceSets {
                main {
                    manifest.srcFile  ROOT_PATH + 'AndroidManifest.xml'
                    java.srcDirs = [ROOT_PATH +'src']
                    resources.srcDirs = [ROOT_PATH +'libs', ROOT_PATH +'src']
                    aidl.srcDirs = [ROOT_PATH +'src']
                    renderscript.srcDirs = [ROOT_PATH +'src']
                    res.srcDirs = [ROOT_PATH +'res']
                    assets.srcDirs = [ROOT_PATH +'assets']

                    jniLibs {
                        srcDir  ROOT_PATH +'libs'
                    }
                }
            }



            buildTypes {
                release {
                    minifyEnabled true
                    proguardFiles 'proguard.cfg'
                }
            }
        }


    //하나의 프로젝트로 관리하기 위해, 모든 라이브러리는 Eclipse 프로젝트에 넣어서 사용 하는 것을 권장
        dependencies {

            //Eclipse 프로젝트의 jar 라이브러리를 사용하기 위해 선언
            implementation fileTree(dir: ROOT_PATH + 'libs', include: ['*.jar'], exclude: ['android-support-v4.jar'])

            //빌드 하고자 하는 라이브러리 추가하여 적용
            implementation 'com.android.support:appcompat-v7:26.1.0'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
            implementation 'com.android.support.constraint:constraint-layout:1.0.2'
        }