Improvements
- Android Gradle plugin 1.4 compatibility (1.4.0-beta6)
- Google is working to improve the build system within Android Developer Toolkit (ADT) and as of version 1.4.0-beta2 a change was made that breaks compatibility with the New Relic Android agent. This update provides compatibility with the new beta and previous versions of the Android Gradle plugin.
Fixes
- With Strict Mode enabled in Android Studio, there may have been a resource leak detected with the Android agent installed. This has been corrected for Strict Mode compatibility and to prevent potential resource leaks.
- An edge case scenario was detected where an app left open past the scheduled timeout value would continue sending data on the standard harvest cycle rather than the timeout value. This was corrected to ensure the timeout count is reset and respected.
- A small number of network error types in the Android agent were found to be reporting invalid codes that resulted in missing exceptions on the Errors page for the app. This behavior was corrected and each type of exception is now properly displayed in the Errors screen.
- In version 1.3 of the Gradle plugin, Google made a change that requires the mapping.txt file to be in a specific format when creating multi-dexed apps. This release accounts for that and ensures building with the Android agent is supports multi-dex.
Improvements
- Retrofit compatibility - this release of the Android SDK adds support for the current beta version of the Retrofit library (2.0.0-beta2) and addresses a crash that may have occurred previously when making an HTTP request with this beta version.
Improvements
- This release adds a new API method
withApplicationBuild(String build)
which replaces the now deprecated method,withBuildIdentifier(String build)
. The functionality remains the same, allowing the application build to be set rather than relying on theversionCode
. See Android API documentation for details. - Log messages from the Android SDK have been updated to reflect updated New Relic support team contact information.
Fixes
- This release improves UI performance when an app has crashed and that crash is being sent to New Relic.
- The logic for sampling memory and CPU resources during an interaction trace was improved to limit the use of system resources.
- A crash was addressed in a rare instance when the Apache
BasicHttpRequest
library was used for networking purposes.
Fixes
- Fixes a crash that occurred when attempting to cast the result of OkHttpFactory.open() to a javax.net.ssl.HttpsURLConnection, resulting in a java.lang.ClassCastException
- Resolves a crashing java.lang.NullPointerException when the app is brought from background to foreground in a specific scenario
Improvements
- The SDK now tracks the number and duration of network requests per interaction, which will be used in upcoming features.
- Deprecates the NewRelic.shutdown() method, which will be removed from the API in a future release.
Fixes
- Resolves a potential UI performance issue when experiencing low/no network connectivity.
- Addresses a crashing java.lang.RuntimeException thrown while determining the root cause of an app crash.
- Fixes a potential crash during trace collection resulting from a java.lang.ClassCastException.
Fixes
- Resolves an issue where the connection type used by the app may have been incorrectly reported.
Notes
- Resolves a compatibility issue that may occur when running apps on Android M preview.
Improvements
- The Android SDK will now collect an app build identifier when an app crashes, which will be displayed in parentheses beside the version number in the Crash Details page in RPM. This value defaults to the string
versionCode
that is specified in the app's AndroidManifest.xml. IfversionCode
is not specified the build identifier not be displayed. - A new API method
withBuildIdentifier(String)
was added to allow specifying a custom app build identifier, overriding the default value pulled fromversionCode
. - Updates to unique ID management to improve accuracy of unique device counts.
Fixes
- Fixes a crash resulting from empty body responses when using version 1.9 of the Retrofit library.
- Corrects an internal issue with reserved attribute names. 'interactionDuration' is now a reserved attribute name.
Improvements
Insights for Mobile
This release introduces Insights for New Relic Mobile.
The Android SDK now automatically records Session, Interaction, and Crash events in New Relic Insights. After upgrading to this release, you will be able to build queries and dashboards in Insights with the new Mobile event type. All events include attributes reflecting session and unique install identifiers, device, OS, geography, duration and other data. See the Insights documentation for a description of Mobile attributes and Insights usage details.
Custom events
In addition to the standard events available in Insights, you can now record custom events. Custom events have a name and set of key:value attributes, perfect for capturing usage, monetization, and custom performance data. Custom events are also available in Insights. See the Mobile Custom Event documentation for details.
Custom attributes
In addition to event-specific attributes, this release provides support for install-scoped attributes. An attribute recorded in the app will be attached to every Session, Interaction, Crash, and Custom event reported from that instance of the app. Custom attributes are perfect for tracking durable information like account id, campaign origin, subscription level, etc. See the Mobile Custom Attribute documentation for details.
The Android API documentation includes details on sending custom events and attributes to Insights.