Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • sdk package contains all public classes and interfaces to be used by the final app.

  • impl package contain contains all internal class implementation implementations and is not visible outside the SDK.

...

The result of this two-step obfuscation is thousands of classes (SDK, client app, dependencies) that are stored in the same bag and make it very hard to retrieve sensitive code.

...

ProGuard

In case you use ProGuard as a code obfuscation / protection tool, here are a few rules that should help you start:

Code Block
# Rules
-keepattributes SourceFile,LineNumberTable
-keepattributes InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes Exceptions

# Android
-keep class androidx.**
-keep class com.google.android.gms.** { *; }

# Agnos
-keep, includedescriptorclasses class ca.amadis.agnos.impl.** { *; }
-keep class ca.amadis.agnos.sdk.** { *; }

# Secure client
-keep class ca.amadis.secclt.impl.** { *; }
Note

These are just default settings to make sure your application will run smoothly. They could definitely be refined to ensure a higher level of security.