If you use Gradle or Android Studio, follow these instructions to install New Relic's mobile monitoring for the first time. If you have previously installed the Android agent SDK for mobile monitoring, follow the steps before upgrading to the latest version with Gradle and Android Studio.
If you haven't already, create your free New Relic account below to start monitoring your data today.
Install your Android app
As part of the installation process for mobile monitoring, New Relic automatically generates an application token. This is a 40-character hexadecimal string for authenticating each mobile app you monitor in New Relic.
- Go to one.newrelic.com > Mobile.
- If applicable: From the Mobile apps index, select Add a new app.
- From the Get started page, select Android as the platform for mobile monitoring.
- Type a meaningful name for your mobile app, and select Continue.
Continue with the steps to configure mobile monitoring with Gradle and Android Studio.
OR:
- To complete the configuration process for a new mobile app later: Go to one.newrelic.com > Mobile, then select See instructions next to your mobile app name.
- To upgrade an existing Android installation: Go to one.newrelic.com > Mobile > (select an app) > Settings > Installation.
Configure with Gradle and Android Studio
These procedures to configure your Android app with Gradle and Android Studio also appear on the Get started page in New Relic.
Merge New Relic's mobile monitoring code in the Gradle & Android Studio tab to your
build.gradle
file.(Optional) For ProGuard or DexGuard:
a. In your project’s root directory (
projectname/app
), add anewrelic.properties
file with the following line:com.newrelic.application_token=GENERATED_TOKENb. Complete the configuration steps on Configure ProGuard or DexGuard for Android apps. Then come back to this page and move on to the next step.
Set app permissions: Ensure that your Android app requests
INTERNET
andACCESS_NETWORK_STATE
permissions by adding these lines to yourAndroidManifest.xml
file:<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />To start New Relic's mobile monitoring agent: In your Default Activity (as defined in your Manifest), import the
NewRelic
class:import com.newrelic.agent.android.NewRelic;Important
We do not support starting the mobile monitoring agent in other classes, as that can cause unexpected or unstable behavior.
To initialize mobile monitoring: In the
onCreate()
method, add this call:NewRelic.withApplicationToken("GENERATED_TOKEN").start(this.getApplication());Optional: Change the logging level.
To build and run your application: Clean your project, then run your app in an emulator or device to generate traffic.
Wait a few minutes, then view data for your Android app from the Summary page: Go to one.newrelic.com > Mobile > (select an app).
If you have problems with your Android installation, or if you do not see data in the mobile monitoring UI, follow the troubleshooting procedures.
Did this doc help with your installation?
Update your Android installation
To keep your Android agent up to date, follow the procedures to upgrade the Android agent SDK for New Relic. To install the latest Android version for your mobile app: Go to one.newrelic.com > Mobile > (select an app) > Settings > Installation.
Android 4.x: Multidex support
New Relic's mobile monitoring for Android versions prior to Android 5.0 (API level 21) use the Dalvik runtime to execute app code. By default, Dalvik limits apps to a single classes.dex
bytecode file per APK. In order to get around this limitation, you must enable multidex support. Then you can use the multidex support library, which becomes part of the primary DEX file of your app and then manages access to the additional DEX files and the code they contain.
When building each DEX file for a multidex app, the build tools perform complex decision making to determine which classes are needed in the primary DEX file so that your app can start successfully. If any class required during startup is not provided in the primary DEX file, then your app crashes with the error java.lang.NoClassDefFoundError
.
If you see the java.lang.NoClassDefFoundError
error, then you must manually specify these additional classes as required in the primary DEX file:
Create a
proguard.multidex.config
file within the/app
folder of your project. Updatemypackage
to reflect your package name.##################### keep class names ######################Keep New Relic in the main dex-keep class com.newrelic.** { *; }-keep class com.mypackage.activities.** { *; }Merge the following code into the app-level
build.gradle
file:android {defaultConfig{…multiDexKeepProguard file("proguard.multidex.config")}}
For more information, see the Android Developers documentation on declaring classes required in the primary DEX file.
New Relic Gradle Plugin configuration
For details on how to configure the behavior of the mobile monitoring agent plugin during Gradle builds, see the New Relic Gradle plugin extension guide.