안녕하세요. Android 앱을 작성 중입니다. 애플리케이션을 난독 화하도록 Proguard를 설정했습니다. 그러나 클래스 로더를 사용하여 응용 프로그램에 다른 확장을 동적으로로드합니다. 문제는 이름이 바뀌면 올바르게로드되지 않는다는 것입니다. Proguard가 특정 클래스 이름을 난독 화시키지 않게하려면 어떻게해야합니까?Proguard는 수업 이름을 유지합니까?
답변
사용
수동 https://www.guardsquare.com/en/proguard/manual/usage#keepoptions을 참조하여 proguard.cfg에서 -keepnames
옵션 :
클래스와 그 클래스 멤버를 지정
짧은 class_specification -keep,allowshrinking
에 대한
-keepnames
class_specification 이름이 보존되지 않으면 보존해야합니다. 축소 단계에서 제거되지 않았습니다. 예를 들어, Serializable 인터페이스를 구현하는 클래스의 모든 클래스 이름을 유지하여 처리 된 코드가 원래 직렬화 된 클래스와 호환되도록 유지할 수 있습니다. 전혀 사용되지 않는 클래스는 계속 제거 할 수 있습니다. 난독 처리 할 때만 적용됩니다.
이 그대로 클래스 이름을 유지 :
-keepnames class com.somepackage.*
핸디 팁 : 당신이 읽을 수있는 스택 추적을 얻을 것이다
# please KEEP ALL THE NAMES
-keepnames class ** { *; }
이 방법을 여전히 필요없는 것들을 버리는 것입니다. :-)
'''-dontobfuscate'''는 난독 화를 불가능하게하는 올바른 방법입니다. –
틀린 길. 이 구성으로 난독 화를 해제하는 것이 좋습니다 : "-dontobfuscate/n -optimizations! code/allocation/variable" – oxied
- 1. 이 수업 이름을 짧게하는 방법이 있습니까?
- 2. 수업 외부에서 CSLA 속성의 이름을 어떻게 검색합니까?
- 3. 함수 이름을 지정할 때 어떻게 일관성을 유지합니까?
- 4. Jquery : 수업 전의 수업 방법 :
- 5. 친절한 수업 #
- 6. 글로벌 수업 ++
- 7. 내 수업
- 8. 건조까지 수업
- 9. URLEncodedUtils.parse()가 순서를 유지합니까?
- 10. 수업 설계 결정
- 11. 수업 목록에 참여할 수 있습니까?
- 12. Android : AsyncTask 추천 : 개인 수업 또는 공개 수업?
- 13. SwiftSuspenders : "서로 주입하는"수업?
- 14. 자동 필요 수업?
- 15. 주 수업 듣기
- 16. 자동 수업 템플릿?
- 17. 학생 수업을 수강하기위한 수업?
- 18. PHP의 친구 수업 시뮬레이트
- 19. 주간 수업 시간표 IOS
- 20. AS3 - 글로벌 수업?
- 21. 수업 안내 안내
- 22. 가상 수업 : 제대로하고 있습니까?
- 23. IP 수업, 무엇이며 불가능합니까?
- 24. 수업 시간 문제가 있습니다.
- 25. as3 : 수업 구성 방법
- 26. 자바 스크립트 "수업"
- 27. OOP : 좋은 수업 설계
- 28. 수업 설정의 차이점은 무엇입니까?
- 29. JMockit을 사용한 모의 수업
- 30. Symfony 2 : 어린이 수업
그럼 입력 해주세요 : -keepnames com.randompackage.lol.ClassName – Nik
전체 패키지로 할 수있는 방법이 있습니까? – Nik
예 * 와일드 카드를 사용합니다. 즉, -keepnames com.randompackage.lol. * 모든 클래스를 롤에 보관할 것입니다. –