Para instalar el agente de Android, le recomendamos seguir nuestra instalación guiada:
- Vaya a one.newrelic.com > Integrations & Agents > Mobile > Android.
- Siga los pasos de instalación guiados para configurar su agente de Android.
- Espere unos minutos y luego vea sus datos yendo a one.newrelic.com > All capabilities > Mobile > (select your app).
Instalar manualmente el agente de Android
Los pasos a continuación se describen en nuestra instalación guiada. Tenga en cuenta que incluso si instala manualmente el agente, aún necesitará crear una aplicación New Relic y obtener el token de aplicación generado. Este token es esencial para que el agente envíe datos a New Relic.
Agregue el complemento del agente de Android a su proyecto.
Respecto a la ubicación del complemento, tienes dos opciones:
Recomendado: Uso del complemento Gradle DSL
- A partir de la versión 7.6.0 del agente, el plug-in del agente de Android está disponible en el Gradle Plugin Portal como un plug-in de la comunidad. El DSL del plug-in de Gradle simplifica la adición de dependencia de plug-in a las aplicaciones.
- Este método implica agregar el complemento agente dependencia al bloque DSL de complementos de su proyecto.
ID de complemento heredado (
newrelic)- Para proyectos más antiguos o casos de uso específicos, puede emplear el ID del complemento legacy .
- Este método implica agregar el agente como dependencia al script de compilación de su proyecto, especificando el repositorio de MavenCentral.
Siga los pasos detallados a continuación para el método de instalación elegido.
Importante
New Relic agrega automáticamente las siguientes licencias para permitir que el agente realice requests HTTP para entregar datos capturados para las versiones 7.6.8 del agente y más alto.
En su archivo AndroidManifest.xml , agregue las siguientes licencias:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />Inicie el agente en el método onCreate() de la clase Application, para que el agente se ejecute antes de que Android cree algún Activity, sin importar en qué Activity se abra la aplicación.
Si la aplicación ya tiene una subclase Application, agréguele la declaración de importación y la llamada start() a continuación. Si la aplicación no tiene una, créela:
import android.app.Application;import com.newrelic.agent.android.NewRelic;
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); NewRelic.withApplicationToken("GENERATED_TOKEN").start(this); }}Asegúrese de reemplazar GENERATED_TOKEN con el token de la aplicación (se genera cuando crea la aplicación en New Relic).
Si creó una nueva clase Application, regístrela en el AndroidManifest.xml agregando el atributo android:name al elemento <application>:
<application android:name=".MyApplication" ... >Sin este paso, Android no crea la clase y el agente no se inicia.
Utilice el nombre de clase completo o un nombre que comience con un punto (por ejemplo, .MyApplication), que Android resuelve en relación con el paquete de la aplicación.
(Opcional) Configuración adicional para Proguard/Dexguard
Si emplea ProGuard o Dexguard para reducir el código, siga estos pasos:
Crea un archivo
newrelic.propertiesen tu directorio de nivel de aplicación (por ejemplo:/projectname/app/newrelic.properties).En este nuevo archivo, agregue la siguiente línea, reemplazando
GENERATED_TOKENcon su token real:com.newrelic.application_token=GENERATED_TOKEN
Importante
New Relic agrega automáticamente las reglas de proguard para la versión 7.6.8 del agente y más tarde.
- Siga los pasos descritos en Configurar ProGuard o DexGuard para aplicaciones de Android.
Limpie su proyecto, luego ejecute su aplicación en un emulador o dispositivo para generar tráfico. Espere unos minutos mientras su agente captura esos datos.
Vea los datos de su aplicación en New Relic yendo a one.newrelic.com > All capabilities > Mobile > (select an app).
Elija dónde iniciar el agente
Recomendamos iniciar el agente desde Application.onCreate(). Android crea la clase Application antes que cualquier Activity, por lo que el agente se ejecuta independientemente de si la aplicación se abre en su Activity de lanzamiento habitual o en uno diferente, por ejemplo, desde una notificación push, un enlace profundo, un acceso directo de la aplicación o un widget.
Aún puede iniciar el agente en el método onCreate() de un Activity. Si lo hace, el agente se ejecuta solo para el lanzamiento que alcance ese Activity. Si mueve la llamada start() a la clase Application, elimínela de Activity.
Tenga en cuenta lo siguiente:
- Inicie el agente una vez. El agente ignora cualquier llamada a
start()mientras ya se está ejecutando, por lo que dejar la llamada en ambos lugares no inicia el agente dos veces. - Android ejecuta
Application.onCreate()en cada proceso que declara la aplicación. Si alguno de los componentes estableceandroid:process, el agente también se inicia en cada uno de esos procesos y cada uno reporta su propia sesión. Inicie el agente solo cuando el código se esté ejecutando en el proceso principal de la aplicación. start()lee y escribe archivos pequeños en el hilo de llamada, por lo que StrictMode puede informar el acceso al disco en el hilo principal dondequiera que lo llame.
¿Que sigue?
¡Felicidades! Ha instalado correctamente el agente de Android. Tiene algunas opciones para los siguientes pasos:
- Configure el comportamiento del agente durante las compilaciones de Gradle con el complemento New Relic Gradle.
- Actualice el SDK del agente de Android para mantener actualizado su agente de Android.
- ¿Tienes problemas con la instalación de tu Android? Siga los procedimientos de resolución de problemas.
Android 4.x: soporte multidex
El monitoreo de móviles para versiones de Android anteriores a Android 5.0 (API nivel 21) utiliza el tiempo de ejecución de Dalvik para ejecutar el código de la aplicación. De forma predeterminada, Dalvik limita las aplicaciones a un único archivo de código de bytes classes.dex por APK. Para evitar esta limitación, debe habilitar la compatibilidad con multidex. Luego puede usar la biblioteca de soporte multidex, que pasa a formar parte del archivo DEX principal de su aplicación. La biblioteca gestiona el acceso a los archivos DEX adicionales y el código que los contiene.