2014-02-16 3 views
9

Google Volley을 다운로드 브로커로 사용하는 Android 앱이 있습니다. ProGuard를 사용하여 코드를 난독 화하고 런타임에 실패한 발리 다운로드를 확인하려고했습니다.ProGuard 난독 화 후 Volley가 작동하지 않는 것 같습니다.

여기 내 ProGuard에서의 설정입니다 :

-keep class android.support.v4.app.** { *; } 
-keep interface android.support.v4.app.** { *; } 
-keep class com.actionbarsherlock.** { *; } 
-keep interface com.actionbarsherlock.** { *; } 
-keep class com.android.volley.** { *; } 
-keep interface com.android.volley.** { *; } 

-keepattributes *Annotation* 

-dontwarn org.apache.** 

여기에 내가 코드에서 본 오류입니다 : 좀 난독의 설정은 일부 종속성 문제를 유발 한 경우에 궁금

Async download FAILED. Exception message: The chosen LogFactory implementation does not extend LogFactory. Please check your configuration. (Caused by java.lang.ClassCastException: The application has specified that a custom LogFactory implementation should be used but Class 'org.apache.commons.logging.impl.LogFactoryImpl' cannot be converted to 'a.a.a.b.c'. Please check the custom implementation. Help can be found @http://commons.apache.org/logging/troubleshooting.html.) 

은. 제발 도와주세요.

+0

"come.android.volley"라고 쓰셨습니까? "오지마"에 오타가 있습니다. – Dalmas

+0

@Dalmas 오, 그래, 좋은 캐치. 그것은 오타였습니다. 그러나 오타를 수정 한 후에도 여전히 작동하지 않습니다 ... –

답변

7

Apache 로깅 라이브러리는 로그 팩토리에서 일부 리플렉션을 사용합니다. 자신의 이름을 유지하는 것은 충분해야한다 : 구성에

-keep class org.apache.commons.logging.** 

사이드 참고 : 후자 떠날 수 -keep class ..... 항상 -keep interface ..... 의미한다.

+0

그것은 @Eric에게 도움이되지 못했습니다. 다른 해결책을 알려주시겠습니까? 내 앱에서도 STARTAPP SDK를 사용하고 있습니다. –

관련 문제