proguard를 사용하여 La
라이브러리 모듈이 포함 된 응용 프로그램을 빌드하려고했지만 라이브러리가 난독 화되지 않는 것으로 나타났습니다. 이유를 이해하려고했습니다.ConsumerProguardFiles 대 ProguardFiles
ProGuard에서 규칙 파일이 게시 된 AAR에 포함되어야한다 : 나는 내용의 ConsumerProguardFiles 기능 건너 한 일부 검색 후
release { minifyEnabled false useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
: 시간이 순간이 내 buildType이었다.
이러한 Proguard 규칙 파일은 ProGuard가 활성화 된 경우 AAR을 사용하는 모든 응용 프로그램 프로젝트 에서 사용됩니다.
이렇게하면 AAR에서 축소 규칙 또는 난독 화 제외 규칙을 지정할 수 있습니다.
이것은 라이브러리 프로젝트에만 유효합니다. 응용 프로그램 프로젝트에서는 무시됩니다.
release { minifyEnabled false useProguard true consumerProguardFiles 'proguard-rules.pro' }
을 그리고 지금 내 라이브러리
La
그것은 난독 화 규칙의 라이브러리 코드 난독 화되어 사용이와
지금 내 라이브러리 La
의 buildType
은 다음과 같다.
내 질문은 다음과 같습니다.
1) 다른 동작이 나타나는 이유는 무엇입니까? 왜 ProguardFiles는 라이브러리의 보호 된 규칙을 난독 화하지만 대신 무시합니다.
2) ConsumerProguardFiles의 기능은 라이브러리의 규칙을 주 애플리케이션 프로 가드 규칙과 병합하는 것입니다. 이 가정이 맞습니까?
3) 요약하면 응용 프로그램에는 proguardFiles를 사용하고 라이브러리에는 ConsumerProguardFiles를 사용합니다. 옳은?
읽어 주셔서 감사합니다.
에는 consumerProguardFiles의 프로 가드를 무시하거나 바꿀 수있는 방법이 있습니다. – Caipivara