After an app has been shielded

The most common issues that can occur after an app is shielded are:

The app is terminating unexpectedly

Identifying issues—The app is terminating unexpectedly contains the troubleshooting steps to identify the most common issues that can cause your app to crash after shielding.

Go through the questions in the order they are listed until you have identified the issue.

Identifying issues—The app is terminating unexpectedly
Step Question How to test What to do
Platform-independent steps
1

Did the app work before App Shielding?

Run the app through the same scenario without App Shielding.

If the app does not work, fix it before using App Shielding.

2

Have you read the App Shielding product documentation?

n/a

Check the known limitations and follow the instructions in the integration guide.

3 Is App Shielding up to date?

Check the available App Shielding versions on the OneSpan Customer Portal or OneSpan Mobile Portal.

Try again with a new App Shielding version.
4

Does App Shielding detect something and exits on it, as designed?

For every exit, add a URL with %REASON%. Check that value after the exit (enable debugging for Android).

See also:

Fix the device to avoid the detection.

5 Is the issue related to a specific detection?

Create a configuration where all checks are disabled. Then, enable them one by one.

Identify the detection that causes the issue and contact OneSpan Support, or continue with the platform-specific steps for Android and iOS.

Steps for Android
6 Is it a binding issue?

Shield the app without binding. Use a configuration with the following rule:

untouchable *;

Replace * with the class, method, or field that causes the binding issue. Look for the ClassNotFoundException.

See also:

7 Is it an obfuscation issue? Shield the app with obfuscation disabled.

Check the app for conflicting reflection and/or fine-tune your rules list.

See also:

8 Is it an Activity Guard issue? Remove android-shield-activity-guard.aar from the APK.

Gather all relevant data and contact OneSpan Support.

See also:

Steps for iOS

Gather all relevant data and contact OneSpan Support.

See also:

The app is slow

Identifying issues—The app is slow contains the troubleshooting steps to identify the most common issues that can cause your app's performance to drop significantly after shielding. For each step, additional considerations are provided in the "Tips" column.

Performance loss can be caused by multiple reasons at the same time. Therefore, a combination of the steps in Identifying issues—The app is slow can help you identify and fix the issue.

Identifying issues—The app is slow
Step Question How to test Tips
Android
1

Is it a binding issue?

Shield the app without binding. Use a configuration with the following exclusion:

untouchable *;

  • More than 10,000 bindings is too many.
  • Less than 2,000 bindings is too few.

After app shielding, check the log file for the total number of bindings and verify that it is within the recommended range.

  • The longer the string value, the slower the push/pull retrieval.
  • The relevant binding is the one removing values from your code.
  • The best binding is critical to the app but not frequently accessed.

See also:

2 Is the issue caused by integrity checks? Remove rules with the verify keyword. Integrity checks of large files will impact the launch time.
3 Is the issue caused by root detection? Disable rooting (especially deep scan). Deep scan can also be disabled with the updatable configuration.
iOS

Gather all relevant data and contact OneSpan support.

See also:

The app size has increased

Identifying issues—The app size has increased contains the troubleshooting steps to identify the most common issues that can cause the size of your app to increase significantly after shielding.

Significant increase of the app size can be caused by multiple reasons at the same time. Therefore, a combination of the steps in Identifying issues—The app size has increased can help you identify and fix the issue.

Identifying issues—The app size has increased
Step Question How to test Tips
Android
1 Do you need all the architectures? Set only one architecture in the configuration. App Shielding adds approximately 5 MB per architecture. Use APK splits for each application binary interface.
2 Could you use AAB? Export the app as Android app bundles (AAB) instead of APK. The AAB configuration has a different signing process. For more information, see Mobile Application Shielding Integration Guide.
3 Is it a binding issue?

Shield the app without binding. Use a configuration with the following rule:

untouchable *;

The longer the string, the bigger the binding storage.

See also:

iOS

Gather all relevant data and contact OneSpan support.

See also:

The app triggers a false positive or negative

You have reached this section because the previously suggested troubleshooting steps did not help fix the issue.

At this point:

  1. You are using the latest App Shielding version available on the OneSpan Customer Portal or OneSpan Mobile Portal (troubleshooting step 3 from The app is terminating unexpectedly)
  2. You are certain that the device is healthy (troubleshooting step 4 from The app is terminating unexpectedly)
  3. You have narrowed down the issue to a specific detection (troubleshooting step 5 from The app is terminating unexpectedly)

Despite all the precautions taken to ensure a healthy environment for the shielded application, the app still either detects a threat where there is none, or fails to detect an actual threat.

Before proceeding, see the Mobile Application Shielding Integration Guide for known limitations.

If the problem persists, try to reproduce the issue and contact OneSpan Support, providing the following information:

  • The device on which the issue occurs
  • The operating system version on which the issue occurs
  • If possible, collect the following data:

    • Metadata from the exit on URL (if false positive). See also App Shielding Error Reporting.
    • Callback data (if available)
    • De-obfuscated crashing reports from Google Play (if shutdown immediately was disabled)
  • Check the available data on Analytics.