Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Android 스튜디오 구성

Android 스튜디오에서는 자바 개발 키트(JDK), 사용 가능한 RAM과 같은 시스템 요구사항을 확인할 수 있는 마법사와 템플릿을 제공하며 최적화된 기본 Android Virtual Device(AVD) 에뮬레이션 및 업데이트된 시스템 이미지와 같은 기본 설정을 구성할 수 있습니다. 이 문서에서는 Android 스튜디오 사용을 맞춤설정하는 데 사용할 수 있는 추가 구성 설정에 관해 설명합니다.

Android 스튜디오에서는 Help 메뉴를 통해 구성 파일 두 개에 액세스할 수 있습니다.

  • studio.vmoptions: 힙 크기 및 캐시 크기와 같은 스튜디오의 자바 가상 머신(JVM) 옵션을 맞춤설정합니다. Linux 머신에서 이 파일은 Android 스튜디오의 버전에 따라 이름이 studio64.vmoptions일 수 있습니다.
  • idea.properties: 플러그인 폴더 경로 또는 지원되는 최대 파일 크기와 같은 Android 스튜디오 속성을 맞춤설정합니다.

에뮬레이터와 기기의 설정 및 사용에 관한 구체적인 문서는 다음 주제를 참고하세요.

구성 파일 찾기

두 구성 파일 모두 Android 스튜디오의 구성 폴더에 저장됩니다. 폴더 이름은 스튜디오 버전에 따라 달라집니다. 예를 들어 Android 스튜디오 3.3은 폴더 이름이 AndroidStudio3.3입니다. 이 폴더의 위치는 다음과 같이 운영체제에 따라 달라집니다.

  • Windows: %USERPROFILE%\.CONFIGURATION_FOLDER
  • macOS: ~/Library/Preferences/CONFIGURATION_FOLDER
  • Linux: ~/.CONFIGURATION_FOLDER

또한 다음 환경 변수를 사용하여 다른 곳의 특정 재정의 파일을 가리킬 수 있습니다.

  • STUDIO_VM_OPTIONS: .vmoptions 파일의 이름 및 위치를 설정합니다.
  • STUDIO_PROPERTIES: .properties 파일의 이름 및 위치를 설정합니다.
  • STUDIO_JDK: 스튜디오를 실행할 JDK를 설정합니다.

VM 옵션 맞춤설정

studio.vmoptions 파일로 Android 스튜디오의 JVM 옵션을 맞춤설정할 수 있습니다. 스튜디오의 성능을 개선하기 위해 가장 일반적으로 수정하는 옵션은 최대 힙 크기이지만 studio.vmoptions 파일을 사용하여 다른 기본 설정(예: 초기 힙 크기, 캐시 크기 및 자바 가비지 컬렉션 스위치)을 재정의할 수도 있습니다.

새로운 studio.vmoptions 파일을 만들거나 기존 파일을 열려면 다음 단계를 따르세요.

  1. Help > Edit Custom VM Options를 클릭합니다. Android 스튜디오의 VM 옵션을 한 번도 수정한 적이 없다면 IDE에서 새로운 studio.vmoptions 파일을 만들라는 메시지를 표시합니다. Yes를 클릭하여 파일을 만듭니다.
  2. studio.vmoptions 파일이 Android 스튜디오의 편집기 창에서 열립니다. 파일을 수정하여 맞춤설정한 자체 VM 옵션을 추가합니다. 맞춤설정이 가능한 JVM 옵션의 전체 목록은 Oracle의 자바 핫스팟 VM 옵션 페이지를 참고하세요.

만든 studio.vmoptions 파일은 Android 스튜디오 설치 폴더의 bin/ 디렉터리에 있는 기본 studio.vmoptions 파일에 추가됩니다.

Android 스튜디오 프로그램 폴더에 있는 studio.vmoptions 파일을 직접 수정해서는 안 됩니다. 파일에 액세스하여 스튜디오의 기본 VM 옵션을 확인할 수 있지만 자체 studio.vmoptions 파일만 수정하면 Android 스튜디오의 중요한 기본 설정을 재정의하지 못합니다. 따라서 studio.vmoptions 파일에서 중요한 속성만 재정의하고 Android 스튜디오가 변경하지 않은 모든 속성에 기본값을 계속 사용하도록 허용하세요.

최대 힙 크기

기본적으로 Android 스튜디오의 최대 힙 크기는 1,280MB입니다. 큰 프로젝트에서 작업 중이거나 시스템에 RAM 용량이 많은 경우에는 코어 IDE, Gradle 데몬, Kotlin 데몬과 같은 Android 스튜디오 프로세서의 최대 힙 크기를 늘려 성능을 개선할 수 있습니다.

Android 스튜디오에서 가능한 힙 크기 최적화를 자동으로 확인하여 성능이 향상될 수 있음을 감지하면 개발자에게 알립니다.

Android 스튜디오 프로세스의 최대 RAM 크기를 구성할 수 있는 메모리 설정

그림 1. 권장 메모리 설정 관련 알림

RAM이 5GB 이상인 64비트 시스템을 사용하는 경우 수동으로 프로젝트의 힙 크기를 조정할 수도 있습니다. 방법은 다음과 같습니다.

  1. 메뉴 바에서 File > Settings(또는 macOS의 경우 Android 스튜디오 > Preferences)를 클릭합니다.
  2. Appearance & Behavior > System Settings > Memory Settings를 클릭합니다.

    Android 스튜디오 프로세스의 최대 RAM 크기를 구성할 수 있는 메모리 설정

  3. 원하는 용량에 맞게 힙 크기를 조정합니다.

  4. Apply를 클릭합니다.

    IDE의 힙 크기를 변경한 경우 Android 스튜디오를 다시 시작해야 새 메모리 설정이 적용됩니다.

IDE 설정 내보내기 및 가져오기

프로젝트에서 선호하는 IDE 설정의 전부 또는 일부가 포함된 Settings.jar 파일을 내보낼 수 있습니다. 그러고 나서 JAR 파일을 다른 프로젝트로 가져오거나 동료가 자기 프로젝트로 가져올 수 있도록 JAR 파일을 제공할 수 있습니다.

자세한 내용은 IntelliJ IDEA의 내보내기 및 가져오기 설정을 참고하세요.

IDE 속성 맞춤설정

idea.properties 파일로 사용자가 설치한 플러그인 경로, IDE에서 지원하는 최대 파일 크기와 같은 Android 스튜디오의 IDE 속성을 맞춤설정할 수 있습니다. idea.properties 파일은 IDE의 기본 속성과 병합되므로 재정의 속성만 지정하면 됩니다.

새로운 idea.properties 파일을 만들거나 기존 파일을 열려면 다음 단계를 따르세요.

  1. Help > Edit Custom Properties를 클릭합니다. IDE 속성을 한 번도 수정한 적이 없다면 Android 스튜디오에서 새로운 idea.properties 파일을 만들라는 메시지를 표시합니다. Yes를 클릭하여 파일을 만듭니다.
  2. idea.properties 파일이 Android 스튜디오의 편집기 창에서 열립니다. 파일을 수정하여 맞춤설정한 IDE 속성을 추가합니다.

다음 idea.properties 파일에는 일반적으로 맞춤설정한 IDE 속성이 포함되어 있습니다. 전체 속성 목록은 IntelliJ IDEA의 idea.properties 파일을 참고하세요.

#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure
# you're using forward slashes.
#---------------------------------------------------------------------
# idea.plugins.path=${idea.config.path}/plugins
#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger file is the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500
#---------------------------------------------------------------------
# This option controls console cyclic buffer: keeps the console output size not higher than the
# specified buffer size (Kb). Older lines are deleted. In order to disable cycle buffer use
# idea.cycle.buffer.size=disabled
#---------------------------------------------------------------------
idea.cycle.buffer.size=1024
#---------------------------------------------------------------------
# Configure if a special launcher should be used when running processes from within IDE.
# Using Launcher enables "soft exit" and "thread dump" features
#---------------------------------------------------------------------
idea.no.launcher=false
#---------------------------------------------------------------------
# To avoid too long classpath
#---------------------------------------------------------------------
idea.dynamic.classpath=false
#---------------------------------------------------------------------
# There are two possible values of idea.popup.weight property: "heavy" and "medium".
# If you have WM configured as "Focus follows mouse with Auto Raise" then you have to
# set this property to "medium". It prevents problems with popup menus on some
# configurations.
#---------------------------------------------------------------------
idea.popup.weight=heavy
#---------------------------------------------------------------------
# Use default anti-aliasing in system, i.e. override value of
# "Settings|Editor|Appearance|Use anti-aliased font" option. May be useful when using Windows
# Remote Desktop Connection for instance.
#---------------------------------------------------------------------
idea.use.default.antialiasing.in.editor=false
#---------------------------------------------------------------------
# Disabling this property may lead to visual glitches like blinking and fail to repaint
# on certain display adapter cards.
#---------------------------------------------------------------------
sun.java2d.noddraw=true
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under Windows.
#---------------------------------------------------------------------
sun.java2d.d3d=false
#---------------------------------------------------------------------
# Workaround for slow scrolling in JDK6
#---------------------------------------------------------------------
swing.bufferPerWindow=false
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under X Window.
#---------------------------------------------------------------------
sun.java2d.pmoffscreen=false
#---------------------------------------------------------------------
# Workaround to avoid long hangs while accessing clipboard under Mac OS X.
#---------------------------------------------------------------------
# ide.mac.useNativeClipboard=True
#---------------------------------------------------------------------
# Maximum size (kilobytes) IDEA will load for showing past file contents -
# in Show Diff or when calculating Digest Diff
#---------------------------------------------------------------------
# idea.max.vcs.loaded.size.kb=20480

메모리 용량이 낮은 기기의 IDE 구성

권장 사양(시스템 요구사항 참고)에 못 미치는 컴퓨터에서 Android 스튜디오를 실행 중인 경우 다음과 같이 IDE를 맞춤설정하여 컴퓨터의 성능을 개선할 수 있습니다.

  • Android 스튜디오에서 사용할 수 있는 최대 힙 크기 줄이기: Android 스튜디오의 최대 힙 크기를 512Mb로 줄입니다. 최대 힙 크기 변경에 관한 자세한 내용은 최대 힙 크기를 참고하세요.
  • Gradle 및 Gradle용 Android 플러그인 업데이트: Gradle과 Gradle용 Android 플러그인을 최신 버전으로 업데이트하면 최신 성능 개선사항을 활용할 수 있습니다. Gradle 및 Gradle용 Android 플러그인 업데이트에 관한 자세한 내용은 Gradle용 Android 플러그인 출시 노트를 참고하세요.
  • 절전 모드 사용 설정: 절전 모드를 사용하도록 설정하면 오류 강조, 즉석 검사, 자동 팝업 코드 완성, 자동 증분 백그라운드 컴파일 등 메모리와 배터리를 많이 사용하는 여러 가지 백그라운드 작업이 꺼집니다. 절전 모드를 켜려면 File > Power Save Mode를 클릭합니다.
  • 불필요한 린트 검사 사용 중지: Android 스튜디오가 코드에서 실행하는 린트 검사를 변경하려면 다음 단계를 진행하세요.

    1. File > Settings(macOS의 경우 Android 스튜디오 > Preferences)를 클릭하여 Settings 대화상자를 엽니다.
    2. 왼쪽 창에서 Editor 섹션을 펼치고 Inspections를 클릭합니다.
    3. 체크박스를 클릭하여 프로젝트에 알맞게 린트 검사를 선택하거나 선택 해제합니다.
    4. Apply 또는 OK를 클릭하여 변경사항을 저장합니다.
  • 실제 기기에서 디버그: 에뮬레이터에서 디버깅하면 실제 기기에서 디버깅하는 것보다 더 많은 메모리를 사용하므로 실제 기기에서 디버깅하여 Android 스튜디오의 전반적인 성능을 개선할 수 있습니다.

  • 필요한 Google Play 서비스만 종속 항목으로 추가: 프로젝트에 Google Play 서비스를 종속 항목으로 포함하면 필요한 메모리 양이 늘어납니다. 필요한 종속 항목만 포함하여 메모리 사용량과 성능을 개선하세요. 자세한 내용은 프로젝트에 Google Play 서비스 추가를 참고하세요.

  • Gradle의 오프라인 모드 켜기: 대역폭이 제한되어 있다면 오프라인 모드를 켜서 Gradle이 빌드 중에 누락된 종속 항목을 다운로드하지 못 하게 해야 합니다. 오프라인 모드가 켜져 있을 때 종속 항목이 누락된 경우 Gradle은 다운로드를 시도하는 대신 빌드 실패를 표시합니다. 오프라인 모드를 켜려면 다음 단계를 따르세요.

    1. File > Settings(macOS의 경우 Android 스튜디오 > Preferences)를 클릭하여 Settings 대화상자를 엽니다.
    2. 왼쪽 창에서 Build, Execution, Deployment를 펼치고 Gradle을 클릭합니다.
    3. Global Gradle 설정에서 Offline work 체크박스를 선택합니다.
    4. Apply 또는 OK를 클릭하여 변경사항을 적용합니다.
  • Gradle에 사용 가능한 최대 힙 크기 줄이기: Gradle의 기본 최대 힙 크기는 1,536MB입니다. 아래와 같이 gradle.properties 파일의 org.gradle.jvmargs 속성을 재정의하여 값을 줄입니다.

    # Make sure to gradually decrease this value and note
    # changes in performance. Allocating too little memory may
    # also decrease performance.
    org.gradle.jvmargs = -Xmx1536m
    
  • 병렬 컴파일은 사용 설정하지 말 것: Android 스튜디오에서는 독립적 모듈을 병렬로 컴파일할 수 있지만 시스템 메모리가 부족한 경우 이 기능을 켜서는 안 됩니다. 이 설정을 확인하려면 다음 단계를 따르세요.

    1. File > Settings(macOS의 경우 Android 스튜디오 > Preferences)를 클릭하여 Settings 대화상자를 엽니다.
    2. 왼쪽 창에서 Build, Execution, Deployment를 펼치고 Compiler를 클릭합니다.
    3. Compile independent modules in parallel 옵션이 선택 해제되어 있는지 확인합니다.
    4. 설정을 변경했다면 Apply 또는 OK를 클릭하여 변경사항을 적용합니다.

JDK 버전 설정

최신 OpenJDK 사본은 Android 스튜디오 2.2 이상과 함께 번들로 제공되는데, 바로 이 JDK 버전을 Android 프로젝트에 사용하는 것이 좋습니다. 번들로 제공되는 JDK를 사용하려면 다음 단계를 따르세요.

  1. Android 스튜디오에서 프로젝트를 열고 메뉴 바에서 File > Project Structure를 선택합니다.
  2. SDK Location 페이지의 JDK location에서 Use embedded JDK 체크박스를 선택합니다.
  3. OK를 클릭합니다.

기본적으로 프로젝트를 컴파일하는 데 사용하는 자바 언어 버전은 프로젝트의 compileSdkVersion에 따라 달라집니다. Android 버전에 따라 지원하는 자바 버전이 다르기 때문입니다. 필요한 경우 다음 CompileOptions {} 블록을 build.gradle 파일에 추가하여 기본 자바 버전을 재정의할 수 있습니다.

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION\_1\_6
        targetCompatibility JavaVersion.VERSION\_1\_6
    }
}

compileSdkVersion이 정의된 위치에 관한 자세한 내용은 모듈 수준 빌드 파일을 참고하세요.

프록시 설정

프록시는 인터넷 연결에 보안 및 개인정보 보호 기능을 추가하는 HTTP 클라이언트와 웹 서버 사이에서 중간 연결 지점의 역할을 합니다.

Android 스튜디오가 방화벽 뒤에서 실행되도록 지원하려면 Android 스튜디오 IDE의 프록시를 설정해야 합니다. Android 스튜디오 IDE의 HTTP 프록시 설정 페이지를 사용해 Android 스튜디오의 HTTP 프록시를 설정하세요.

Gradle용 Android 플러그인을 명령줄에서 실행하거나 Android 스튜디오가 설치되지 않은 컴퓨터(예: 지속적 통합 서버)에서 실행하는 경우 Gradle 빌드 파일에서 프록시를 설정해야 합니다.

Android 스튜디오 프록시 설정

Android 스튜디오는 HTTP 프록시 설정을 지원하므로 방화벽 또는 보안 네트워크 뒤에서 Android 스튜디오를 실행할 수 있습니다. Android 스튜디오에서 HTTP 프록시 설정을 구성하려면 다음 단계를 따르세요.

  1. 메뉴 바에서 File > Settings(macOS의 경우 Android 스튜디오 > Preferences)를 클릭합니다.
  2. 왼쪽 창에서 Appearance & Behavior > System Settings > HTTP Proxy를 클릭합니다. HTTP 프록시 페이지가 나타납니다.
  3. Auto-detect proxy settings를 선택하여 프록시 설정의 자동 프록시 구성 URL을 사용하거나 Manual proxy configuration을 선택하여 각 설정을 직접 입력합니다. 이 설정에 관한 자세한 내용은 HTTP 프록시를 참고하세요.
  4. Apply 또는 OK를 클릭하여 변경사항을 적용합니다.

Gradle용 Android 플러그인 HTTP 프록시 설정

Android 플러그인을 명령줄에서 실행하거나 Android 스튜디오가 설치되지 않은 컴퓨터에서 실행하는 경우 Gradle 빌드 파일에서 Gradle용 Android 플러그인 프록시를 설정합니다.

애플리케이션별 HTTP 프록시 설정의 경우 각 애플리케이션 모듈의 필요에 따라 build.gradle 파일에서 프록시를 설정합니다.

apply plugin: 'com.android.application'

android {
    ...

    defaultConfig {
        ...
        systemProp.http.proxyHost=proxy.company.com
        systemProp.http.proxyPort=443
        systemProp.http.proxyUser=userid
        systemProp.http.proxyPassword=password
        systemProp.http.auth.ntlm.domain=domain
    }
    ...
}

프로젝트 범위의 HTTP 프록시 설정의 경우 gradle/gradle.properties 파일에서 프록시를 설정합니다.

# Project-wide Gradle settings.
...

systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=443
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain

systemProp.https.proxyHost=proxy.company.com
systemProp.https.proxyPort=443
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.auth.ntlm.domain=domain

...

프록시 설정에 Gradle 속성을 사용하는 방법에 관한 자세한 내용은 Gradle 사용자 가이드를 참고하세요.

Windows에서 Android 스튜디오 성능 최적화

Windows에서 Android 스튜디오의 성능은 다양한 요인에 영향을 받을 수 있습니다. 이 섹션에서는 Windows에서 Android 스튜디오 설정을 최적화하여 가능한 한 최상의 성능을 얻는 방법에 관해 설명합니다.

바이러스 백신 소프트웨어가 빌드 속도에 미치는 영향 최소화

일부 바이러스 백신 소프트웨어는 Android 스튜디오 빌드 프로세스를 방해할 수 있으며, 이로 인해 빌드 실행 속도가 크게 느려질 수 있습니다. Android 스튜디오에서 빌드를 실행하면 Gradle은 앱의 리소스와 소스 코드를 컴파일한 후 컴파일된 리소스를 APK로 함께 패키징합니다. 이 과정에서 많은 파일이 컴퓨터에 생성됩니다. 바이러스 백신 소프트웨어에서 실시간 검사를 사용하도록 설정한 경우 바이러스 백신으로 인해 파일이 생성될 때마다 파일 검사가 이루어지고 이때 빌드 프로세스가 강제로 중지될 수 있습니다.

이런 문제를 방지하려면 바이러스 백신 소프트웨어에서 특정 디렉터리를 실시간 검사 대상에서 제외하면 됩니다.

다음 목록은 실시간 검사에서 제외해야 하는 각 Android 스튜디오 디렉터리의 기본 위치를 보여줍니다.

Gradle 캐시
%USERPROFILE%\.gradle
Android 스튜디오 프로젝트
%USERPROFILE%\AndroidStudioProjects
Android SDK
%USERPROFILE%\AppData\Local\Android\SDK
Android 스튜디오 시스템 파일
%USERPROFILE%\.AndroidStudio<version>\system

그룹 정책 제어 환경의 디렉터리 위치 맞춤설정

그룹 정책이 컴퓨터에서 실시간 검사에서 제외할 수 있는 디렉터리를 제한하는 경우 Android 스튜디오 디렉터리를 중앙 집중식 그룹 정책에서 이미 제외한 위치 중 하나로 이동할 수 있습니다.

다음 목록에서는 각 Android 스튜디오 디렉터리의 위치를 맞춤설정하는 방법을 보여줍니다. 여기서 C:\WorkFolder는 그룹 정책에서 이미 제외한 디렉터리입니다.

Gradle 캐시
C:\WorkFolder\.gradle을 가리키도록 GRADLE_USER_HOME 환경 변수를 정의합니다.
Android 스튜디오 프로젝트
프로젝트 디렉터리를 C:\WorkFolder의 적절한 하위 디렉터리로 이동하거나 이 디렉터리에 생성합니다. 예를 들어 C:\WorkFolder\AndroidStudioProjects입니다.
Android SDK

다음 단계를 따르세요.

  1. Android 스튜디오에서 Settings 대화상자(macOS의 경우 Preferences)를 열고 Appearance & Behavior > System Settings > Android SDK로 이동합니다.

  2. Android SDK Location의 값을 C:\WorkFolder\AndroidSDK로 변경합니다.

    SDK를 다시 다운로드하지 않으려면 기본적으로 %USERPROFILE%\AppData\Local\Android\SDK에 있는 기존 SDK 디렉터리를 새 위치에 복사해야 합니다.

Android 스튜디오 시스템 파일

다음 단계를 따르세요.

  1. Android 스튜디오에서 Help > Edit Custom Properties를 클릭합니다.

    아직 idea.properties 파일이 없으면 Android 스튜디오에서 이 파일을 만들라는 메시지를 표시합니다.

  2. idea.properties 파일에 다음 줄을 추가합니다.

    idea.system.path=c:/workfolder/studio/caches/trunk-system
    

오프라인 빌드 종속 항목 구성

네트워크에 연결하지 않은 상태에서 프로젝트를 빌드하려면 아래 단계에 따라 오프라인 버전의 Android Gradle 플러그인 및 Google Maven 종속 항목을 사용하도록 IDE를 구성하세요.

아직 다운로드하지 않은 경우 다운로드 페이지에서 오프라인 구성요소를 다운로드합니다.

오프라인 구성요소 다운로드 및 압축 풀기

오프라인 구성요소를 다운로드한 후에는 구성요소의 콘텐츠를 다음 디렉터리에 압축 해제합니다. 이 디렉터리가 아직 없는 경우 새로 만들어야 합니다.

  • Windows의 경우: %USER_HOME%/.android/manual-offline-m2/
  • macOS 및 Linux의 경우: ~/.android/manual-offline-m2/

오프라인 구성요소를 업데이트하려면 다음 단계를 진행하세요.

  1. manual-offline-m2/ 디렉터리에 있는 콘텐츠를 삭제합니다.
  2. 오프라인 구성요소를 다시 다운로드합니다.
  3. 다운로드한 ZIP 파일의 콘텐츠를 manual-offline-m2/ 디렉터리에 압축 해제합니다.

Gradle 프로젝트에 오프라인 구성요소 포함

다운로드하여 압축을 푼 오프라인 구성 요소를 사용하도록 Android 빌드 시스템에 지시하려면 아래 설명된 대로 스크립트를 작성해야 합니다. 오프라인 구성요소를 업데이트한 후에도 이 스크립트를 한 번만 작성하여 저장해야 합니다.

  1. 경로와 파일 이름이 다음과 같은 빈 텍스트 파일을 생성합니다.
    • Windows의 경우: %USER_HOME%/.gradle/init.d/offline.gradle
    • macOS 및 Linux의 경우: ~/.gradle/init.d/offline.gradle
  2. 텍스트 파일을 열어 다음 스크립트를 포함합니다.

    def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2")
    def repos = new ArrayList()
    reposDir.eachDir {repos.add(it) }
    repos.sort()
    
    allprojects {
      buildscript {
        repositories {
          for (repo in repos) {
            maven {
              name = "injected_offline_${repo.name}"
              url = repo.toURI().toURL()
            }
          }
        }
      }
      repositories {
        for (repo in repos) {
          maven {
            name = "injected_offline_${repo.name}"
            url = repo.toURI().toURL()
          }
        }
      }
    }
    
  3. 텍스트 파일을 저장합니다.

  4. (선택사항) 오프라인 구성요소가 의도한 대로 작동하는지 확인하려면 아래와 같이 프로젝트의 build.gradle 파일에서 온라인 저장소를 삭제합니다. 이러한 저장소 없이 프로젝트가 올바르게 빌드되는 것을 확인한 후 다시 build.gradle 파일에 넣을 수 있습니다.

    buildscript {
        repositories {
            // Hide these repositories to test your build against
            // the offline components. You can include them again after
            // you've confirmed that your project builds ‘offline’.
            // google()
            // jcenter()
        }
        ...
    }
    allprojects {
        repositories {
            // google()
            // jcenter()
        }
        ...
    }