2017-10-06 19 views
0

최소 sdk가 5.0 미만일 때 multidex 생성 singledex 활성화 min ddk가 5.0 이상일 때 여러 개의 dex 파일을 생성합니다.최소 sdk가 5.0 이하일 때 multidex 생성 singledex를 활성화하지만 min sdk가 5.0 이상인 경우 multiple dex

재현 방법 :

  1. 14로 SDK 분
  2. 세트 프로젝트를 생성 appcompat를 추가 RecyclerView libs와 프로젝트를 작성
    출력 : 단일 덱스가 빌드 폴더

    에서 생성 될
  3. min sdk를 21로 설정하고 프로젝트를 빌드하십시오.
    출력 : 여러 덱스 파일은 빌드 폴더

64K 제한은 위의 5.0에 도달하지 않을 경우 여러 덱스를 만드는 피하기 위해 어떤 방법이 있나요 만들어집니다?

답변

0

최소 sdk가 21 이상으로 설정된 경우 자동으로 구성되므로 multidex를 비활성화하려면 InstantRun을 비활성화해야합니다. 안드로이드 5.0

Multidex 지원 및 높은
안드로이드 5.0 (API 레벨 21) 이상에서는 기본적으로 여러 DEX 파일을로드 지원하는 런타임라는 ART를 사용

당신은 documentation에서 읽을 수 APK 파일에서 가져옵니다. ART는 classesN.dex 파일을 검색하고 Android 장치로 실행하기 위해 단일 .oat 파일로 컴파일하는 앱 설치시 사전 컴파일을 수행합니다. 따라서 minSdkVersion이 21 이상이면 multidex 지원 라이브러리가 필요하지 않습니다.

Android 5.0 런타임에 대한 자세한 내용은 ART 및 Dalvik을 참조하십시오.

참고 : 즉시 실행를 사용하는 동안 앱의 minSdkVersion21 이상으로 설정되어있는 경우, 안드로이드 스튜디오가 자동으로 multidex에 대한 귀하의 응용 프로그램을 구성합니다. 즉석 실행은 앱의 디버그 버전에서만 작동하므로 64K 제한을 피하기 위해 multidex 용 릴리스 빌드를 구성해야합니다.