2017-09-07 26 views
4

내 프로젝트에서는 이전 모델 클래스에 AutoValue을 사용합니다. 나는 Kotlin을 사용하기 시작했고 AutoValue 대신 Data Classes을 사용하려고합니다. 모든 데이터 클래스이 내 데이터 레이어에 있지만 난독 화를 비활성화하려면 패키지의 다른 클래스를 계속 흐리게 유지해야합니다.Proguard - Kotlin 데이터 클래스를 난독 화하지 않습니다.

이 방법이 있습니까?

Proguard와 파일에 이런 식으로 뭔가를 기대 :

-keepclassmembers data class example.data_layer.** { *; } 

답변

3

내가 모델 패키지에 모델 클래스를 이동하고 패키지에 대한 새로운 ProGuard 규칙을 추가 한 문제를 해결하려면.

-keep class com.company.myfeature.model.** { *; } 

또 다른 해결책은 클래스의 난독를 사용하지 않도록 지원 라이브러리에서 @Keep annotation을 사용하는 것입니다 : 그것은 새로운 클래스를 추가하는 것을 잊지하기 쉽기 때문 @Keep를 사용

@Keep 
data class MyRequestBody(val value: String) 

이 문제가 발생할 수 있습니다.

는 희망 미래에 모델 클래스에 대한 하위 패키지가 필요없이 패키지의 모든 데이터 클래스에 대한 난처을 해제하는 하나 ProGuard에서 규칙있는 방법이 될 것입니다.

+0

모든 데이터 클래스에 난독 화를 원하지는 않을 것입니다. –