아래는 안드로이드 개발시 AspectJ 라이브러리를 사용하는 경우 기본적인 ProGuard 설정에 추가해주어야 할 내용입니다.

# aspect 클래스 및 aspect가 적용되는 클래스에서 AspectJ 라이브러리를 참조할 수 없다는 경고 제거
# (can't find referenced class)
-dontwarn org.aspectj.**

# AspectJ 클래스 변경금지
-keep class org.aspectj.**

# Aspect 클래스 보존
-keep @org.aspectj.lang.annotation.Aspect class * { *; }
-keepclasseswithmembers class * {
  public static *** aspectOf();
}

# 패키지 변경 금지(주석해제시 런타임에 java.lang.NoSuchMethodError 에러 발생)
#-repackageclasses ''
#-allowaccessmodification

# around 어드바이스가 적용되는 target 클래스에서 around 어드바이스 메소드를
# 참조할 수 없다는 경고 제거(can't find referenced method) : aspect 클래스를 지정
-dontwarn my.app.aop.**
(또는 -dontwarn my.app.**.*Aspect 식으로 설정)


Posted by 에코지오
,