2017-04-12 14 views
1

multidex 앱을 만들었습니다. 그러나 안부에 build.gradle에 다음과 내가 가진 난독 화하기 :Android - multiDexKeepProguard의 목적은 무엇입니까? 어떻게 그것이 proguardFiles에 가까운 gradle에서 비교합니까?

android { 
    defaultConfig { 
     ... 
     multiDexEnabled true 
    } 
    productFlavors { 
     dev { 
      // Enable pre-dexing to produce an APK that can be tested on 
      // Android 5.0+ without the time-consuming DEX build processes. 
      minSdkVersion 21 
     } 
     prod { 
      // The actual minSdkVersion for the production version. 
      minSdkVersion 14 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
     *** proguardFiles getDefaultProguardFile('proguard-android.txt'), 
               'proguard-rules.pro' 
     } 
    } 
} 
dependencies { 
    compile 'com.android.support:multidex:1.0.1' 
} 

내 질문 multiDexKeepProguard를 사용하여를 대 progardFiles에 관한 것입니다. 문서 상태 :

파일의 주요 덱스 파일로 컴파일하는 클래스를 결정하는 데 사용되는 추가 ProGuard에서 규칙

텍스트 파일을 multiDexKeepProguard.

설정하면이 파일의 규칙이 빌드 시스템에서 사용되는 기본 규칙과 함께 사용됩니다.

그렇다면 multiDexKeepProguard를 사용하지 않으면 클래스가 여전히 컴파일되지만 주 덱스 파일에서 끝나지 않을 수 있습니다. 맞습니까? 이것이 proguardFiles와 어떻게 다른지 명확하지 않습니다.

Android 설명서도 references this입니다.

답변

0

응용 프로그램에서 프로 가드를 활성화하려면 일반적으로 프로 가드 규칙을 정의해야합니다. proguardFiles은 프로 그램이 앱을 축소하거나 난독 화하기위한 지침입니다.

은 특히 응용 프로그램 시작시로드해야하는 파일과 주 덱스에 보관할 파일을 multidex에게 알려주는 용도로 사용됩니다. 내가 아는 한, Proguard 구문을 편의상 사용합니다. 선택 사항이며 일반적으로 런타임에 문제가있는 경우에만 설정됩니다.