Skip to content

Most visited

Recently visited

navigation

Android Studio로 마이그레이션

Project: /studio/_project.yaml Book: /studio/guide/_book.yaml Subcategory: guide

프로젝트를 Android Studio로 마이그레이션하려면 새 프로젝트 구조, 빌드 시스템 및 IDE 기능에 적응해야 합니다. Eclipse에서 Android 프로젝트를 마이그레이션할 경우 마이그레이션 프로세스를 단순화하기 위해 Android Studio는 가져오기 도구를 제공하므로, 기존 코드를 Android Studio 프로젝트 및 Gradle 기반 빌드 파일로 신속하게 이동할 수 있습니다. 자세한 내용은 Eclipse에서 마이그레이션을 참조하세요.

IntelliJ에서 마이그레이션하고 프로젝트에서 이미 Gradle을 사용 중이라면 Android Studio에서 기존 프로젝트를 열기만 하면 됩니다. IntelliJ를 사용하고 있지만 프로젝트에서 Gradle를 사용하지 않는다면 프로젝트를Android Studio에 가져오기 전에 수동으로 다소의 준비가 필요합니다. 자세한 내용은 IntelliJ에서 마이그레이션을 참조하세요.

Android Studio 기본 정보

다음은 Android Studio로의 마이그레이션을 준비하기 위해 알아야 하는 몇 가지 주요 차이점입니다.

프로젝트 및 모듈 구성

Android Studio는 IntelliJ IDEA IDE를 기반으로 합니다. 탐색, 코드 작성 및 단축키와 같은 IDE 기본 정보에 대해 알아보려면, Android Studio 만나보기를 참조하세요.

Android Studio는 작업 공간을 사용하지 않으므로, 별도의 프로젝트는 별도의 Android Studio 창에서 열립니다. Android Studio는 코드를 프로젝트에 구성하며, 프로젝트에는 앱 소스 코드, 빌드 구성 및 테스트 코드 등 Android 앱을 정의하는 모든 항목이 포함됩니다. 각 프로젝트에는 하나 이상의 모듈이 포함되며, 프로젝트를 분산된 기능 단위로 나눌 수 있습니다. 모듈은 독립적으로 빌드, 테스트 및 디버그할 수 있습니다.

Android Studio 프로젝트 및 모듈에 대한 자세한 내용은, 프로젝트 개요를 참조하세요.

Gradle 기반 빌드 시스템

Android Studio의 빌드 시스템은 Gradle을 기반으로 하며, Groovy 구문으로 작성된 빌드 구성 파일을 사용하므로 확장과 사용자 지정이 쉽습니다.

Gradle 기반 프로젝트는 다음을 포함하여 Android 개발에 중요한 기능을 제공합니다.

Gradle 사용 및 구성에 대한 자세한 내용은, 빌드 구성을 참조하세요.

종속성

Android Studio의 라이브러리 종속성은 Maven 좌표가 있는 잘 알려진 로컬 소스 라이브러리 및 바이너리 라이브러리에 대해 Gradle 종속성 선언과 Maven 종속성을 사용합니다. 자세한 내용은 빌드 변형 구성을 참조하세요.

테스트 코드

Eclipse ADT에서, 기기 테스트는 별도의 프로젝트로 작성되며 매니페스트 파일에 있는 <instrumentation> 요소를 통해 통합됩니다. Android Studio는 프로젝트의 기본 소스 세트에서 androidTest/ 디렉토리를 제공하므로, 동일한 프로젝트 뷰 내에서 기기 테스트 코드를 쉽게 추가하고 유지관리할 수 있습니다. Android Studio는 또한 로컬 JVM 테스트를 위해 test/ 디렉토리를 프로젝트의 기본 소스 세트에서 제공합니다.

Eclipse에서 마이그레이션

Android Studio는 Eclipse를 사용하여 만든 기존 Android 프로젝트에 자동화된 가져오기 도구를 제공합니다.

마이그레이션 사전 요구사항

앱을 Eclipse에서 Android Studio로 마이그레이션하기 전에, 다음 단계를 진행하여 프로젝트 전환 준비가 되었는지 확인하고 Android Studio에 필요한 도구 구성이 있는지 검사합니다.

Eclipse ADT에서:

Android Studio에서:

Eclipse 프로젝트를 Android Studio로 가져오기

기존 Eclipse ADT 프로젝트를 가져오는 방법을 그 구조에 따라 결정해야 합니다.

프로젝트로 가져오기:

  1. Android Studio를 시작하고 열려 있는 Android Studio 프로젝트를 닫습니다.
  2. Android Studio 메뉴에서 File > New > Import Project를 클릭합니다.
    • 또는, Welcome 화면에서 Import Project (Eclipse ADT, Gradle, etc.)를 클릭합니다.
  3. AndroidManifest.xml 파일이 있는 Eclipse ADT 프로젝트 폴더를 선택하고 Ok를 클릭합니다.

  4. 대상 폴더를 선택하고 Next를 클릭합니다.

  5. 가져오기 옵션을 선택하고 Finish를 클릭합니다.
  6. 가져오기 프로세스가 라이브러리 및 프로젝트 종속성을 Android Studio로 마이그레이션하고, 종속성 선언을 build.gradle 파일에 추가하라는 메시지를 표시합니다. 이 프로세스에 대한 자세한 내용은 Android 라이브러리 만들기를 참조하세요.

    가져오기 프로세스는 또한 알려진 Maven 좌표가 있는 잘 알려진 소스 라이브러리, 바이너리 라이브러리 및 JAR 파일을 Maven 종속성으로 대체하므로, 이러한 종속성을 수동으로 유지관리할 필요가 없습니다. 또한 가져오기 프로세스를 통해 알 수 없는 상대 경로, 경로 변수 및 링크된 리소스 참조를 처리하기 위해 작업 공간 디렉토리와 실제 경로 맵을 입력할 수 있습니다.

  7. Android Studio가 앱을 가져오고 프로젝트 가져오기 요약을 표시합니다. 프로젝트 구조 변경 및 가져오기 프로세스에 대한 자세한 내용은 요약을 참조하세요.

Eclipse ADT에서 Android Studio로 프로젝트를 가져온 후, Android Studio의 각 앱 모듈 폴더에는 해당 모듈의 전체 소스 세트가 포함되며, 여기에는 src/main/src/androidTest/ 디렉토리, 리소스, 빌드 파일 및 Android 매니페스트가 포함됩니다. 앱 개발을 시작하기 전에, 프로젝트 가져오기 요약에 나타난 문제들을 해결해야 하며 프로젝트 재구축 및 가져오기 프로세스가 올바로 완료되었는지 확인해야 합니다.

모듈로 가져오기:

  1. Android Studio를 시작하고 모듈을 추가하려는 프로젝트를 엽니다.
  2. Android Studio 메뉴에서 File > New > Import Module을 클릭합니다.
  3. AndroidManifest.xml 파일이 있는 Eclipse ADT 프로젝트 폴더를 선택하고 Ok를 클릭합니다.
  4. 원하는 경우 모듈 이름을 수정하고 Next를 클릭합니다.
  5. 가져오기 프로세스가 라이브러리 및 프로젝트 종속성을 Android Studio로 마이그레이션하고, 종속성 선언을 build.gradle 파일에 추가하라는 메시지를 표시합니다. 라이브러리 및 프로젝트 종속성 마이그레이션에 대한 자세한 내용은, Android 라이브러리 만들기를 참조하세요. 가져오기 프로세스는 또한 알려진 Maven 좌표가 있는 잘 알려진 소스 라이브러리, 바이너리 라이브러리 및 JAR 파일을 Maven 종속성으로 대체하므로, 이러한 종속성을 수동으로 유지관리할 필요가 없습니다. 또한 가져오기 프로세스를 통해 알 수 없는 상대 경로, 경로 변수 및 링크된 리소스 참조를 처리하기 위해 작업 공간 디렉토리와 실제 경로 맵을 입력할 수 있습니다.
  6. Finish를 클릭합니다.

가져온 프로젝트의 유효성 검사

가져오기 프로세스를 완료한 후, Android Studio의 Build 및 Run 메뉴 옵션을 사용하여 프로젝트를 빌드하고 결과를 확인합니다. 프로젝트가 올바로 빌드되지 않으면, 다음 설정을 확인합니다.

이러한 설정을 확인한 후에도 Android Studio에서 프로젝트를 빌드하고 실행할 때 여전히 예상치 못한 문제가 발생하는 경우, Eclipse ADT 프로젝트를 수정하고 가져오기 프로세스를 다시 시작해 보세요.

참고: Eclipse ADT 프로젝트를 Android Studio로 가져오면 새 Android Studio 프로젝트가 생성되고 기존 Eclipse ADT 프로젝트에는 영향을 미치지 않습니다.

IntelliJ에서 마이그레이션

IntelliJ 프로젝트가 Gradle 빌드 시스템을 사용할 경우 Android Studio에 프로젝트를 직접 자동으로 가져올 수 있습니다. IntelliJ 프로젝트가 Maven이나 다른 빌드 시스템을 사용할 경우 Android Studio로 마이그레이션하기 전에 Gradle과 호환되도록 설정해야 합니다.

Gradle 기반 IntelliJ 프로젝트 가져오기

IntelliJ 프로젝트에서 Gradle을 사용하고 있다면 다음 절차에 따라 Android Studio에서 열 수 있습니다.

  1. File > New > Import Project를 클릭합니다.
  2. IntelliJ 프로젝트 디렉토리를 선택하고 OK를 클릭합니다. 프로젝트가 Android Studio에서 열립니다.

Gradle 기반이 아닌 IntelliJ 프로젝트 가져오기

IntelliJ 프로젝트가 Gradle 빌드 시스템을 사용하지 않는다면 프로젝트를 Android Studio로 가져오는 옵션은 두 가지가 있습니다.

새로운 빈 프로젝트를 생성하여 마이그레이션

새로운 빈 프로젝트를 생성하여 새 디렉토리로 소스 파일을 복사하는 방법으로 프로젝트를 마이그레이션하려면 다음 절차를 따릅니다.

  1. Android Studio를 열고 File > New > New Project를 클릭합니다.
  2. 앱 프로젝트의 이름을 입력하고 생성할 위치를 지정한 다음, Next를 클릭합니다.
  3. 앱을 실행할 폼팩터를 선택하고 Next를 클릭합니다.
  4. Add No Activity를 클릭한 다음, Finish를 클릭합니다.
  5. Project 도구 창에서 화살표를 클릭하여 뷰 드롭다운을 열고 Project 뷰를 선택하여 새로운 Android Studio 프로젝트의 체계를 확인하고 탐색합니다. 뷰 변경과 Android Studio 프로젝트 구조에 대한 자세한 내용은 프로젝트 파일을 참조하세요.
  6. 새 프로젝트에 대해 선택한 위치로 이동하고 코드, 유닛 테스트, 계측 테스트, 리소스를 이전 프로젝트 디렉토리에서 새 프로젝트 구조의 적절한 위치로 이동시킵니다.
  7. Android Studio 스튜디오에서 File > Project Structure를 클릭하여 Project Structure 대화상자를 엽니다. 왼쪽 창에서 앱 모듈이 선택되었는지 확인합니다.
  8. Properties 탭에서 프로젝트에 필요한 변경 사항을 수정합니다(예: minSdkVersion 또는 targetSdkVersion 수정).
  9. Dependencies를 클릭하고 Gradle 종속성에 따라 프로젝트에 라이브러리를 추가합니다. 새로운 종속성을 추가하려면 Add 를 클릭하고 추가할 종속성 유형을 선택한 다음, 화면 안내를 따릅니다.
  10. OK를 클릭하여 변경 사항을 저장합니다.
  11. Build > Make Project를 클릭하여 프로젝트 빌드를 테스트하고 아직 해결되지 않은 오류가 있으면 해결합니다.

사용자설정 Gradle 빌드 파일을 생성하여 마이그레이션

기존 소스 파일을 가리키도록 새로운 Gradle 빌드 파일을 생성하여 프로젝트를 Android Studio에 마이그레이션하려면 다음 절차를 따릅니다.

  1. 마이그레이션 과정에서 기존 프로젝트의 콘텐츠가 변경되므로 절차를 시작하기 전에 프로젝트 파일을 다른 위치에 백업하세요.
  2. 그 다음에는 프로젝트 디렉토리에 build.gradle 파일을 생성합니다. build.gradle 파일에는 Gradle이 빌드를 실행하는 데 필요한 모든 정보가 들어 있습니다.

    기본적으로 Android Studio는 프로젝트가 그림 1과 같이 구성되어 있을 것으로 예상합니다.

    그림 1. Android 앱 모듈의 기본 프로젝트 구조.

    IntelliJ 프로젝트는 같은 구조를 사용하지 않기 때문에 build.gradle 파일은 소스 디렉토리가 새로운 기본 디렉토리 구조 대신 기존 폴더 빌드를 가리켜야 합니다(예: res/src/). 다음 예시의 build.gradle 파일은 이름 지정 충돌을 피할 수 있도록 올바른 소스 디렉토리를 정의하고 테스트와 빌드 유형을 옮기기 위한 Gradle 빌드의 기본 설정과 android{} 블록 내부의 sourceSets{} 블록을 포함합니다. 아래의 코드 블록을 build.gradle 파일로 복사하고 기존 프로젝트 설정과 호환되도록 필요한 내용을 변경합니다. 예를 들어 추가 종속성을 포함하거나 다른 SDK 버전을 사용하거나 소스 디렉토리에 다른 위치를 지정해야 할 수 있습니다.
    // This buildscript{} block configures the code driving the build
    buildscript {
       /**
        * The nested repositories{} block declares that this build uses the
        * jcenter repository.
        */
        repositories {
            jcenter()
        }
    
       /**
        * This block declares a dependency on the 2.3.2 version
        * of the Gradle plugin for the buildscript.
        */
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.2'
        }
    }
    
    /**
     * This line applies the com.android.application plugin. Note that you should
     * only apply the com.android.application plugin. Applying the Java plugin as
     * well will result in a build error.
     */
    apply plugin: 'com.android.application'
    
    /**
     * This dependencies block includes any dependencies for the project itself. The
     * following line includes all the JAR files in the libs directory.
     */
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        // Add other library dependencies here (see the next step)
    }
    
    /**
     * The android{} block configures all of the parameters for the Android build.
     * You must provide values for at least the build tools version and the
     * compilation target.
     */
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.3"
    
        /**
        * This nested sourceSets block points the source code directories to the
        * existing folders in the project, instead of using the default new
        * organization.
        */
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                aidl.srcDirs = ['src']
                renderscript.srcDirs = ['src']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
    
            // Move the tests to tests/java, tests/res, etc...
            instrumentTest.setRoot('tests')
    
           /**
            * Move the build types to build-types/<type>
            * For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
            * This moves them out of them default location under src/<type>/... 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')
         }
    }
    
    Gradle 빌드 파일 설정 및 사용자 지정에 대한 자세한 내용은 빌드 구성을 참조하세요.
  3. 그 다음에는 자신이 어떤 라이브러리 프로젝트를 사용하고 있는지 확인합니다. Gradle을 사용하면 이러한 라이브러리를 소스 코드 프로젝트로 추가하지 않고 빌드 파일의 dependencies{} 블록에서 참조할 수 있습니다. 그러면 빌드 시스템이 라이브러리 다운로드, 리소스에서 병합, 매니페스트 항목 병합 등을 포함하여 이러한 라이브러리를 대신 처리해줍니다. 다음 예시에서는 위의 예시 빌드 파일과 같이 Google Play 서비스의 선언문과 다수의 지원 라이브러리를 dependencies{} 블록에 추가합니다.
    ...
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
    
        // Google Play Services
        compile 'com.google.android.gms:play-services:9.8.0'
    
        // Support Libraries
        compile 'com.android.support:appcompat-v7:25.3.1'
        compile 'com.android.support:cardview-v7:25.3.1'
        compile 'com.android.support:design:25.3.1'
        compile 'com.android.support:gridlayout-v7:25.3.1'
        compile 'com.android.support:leanback-v17:25.3.1'
        compile 'com.android.support:mediarouter-v7:25.3.1'
        compile 'com.android.support:palette-v7:25.3.1'
        compile 'com.android.support:recyclerview-v7:25.3.1'
        compile 'com.android.support:support-annotations:25.3.1'
        compile 'com.android.support:support-v13:25.3.1'
        compile 'com.android.support:support-v4:25.3.1'
    
        // Note: these libraries require the "Google Repository" and "Android Repository"
        //       to be installed via the SDK manager.
    }
    
    라이브러리에 알맞은 선언문을 확인하는 데 도움이 필요할 경우 Gradle, please를 통해 Maven Central에 기반한 올바른 선언문을 제공받을 수 있습니다.
  4. IntelliJ에서 build.gradle 파일을 저장하고 프로젝트를 닫습니다. 프로젝트 디렉토리로 이동하여 프로젝트 내부에서 .idea 디렉토리와 내부의 .iml 파일을 모두 삭제합니다.
  5. Android Studio를 열고 File > New > Import Project를 클릭합니다.
  6. 프로젝트 디렉토리를 찾고 위에서 생성한 build.gradle 파일을 클릭하여 선택한 다음, OK를 클릭하고 프로젝트를 가져옵니다.
  7. Build > Make Project를 클릭하고 프로젝트를 빌드하여 빌드 파일을 테스트하고 찾아낸 오류를 해결합니다.

다음 단계

프로젝트를 Android Studio에 마이그레이션했다면 앱 빌드 및 실행에서 Gradle로 번들하고 Android Studio에서 앱을 실행하는 방법을 알아보세요.

프로젝트와 워크플로에 따라 버전 제어 사용, 종속성 관리, 앱 서명 및 패키징 또는 Android Studio 구성 및 업데이트에 대해 더 자세히 알아보고 싶을 수도 있습니다. Android Studio 사용을 시작하려면, Android Studio 만나보기를 읽어보세요.

버전 제어 구성

Android Studio에서는 다양한 버전 제어 시스템을 지원하며 여기에는 Git, GitHub, CVS, Mercurial, Subversion 및 Google Cloud Source Repositories가 포함됩니다.

앱을 Android Studio로 가져온 후에, Android Studio의 VCS 메뉴 옵션을 사용하여 원하는 버전 제어 시스템에 대해 VCS 지원을 활성화하고, 리포지토리를 만들고, 새 파일을 버전 제어로 가져오고, 기타 버전 제어 작업을 수행합니다.

  1. Android Studio의 VCS 메뉴에서 Enable Version Control Integration을 클릭합니다.
  2. 드롭다운 메뉴에서 프로젝트 루트에 연결할 버전 제어 시스템을 선택한 다음, OK를 클릭합니다. 이제 선택한 시스템에 따라 VCS 메뉴에 여러 가지 버전 제어 옵션이 표시됩니다.

참고: File > Settings > Version Control 메뉴 옵션을 사용하여 버전 제어 설정을 구성하고 수정할 수도 있습니다.

버전 제어 사용에 대한 자세한 내용은 IntelliJ Version Control Reference를 참조하세요.

Android 지원 저장소 및 Google Play 서비스 저장소

Eclipse ADT는 Android 지원 라이브러리 및 Google Play 서비스 라이브러리를 사용하는 반면, Android Studio는 호환되는 기능을 유지관리하고 새로운 Android 기능을 지원하기 위해 가져오기 프로세스 중에 이들 라이브러리를 Android 지원 저장소 및 Google 저장소로 대체합니다. Android Studio는 이러한 종속성을 알려진 Maven 좌표를 사용하는 Maven 종속성으로 추가하므로, 이 종속성을 수동으로 업데이트할 필요가 없습니다.

Eclipse에서 지원 라이브러리를 사용하려면, 사용하려는 각 지원 라이브러리에 대해 개발 환경 내에서 프로젝트의 클래스 경로 종속성을 수정해야 합니다. Android Studio에서는 라이브러리 소스를 자신의 프로젝트에 복사할 필요가 없으며, 종속성을 선언하기만 하면 라이브러리가 자동으로 다운로드되어 프로젝트에 병합됩니다. 여기에는 빌드 시에 리소스, 매니페스트 항목, ProGuard 제외 규칙 및 사용자설정 lint 규칙의 자동 병합이 포함됩니다. 종속성에 대한 자세한 내용은, 빌드 변형 구성을 참조하세요.

앱 서명

Eclipse ADT에서 앱이 디버그 인증서를 사용한 경우, Android Studio는 해당 인증서를 계속해서 참조합니다. 그렇지 않은 경우, 디버그 구성이 Android Studio에서 생성된 디버그 키스토어를 사용하며, 알려진 암호와 $HOME/.android/debug.keystore에 있는 알려진 암호의 기본 키로 구성됩니다. Android Studio에서 프로젝트를 실행하거나 디버깅할 때 이 디버그 구성을 자동으로 사용하도록 디버그 빌드 유형이 설정됩니다.

릴리스를 위해 앱을 빌드할 때 Android Studio는 Eclipse ADT에 사용되는 릴리스 인증서를 적용합니다. 가져오기 프로세스 중에 릴리스 인증서를 찾지 못한 경우, 릴리스 서명 구성을 build.gradle 파일에 추가하거나 Build > Generate Signed APK 메뉴 옵션을 사용하여 Generate Signed APK Wizard를 엽니다. 앱 서명에 대한 자세한 내용은, 애플리케이션 서명을 참조하세요.

Android Studio의 최대 힙 크기 조정

기본적으로 Android Studio의 최대 힙 크기는 1280MB입니다. 큰 프로젝트에서 작업 중이거나 시스템에 RAM 용량이 많은 경우에는, Android Studio의 VM 옵션에서 최대 힙 크기를 늘려 성능을 개선할 수 있습니다.

Android Studio 설정 구성에 대한 자세한 내용은, Android Studio 구성Android Studio 구성을 참조하세요.

Instant Run에 맞춰 프로젝트 최적화

Android Studio 2.0에서 처음 도입된 Instant Run은 Run 및 Debug 명령의 동작으로, 앱의 업데이트 간 시간을 대폭 줄여줍니다. 첫 빌드를 완료하는 데 오랜 시간이 걸릴 수도 있지만, Instant Run은 새 APK를 빌드하지 않고 후속 업데이트를 앱에 푸시하므로, 변경사항을 훨씬 빨리 확인할 수 있습니다. 몇 가지 Android Studio 설정을 바꾸는 것으로 Instant Run의 빌드 프로세스를 개선할 수 있습니다.

Instant Run 성능에 맞춰 프로젝트를 구성하는 방법에 대한 자세한 내용은 Instant Run에 맞춰 프로젝트 구성 및 최적화를 참조하세요.

소프트웨어 업데이트

Android Studio는 Gradle 플러그인, 빌드 도구 및 SDK 도구를 별도로 업데이트합니다. Android Studio와 함께 사용할 버전을 지정할 수 있습니다.

기본적으로 Android Studio는 안정적인 새 버전이 릴리스될 때마다 자동 업데이트를 제공하지만, 업데이트를 더 자주 수행하거나 프리뷰나 베타 버전을 받도록 선택할 수도 있습니다.

Android Studio 업데이트와 프리뷰 및 베타 버전 사용에 대한 자세한 내용은, 최신 버전으로 업데이트를 참조하세요.

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.