[Android] MultiDex ?

Jay·2021년 6월 14일
0

Android

목록 보기
36/39
post-thumbnail

Android는 JVM 기반의 ART 위에서 동작한다.

MultiDex?

ART 위에서 동작하기 위해 안드로이드 코드는 dex 파일로 컴파일 된다.
이때, 메서드 수가 64k(65535)개를 초과할 수 없어서 나오게 된 개념이 Multidex이다.

Multidex는 메서드가 64k(65536)개를 초과하지 않도록 dex파일을 여러개로 쪼개주고 쪼개진 dex를 읽을 수 있게 해준다.

어떻게?

minSdkVersion이 21 이상인 경우, multidex는 기본 사용 설정이 된다.

20이하의 경우엔 명시적으로 선언을 해줘야한다.

  // build.gradle
  
  android{
    complieSdkVersion 28
    defaultConfig{
      ...
      
      // 멀티덱스 기능 true
      multiDexEnabled true
    }
    ...
  }
  
  dependencies{
    // 의존성 추가
    implementation 'com.android.support:multidex:1.0.3'
  }
  import android.support.multidex.MultiDexApplication;
  
  public class App extends MultiDexApplication{ // 매니페스트의 앱 이름과 같은 클래스가 상속받아야한다.
    @Override
    public void onCreate(){
      super.onCreate();
    }
  }

Ref

profile
developer

0개의 댓글