Requirements
Initialize GermainUX
Configure Privacy Before Release
Troubleshooting
Deploy Monitoring for an Android Application
Overview
Deploy Android application monitoring by adding the GermainUX Mobile App library to the Android project, initializing it when the application starts, and configuring the required Android permissions and service. The library can collect configured:Requirements
Before deployment:- Confirm that the Android and Java or Kotlin versions are supported by the current GermainUX Mobile App library.
- Obtain the latest library version and repository access from GermainUX.
- Obtain the HTTPS ingestion URL for the GermainUX environment.
- Confirm that the application can send outbound HTTPS requests to GermainUX.
- Define the application name and environment.
- Review privacy, security, and user-consent requirements.
- Test the integration in a nonproduction build.
Required Android Permissions
Add the required permissions toAndroidManifest.xml:
Obtain the Mobile App Library
GermainUX can provide the Android library through:- A private Maven-compatible repository
- Android Archive (
.aar) files for manual installation
Option 1: Install with Gradle
Add the GermainUX repository to the project’s dependency-management configuration using the repository URL and credentials provided for your environment. Example structure:build.gradle, build.gradle.kts, or another committed project file.
Option 2: Install AAR Files
For manual installation:Obtain the current GermainUX .aar files and dependency list
Copy the files into the application module’s libs directory
Add the local repository to the module configuration
Add each required AAR as a dependency
Add any external dependencies not packaged inside the AAR files
Synchronize and rebuild the project
Initialize GermainUX
Create or update the application’sApplication subclass and initialize GermainUX in onCreate().
Java
Kotlin
Register the Application Class
If the application does not already register a customApplication subclass, add it to AndroidManifest.xml:
Application subclass, add GermainUX initialization to that existing class instead of creating a second one.
Initialize the library once per application process unless the supplied release documentation specifies otherwise.
Register the GermainUX Service
Add the GermainUX service inside the<application> element:
Configure Network Security
Confirm that:- The ingestion endpoint uses a trusted TLS certificate.
- The application is permitted to connect to the GermainUX hostname.
- Network-security configuration does not block the endpoint.
- Proxies, VPNs, firewalls, or mobile-device policies permit the connection.
- Cleartext HTTP traffic is not required.
- Certificate pinning, when used, accounts for the approved GermainUX endpoint.
Configure Code Shrinking and Obfuscation
If the application uses R8 or ProGuard:Obtain the rules supplied with the current GermainUX library
Add them to the application’s shrinker configuration
Preserve the model classes and attributes required for serialization and diagnostic stack traces
Build a release variant
Verify that monitoring works after shrinking and obfuscation
Retain the mapping file for crash analysis
-dontwarn or -keep rules unless they are required by the installed library version. Rules from older releases may hide legitimate dependency or build problems.
Configure Privacy Before Release
Review every automatically or manually captured attribute. Do not collect:- Passwords
- Authentication tokens
- Payment-card data
- Sensitive personal or health information
- Message or form content that is not required
- Unrestricted exception values containing confidential data
- Anonymous or pseudonymous user identification
- Allowed application and device attributes
- Custom-event and transaction attributes
- Error-message filtering
- Data retention
- Access permissions
- Environment separation
Build and Test
After installation:Clean and rebuild the Android project
Confirm that dependency resolution succeeds
Launch the application
Verify that initialization completes without an exception
Generate a normal user session
Navigate through representative screens and fragments
Execute a monitored transaction
Send a controlled handled exception
Validate crash collection in a safe test build
Confirm that telemetry appears in GermainUX
Verify the application name, version, environment, and device context
Measure startup and runtime overhead
Confirm that sensitive information is excluded
Release
After validation:Use the approved production ingestion endpoint
Confirm the production application and environment identifiers
Verify privacy and retention settings
Publish the monitored build through the normal release process
Monitor initial telemetry volume, errors, and performance
Compare the new release with the previous application version
Configure dashboards, SLAs, alerts, and reports
Troubleshooting
The library cannot be downloaded
Verify:- Repository URL
- Repository credentials
- Network or proxy access
- Dependency coordinates and version
- Gradle repository configuration
- Credential availability in the local or CI/CD environment
The application does not compile
Check:- Android and Java or Kotlin compatibility
- Duplicate dependencies
- Missing external dependencies
- AAR file names
- R8 or ProGuard configuration
- Android manifest merging errors
- Release notes for the installed library
No telemetry reaches GermainUX
Confirm that:GermainAPM.init()executes.- The ingestion URL is correct.
- The URL uses HTTPS.
- The device can reach the GermainUX environment.
- The service is registered correctly.
- The application has internet permission.
- Network-security or certificate policies do not block the connection.
- The selected GermainUX application and environment are enabled.
Debug works but the release build fails
Review:- R8 or ProGuard rules
- Obfuscation
- Release-only network configuration
- Product flavors
- Build-time endpoint selection
- Certificate pinning
- CI/CD secret injection
Get Help
Contact GermainUX Support
Can't find what you need?
The content of this document is proprietary to GERMAIN SOFTWARE.

