우리는 ProGuard를 사용하여 Android 앱을 난독 화하고 최적화했습니다. 지금까지 모든 클래스/병합 최적화를 활성화했습니다. 이 문제는 다음과 같습니다. 다른 클래스에 수평으로 병합 된 메서드에서 오류가 발생하면 리 트레이스 도구가 해당 단계를 되돌릴 수 없으므로 줄 번호가 쓸모 없게되고 오류를 추적하는 것이 불가능합니다.ProGuard와 수평으로 병합 된 클래스를 되 돌리는 방법은 무엇입니까?
정적 헬퍼 메소드가 우리가 링크 한 제 3 자 JAR의 일부인 클래스로 병합되는 특별한 예가 하나 있습니다. 우리는 소스 코드조차 가지고 있지 않습니다. retrace는 제 3 자 클래스의 라인 번호를 보여주기 때문에 (헬퍼 메소드가 병합 되었기 때문에) 진행할 수 없습니다.
최적화 중에 다른 클래스로 병합 된 메서드를 다시 추적 할 수있는 방법이 있습니까?
재미 있습니다. - 감사합니다! ProGuard에서 작성한 보고서 파일 중 어떤 것이 메소드가 인라인되었는지 여부를 나타냅니다. 우리는 현재 맵핑 파일을 버전 제어하에 유지하기 때문에 이전 빌드 태그에 대한 스택 추적을 재구성합니다. – Matthias
아니요, ProGuard는 최적화에 대한 세부 정보를 기록하지 않습니다. 최적화가 복잡한 방식으로 상호 작용하고 누적 될 수 있기 때문에 어렵습니다. –