Pour installer l'agent Android, nous vous recommandons de suivre notre installation guidée :
- Allez à one.newrelic.com > Integrations & Agents > Mobile > Android.
- Suivez les étapes d'installation guidée pour configurer votre agent Android.
- Attendez quelques minutes, puis visualisez vos données en allant sur one.newrelic.com > All capabilities > Mobile > (select your app).
Installer manuellement l'agent Android
Les étapes ci-dessous sont décrites dans notre installation guidée. Notez que même si vous installez manuellement l'agent, vous devrez toujours créer une application New Relic et obtenir le jeton d'application généré. Ce jeton est essentiel pour que l'agent puisse envoyer des données à New Relic.
Ajoutez le plugin d’agent Android à votre projet.
Concernant l'emplacement du plugin, vous avez deux options :
Recommandé : Utilisation du plugin Gradle DSL
- À partir de la version 7.6.0 de l'agent, le plug-in de l'agent Android est disponible sur le portail de plug-ins Gradle en tant que plug-in communautaire. Le DSL du plug-in Gradle simplifie l'ajout de dépendances de plug-in aux applications.
- Cette méthode consiste à ajouter la dépendance du plug-in de l'agent au bloc DSL des plug-ins de votre projet.
ID du plug-in hérité (
newrelic)- Pour les projets plus anciens ou les cas d'utilisation spécifiques, vous pouvez utiliser l'ID de plug-in legacy .
- Cette méthode consiste à ajouter l'agent en tant que dépendance au script de build de votre projet, en spécifiant le référentiel MavenCentral.
Suivez les étapes détaillées ci-dessous pour la méthode d’installation choisie.
Important
New Relic ajoute automatiquement les autorisations suivantes pour permettre à l'agent d'effectuer requests HTTP pour fournir des données capturées pour les versions d'agent 7.6.8 et plus haut.
Dans votre fichier AndroidManifest.xml , ajoutez les autorisations suivantes :
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />Démarrez l'agent dans la méthode onCreate() de votre classe Application, afin que l'agent soit en cours d'exécution avant qu'Android ne crée le moindre Activity, quel que soit le Activity sur lequel s'ouvre votre application.
Si votre application possède déjà une sous-classe Application, ajoutez-y l’instruction d’importation et l’appel start() ci-dessous. Si votre application n’en a pas, créez-la :
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); }}Assurez-vous de remplacer GENERATED_TOKEN par le jeton de votre application (vous le générez lorsque vous créez votre application dans New Relic).
Si vous avez créé une nouvelle classe Application, enregistrez-la dans votre AndroidManifest.xml en ajoutant l'attribut android:name à l'élément <application> :
<application android:name=".MyApplication" ... >Sans cette étape, Android ne crée pas votre classe, et l’agent ne démarre pas.
Utilisez soit le nom de classe complet, soit un nom qui commence par un point (par exemple, .MyApplication), qu’Android résout par rapport au package de votre application.
(Facultatif) Configuration supplémentaire pour Proguard/Dexguard
Si vous utilisez ProGuard ou Dexguard pour réduire le code, suivez ces étapes :
Créez un fichier
newrelic.propertiesdans votre répertoire au niveau de l’application (ex :/projectname/app/newrelic.properties).Dans ce nouveau fichier, ajoutez la ligne suivante, en remplaçant
GENERATED_TOKENpar votre jeton réel :com.newrelic.application_token=GENERATED_TOKEN
Important
New Relic ajoute automatiquement les règles proguard pour la version 7.6.8 de l'agent et plus tard.
- Suivez les étapes décrites sur Configurer ProGuard ou DexGuard pour les applications Android.
Nettoyez votre projet, puis exécutez votre application dans un émulateur ou un appareil pour générer du trafic. Attendez quelques minutes pendant que votre agent capture ces données.
Affichez les données de votre application sur New Relic en accédant à one.newrelic.com > All capabilities > Mobile > (select an app).
Choisissez où démarrer l’agent
Nous vous recommandons de démarrer l'agent à partir de Application.onCreate(). Android crée votre classe Application avant tout Activity, de sorte que l'agent s'exécute que votre application s'ouvre sur son Activity de lancement habituel, ou sur un autre, par exemple à partir d'une notification push, d'un lien profond, d'un raccourci d'application, ou d'un widget.
Vous pouvez toujours démarrer l'agent dans la méthode onCreate() d'un Activity. Si vous le faites, l'agent ne s'exécute que pour chaque lancement qui atteint ce Activity. Si vous déplacez l'appel start() vers votre classe Application, supprimez-le de votre Activity.
Gardez à l’esprit les points suivants :
- Démarrez l’agent une fois. L’agent ignore tout appel à
start()lorsqu’il est déjà en cours d’exécution, laisser l’appel aux deux endroits ne démarre donc pas l’agent deux fois. - Android exécute
Application.onCreate()dans chaque processus que votre application déclare. Si l’un de vos composants définitandroid:process, l’agent démarre également dans chacun de ces processus, et chacun d’eux signale sa propre session. Démarrez l’agent uniquement lorsque votre code s’exécute dans le processus principal de votre application. start()lit et écrit de petits fichiers sur le thread appelant, de sorte que StrictMode peut signaler l'accès au disque sur le thread principal où que vous l'appeliez.
Quelle est la prochaine étape ?
Félicitations ! Vous avez installé avec succès l'agent Android. Vous avez plusieurs options pour les prochaines étapes :
- Configurez le comportement de l'agent pendant les builds Gradle avec le plugin New Relic Gradle.
- Mettez à niveau le SDK Android de l'agent pour maintenir votre agent Android à jour.
- Vous rencontrez des problèmes avec votre installation Android ? Suivez les procédures de dépannage.
Android 4.x : prise en charge de Multidex
monitoring des applications mobiles pour les versions Android antérieures à Android 5.0 (niveau d'API 21) utilise le runtime Dalvik pour exécuter le code de l'application. Par défaut, Dalvik limite les applications à un seul fichier bytecode classes.dex par APK. Pour contourner cette limitation, vous devez activer la prise en charge multidex. Vous pouvez ensuite utiliser la bibliothèque de support multidex, qui fait partie du fichier DEX principal de votre application. La bibliothèque gère l'accès aux fichiers DEX supplémentaires et au code qu'ils contiennent.