2014-12-15 2 views
1

단검 1.2.2를 프로 가드와 함께 사용할 수있는 지름길이 있습니까? (나는 알고 있습니다.단검과 함께 프로 가드 사용하기 1.2.2

우리는 순간에 문제가있어, 우리는 우리가

Dagger + Proguard obfuscation, Errors creating object graph

그러나이 질문에서, 난독 화의 작업을 진행하기 위해 대거 2.0 이상 이동해야 것을 알고, ObjectGraph가 더 이상 존재하지 않습니다 Dagger 2.0에서 우리가 앉아서 중간 크기의 리펙 터를 수행하기 전에, 나는 이것을 슈퍼 단기에서 컴파일하기 위해 proguard 파일에 넣을 수있는 무시 규칙이 있는지 궁금해하고 있었습니까? 당신은 또한 당신의 프로젝트에서 해당 기본 클래스를 보존 할 필요가 불행하게도

-keep class **$$ModuleAdapter 
-keep class **$$InjectAdapter 
-keep class **$$StaticInjection 

:

감사

답변

2

이 대거 들어, 생성 된 클래스를 계속해야

-keep class com.example.SomeClass 

그 Dagger는 여전히 해당 클래스 쌍을 결합 할 수 있습니다. 생성 된 클래스를 프로젝트의 gen 디렉토리 (예 : com/examples/SomeClass $$ ModuleAdapter.class)에 나열하여 기본 클래스를 파악할 수 있습니다.

-keep class dagger.Lazy 
3

당신은 자바 주석 처리를 활용하여이 Dagger Proguard Helper 라이브러리를 사용할 수 있습니다 :

마지막으로, 당신은 하나 개의 단검 클래스를 유지해야합니다.

0
#-dontobfuscate 
-keepnames class your.package.** 

큰 문제는 단검 1.2.2이 당신이 당신의 빌드와 함께 난독을 실행하게됩니다 -adaptclassstrings

에 의해 변경되지 않는다 "방법/your.package.YourClass"와 같은 문자열을 생성한다는 것입니다 , 다른 사람들이 다른 답변에 클래스를 유지하는 것에 대해 덧붙여 말한 것.

클래스 이름을 모호하게 만들지는 않지만 필드와 메소드는 변경됩니다. 아무것도없는 것보다는 낫다! 또는 모든 곳에서 난독 화를 비활성화 할 수 있습니다.

관련 문제