Siga estas instruções para oferecer suporte ao ProGuard ou DexGuard com o agente Android. Verifique nossos requisitos e compatibilidade do Android e, se você já instalou o SDK do agente Android, siga as etapas antes de atualizar para a versão mais recente com ProGuard ou DexGuard.
Configurar o ProGuard
Para adicionar suporte para ProGuard:
Adicione uma exclusão ao seu aplicativo; por exemplo:
- Para oferecer suporte à instrumentação do New Relic, adicione
keep class
. - Para desativar avisos relacionados a problemas não resolvidos, adicione
dont warn
. - Para preservar os números de linha para relatórios de falhas, adicione
LineNumberTable
. - Para preservar as informações stack para exceções tratadas, adicione
SourceFile
eEnclosingMethod.
- Para oferecer suporte à instrumentação do New Relic, adicione
Adicione o seguinte ao seu arquivo de configuração do ProGuard (
proguard.cfg
,proguard-android.txt
,proguard-rules.pro
, etc.):-keep class com.newrelic.** { *; }-dontwarn com.newrelic.**-keepattributes Exceptions, Signature, InnerClasses, LineNumberTable, SourceFile, EnclosingMethod#### NewRelic Gradle plugin 7.x may require the following additions:### Retain generic signatures of TypeToken and its subclasses if R8 version 3.0 full-mode is enabled.# https://r8.googlesource.com/r8/+/refs/heads/master/compatibility-faq.md#r8-full-mode-keepattributes Signature-keep class com.newrelic.com.google.gson.reflect.TypeToken { *; }-keep class * extends com.newrelic.com.google.gson.reflect.TypeToken# For using GSON @Expose annotation-keepattributes *Annotation*Limpe e reconstrua seu projeto.
Execute seu aplicativo em um emulador ou dispositivo para começar a ver dados na páginaOverview do seu aplicativo para dispositivos móveis.
Opcional: use a página Settings para personalizar seu aplicativo móvel.
Se nenhum dado aparecer, revise sua saída logcat
em busca de erros.
Este documento ajudou você na instalação?
Suporte à biblioteca de rede
A instrumentação do New Relic acontece antes que o ProGuard ofusque seu código. Para que essas bibliotecas sejam devidamente instrumentalizadas, suas aulas não devem ser ofuscadas pelo ProGuard.
Aqui estão exemplos de regras a serem aplicadas para preservar essas classes. Essa não é uma lista completa. Serão necessárias regras diferentes dependendo da sua biblioteca ou versão.
Library | Rules |
---|---|
HTTP Apache |
|
OkHttp 2 |
|
OkHttp3 |
|
Retrofit 2 |
|
Configurar DexGuard
O DexGuard usa as mesmas opções de configuração do ProGuard e pode ler qualquer arquivo de configuração pré-existente do ProGuard. O DexGuard também possui seu próprio conjunto de opções de configuração adicionais e fornece exemplos de configurações para muitas estruturas de aplicativos comuns.
Para adicionar suporte para DexGuard:
Adicione o DexGuard ao seu aplicativo e configure o plug-in Gradle de acordo com as instruções do DexGuard.
Crie um arquivo
dexguard-project.txt
para conter opções de configuração específicas do DexGuard e adicione:-dontnote com.newrelic.agent.android.NewRelic-dontnote com.newrelic.agent.android.harvest.crash.CrashApós a configuração do plug-in DexGuard, verifique o seguinte.
DexGuard 8.x: verifique se a configuração
buildTypes
do seu aplicativo é semelhante a esta:buildTypes {release {minifyEnabled falseshrinkResources falseproguardFile getDefaultDexGuardFile('dexguard-release.pro')proguardFile 'proguard-rules.pro'proguardFile 'dexguard-project.txt'}...Limpe e reconstrua seu projeto.
Execute seu aplicativo em um emulador ou dispositivo para começar a ver dados na páginaOverview do seu aplicativo para dispositivos móveis.
Opcional: Use a página Monitoramento de Mobile Settings para personalizar seu aplicativo móvel.
Se nenhum dado aparecer, revise sua saída logcat
em busca de erros.