No Android Studio, onde os arquivos de mapeamento do ProGuard são gerados após a compilação de um APK assinado?
Não tenho certeza se não está funcionando ou se esqueci o caminho do arquivo, e minha pesquisa obrigatória no Google / Stack Overflow não respondeu a isso
Respostas:
Ele deve estar localizado no
build/outputs/proguard/release/mapping.txt
diretório do módulo do aplicativo.Na versão mais recente do ProGuard e Android Studio, o arquivo está localizado em
build/outputs/mapping/release/mapping.txt
.fonte
/app/build/outputs/mapping/brandExampleEnvProductionRelease/mapping.txt
/app/build/outputs/mapping/brandExampleEnvIntegrationBeta/mapping.txt
são os novos caminhos.Para mim, eles estão em
'build/outputs/mapping/release'
fonte
Achei mais limpo configurar o proguard para gravar o arquivo mapping.txt em um local fora da
build/
árvore de diretórios, para que ele pudesse ser mais convenientemente verificado no controle de versão.Para conseguir isso, coloque isso no seu
proguard-rules.pro
arquivo:Isso (provavelmente) o colocará no mesmo diretório do seu
proguard-rules.pro
arquivo. Por fim, você provavelmente deseja gravá-lo no mesmo diretório que o arquivo APK e com um nome equivalente (que pode incluir sabor, tipo de compilação etc.).Nota: na minha experiência, isso não é anulado pelo arquivo de modelo de progresso (que foi sugerido por um comentarista para outra resposta aqui).
ATUALIZAÇÃO: Se você tiver vários tipos de produtos, esta é uma solução muito melhor: https://stackoverflow.com/a/31116608/444761
fonte
Descobri que não estava sendo gerado, então adicionei isso ao arquivo de regras
fonte
É muito tarde para responder a essa pergunta, mas apenas no caso de alguém precisar da minha resposta.
Local do arquivo de mapeamento para desobstruir:
Geralmente no modo de depuração, você não precisa do arquivo de mapeamento porque geralmente a ofuscação está desativada. Se não for esse o caso, verifique no arquivo build.gradle o código abaixo para a variante de depuração.
Algumas dicas:
O arquivo mapping.txt é sobrescrito toda vez que você cria uma versão compilada com o ProGuard, então faça um backup desse arquivo antes de criar uma nova versão. Isso ajudará o rastreamento ofuscado da pilha de uma versão mais antiga do seu aplicativo.
Além disso, existem duas maneiras de ofuscar seu código:
1. Faça o upload do seu arquivo mapping.txt para o Google play Console:
Ao publicar seu aplicativo no Google Play, você pode fazer o upload do arquivo mapping.txt para cada versão do seu APK. Em seguida, o Google Play irá ocultar os rastreamentos de pilha recebidos dos problemas relatados pelos usuários, para que você possa analisá-los no Google Play Console.
2. Use a ferramenta sdk local retrace.sh/retrace.bat:
Algumas vezes você deseja executar a versão de lançamento do seu aplicativo (alterando a variante de compilação para lançá-lo e executá-lo) para verificar e corrigir os erros para que isso não aconteça na produção (quando lançado na play-store).
Para converter um rastreamento de pilha ofuscado para um legível, use o script retrace ( retrace.bat no Windows; retrace.sh no Mac / Linux ).
Está localizado no
<sdk-root>/tools/proguard/bin/
diretório<sdk-root>
é o local em que todas as suas bibliotecas e sdks Android foram instalados.O script pega o arquivo mapping.txt e seu rastreamento de pilha, produzindo um novo rastreamento de pilha legível.
Sintaxe de comando:
Por exemplo:
Prefiro a versão local do ofuscamento, pois é bastante útil para verificar previamente os erros de produção.
Espero que ajude.
fonte
Estou usando a versão Android Studio 2.2.2 . Para mim, está localizado nos seguintes locais:
Para depuração:
\app\build\outputs\mapping\debug\mapping.txt
Para liberação:
\app\build\outputs\mapping\release\mapping.txt
fonte
Aqui está uma figura - você a encontrará na pasta de mapeamento:
fonte
Porque sou burra e me perco mesmo quando alguém me diz onde está o arquivo:
fonte