그것의이 질문에 대답하지만 단지의 경우 누군가 내 대답을 필요로하는 아주 늦게 .매핑 파일의
위치 deobfuscate합니다 :
ProGuard에서이 응용 프로그램 응용 프로그램/구축/출력 /지도/FLAVOR/릴리스의 파일을 저장/mapping.txt
일반적으로 디버그 모드에서는 매핑 파일이 필요하지 않습니다. 일반적으로 난독 화가 사용되지 않기 때문입니다. 그런 경우가 아니라면 build.gradle 파일에 다음과 같은 디버그 변형 코드가 있는지 확인하십시오.
debug {
minifyEnabled false
debuggable true
}
일부 둘점은 :
mapping.txt 파일은 새 버전을 작성하기 전에 릴리스 ProGuard에서 빌드, 그래서 그 파일의 첫 번째 테이크 백업을 만들 때마다 덮어 쓰기됩니다. 이전 버전의 앱에서 스택 추적을 난독 화하는 데 도움이됩니다. 구글 Play에서 앱 게시 할 때
, 업로드 할 수 있습니다
1. 구글 플레이 콘솔로 mapping.txt 파일 업로드 : 그렇다 코드를 당황하게하는 두 가지 방법이 있다는 것을에서
각 APK 버전의 mapping.txt 파일 그런 다음 Google Play는 사용자가 신고 한 문제로 인해 수신 스택 추적을 해독하여 Google Play Console에서 검토 할 수 있습니다.
2. 지역 SDK 도구 retrace.sh/retrace.bat : 앱의 릴리스 버전을 실행하려는
몇 번 검사를 건너 (해제 변형을 구축 변경하고 실행하여) 프로덕션 환경에서 발생하지 않도록 오류를 수정하십시오 (재생 저장소에 출시 될 때).
난독 화 스택 추적을 사용자가 직접 읽을 수있는 것으로 변환하려면 리 트레이스 스크립트 (Windows에서는 retrace.bat, Mac/Linux에서는 retrace.sh)를 사용하십시오.
<sdk-root>/tools/proguard/bin/
디렉토리에 있습니다.
<sdk-root>
은 모든 안드로이드 라이브러리와 SDK가 설치된 장소입니다.
스크립트는 mapping.txt 파일과 스택 추적을 사용하여 읽을 수있는 새 스택 추적을 생성합니다.
명령 구문 : 예를 들어
retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]
는 :
retrace.bat -verbose mapping.txt obfuscated_trace.txt
나는 생산 오류를 사전에 확인하는 것은 매우 편리으로 난독의 로컬 버전을 선호합니다.
도움이되기를 바랍니다.
여기에 공식적으로 설명되어 있습니다. https://firebase.google.com/docs/crash/android#uploading_proguard_mapping_files_manually –
@JayakrishnanPM은 3 년 후 Google이이 문제를 해결하게되어 기쁘게 생각합니다. – CQM