Issue with SDK with Android and noRes flag when wrapping the apk: Multidex not enabled


Article ID: 130259


Updated On:


CA App Experience Analytics


The following error may be seen when attempting to wrap the apk:
ERROR: Can not package with out creating additional dex. Wrap with out the -m option
ERROR: Exiting, SDK Integration failed!
ERROR: Wrapping Failure : Wrapping unsuccessful java.lang.Exception: Exiting, SDK Integration failed!

Whether or not you wrap with the -m option, the wrap will not complete.



Upon investigation, the methods in the source dex file before wrapping nearly reached the allowed limit for single dex file application - 64570 (98.53% used).
So the input AXA wrapper receives 1 dex file, but after wrapping and injecting its own classes it takes it over the limit.
In that case it requires 2 dex files, which will make the app multidex.

The SDK is designed such that if the wrapper on input receives 1 dex file, it should return 1 dex file after wrapping.
If the apk cannot be instrumented without overflowing the single dex limit, it will reject the wrapping.


Discovered in AXA SaaS, could also affect an on-premise deployment


The restriction has been removed in the wrapper.
The user still has to make their apk mutidex (in the build gradle file or by extending MultDexApplication class)

The wrapper will be made available in due course, please open a support request referring to DE408101 if you are faced with this issue