Android 애플리케이션에서 Jcenter의 외부 라이브러리 (Picasso)를 사용하고 있습니다. 내 애플 리케이션에서 해당 라이브러리의 인터페이스를 구현하고 있습니다. 문제는 프로 가드가 항상 앱에서 구현 된 인터페이스의 메소드를 제거한다는 것입니다.Proguard가 구현 된 인터페이스의 메소드를 제거하지 못하게합니다
외부 라이브러리에 정의 된 인터페이스는
public interface Callback {
void onSuccess();
void onError();
}
내가 내 코드에서이 인터페이스를 구현합니다. 내가 proguard를 실행하고 .class 파일을 검사 할 때, 구현 된 클래스에 onSuccess
과 onError
메소드가 없다는 것을 알았습니다.
는 이미 위의 스트립을 방지이
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
방법 중 하나를 추가하여 내 난독 파일 완전히 모든 외부 라이브러리를 건너 구성을 추가 한 것입니다 내가이 작업을 수행 할 것을, 내 구현 곳 PicassoCallback
입니다 Callback
인터페이스
-keep class com.package.className$PicassoCallback{
public void onSuccess();
public void onError();
}
하지만 난 내 프로젝트의 외부 인터페이스의 모든 구현이 작업을 수행해야합니다.
프로젝트 전체에서 메소드를 스트립하지 못하도록 막아주는 프로 가이드 구성이 있습니까? 이 일 후에
-keep interface com.squareup.picasso.** { *; }
:
아니요. 그게 도움이되지 못했습니다. – Diffy