Troubleshooting
Troubleshooting Guide
This document has the ways of remediating scenarios that we have encountered in the past.
- Not able to build release apk from v7.1.0-RELEASE
Possible causes
- Proguard is obfuscating a particular package in the core android dependencies.
Remediation
From v7.1.0-RELEASE version of the Nuclei SDK, the partner bank has to add the following dependency in the resolutionStrategy
of their application's build.gradle
configurations.all {
resolutionStrategy {
...
force 'net.sf.proguard:proguard-gradle:6.2.2'
}
}
- Unable to start activity ComponentInfo:
Unable to start activity ComponentInfo{com.dbs.in.digibank/com.nuclei.flights.view.activity.FlightLandingActivity}: android.view.InflateException Binary XML file line #12: Binary XML file line #4: Error inflating class <unknown>
Possible causes:
-
Layout file with same name may exists in bank app
-
Check the specific line number in the layout file as shown in the error (Binary XML file line #4). The attribute specified may not exits or defined properly. This issue arises when the bank app has specified a theme which is not compatible. Bank app should specify AppCompat theme for the application.
-
If it is happening in devices below of API level 21 or below, check if colors are being taken from attributes instead of colors in some drawables. If so, creating alternate resource for v-21 and below would help.
3. java.lang.NoClassDefFoundError: Failed resolution of: Landroid/databinding/DataBinderMapperImpl
Possible Solution: Enable databinding in app level build.gradle file
android {
...
dataBinding {
enabled true
}
...
}
4. E/flutter: [ERROR:flutter/runtime/dart_vm_data.cc(18)] VM snapshot invalid and could not be inferred from settings.
Possible Solution: Make sure all the flutter dependencies are available online from download.flutter.io or offline from local caches.
- It has been reported that there is a known bug in Android versions below lollipop (4.0 to 4.4) that we cannot set colors dynamically causing crashes in such devices. Please read the bug below https://issuetracker.google.com/issues/36941443.
Possible Solution: Specify the nuclei colors in color.xml file of the bank application.
- Hybrid Application: In case if the user clicks back from your payment page, call NucleiSDK.onPaymentAborted() method. This will ensure that the user will land in order review screen.
- Configuring Geo API Key: Nuclei SDK requires geo.API_KEY to access google maps and google places API. Both the API's are widely used by Nuclei SDK and failure in setting correct API will lead to application crash. Please enable the following API keys in your Google developer console
a. Google Maps Android API
b. Google Maps SDK for iOS
e. Google Places API for Web Service
f. Google Directions API
Add below code in app’s manifest file.
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="<API-KEY-GOES-HERE>"/>
Add the appropriate key and test below urls to validate the key.
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=<Google key>
- You may get below error if the google key is not configured with appropriate permission for Maps.
E/Google Maps Android API: Authorization failure. Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
.......E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
Ensure that the "Google Maps Android API v2" is enabled.
Ensure that the following Android Key exists:
API Key: <Google Key>
Android Application (<cert_fingerprint>;<package_name>):
- Empty body in Notification BoB/AU
- Unable to download Flutter Dependency KVB
- Crash happening in Bank app and not sample app: Dependency updated Tab Layout