Obfuscation
Ship obfuscated Dart code on Android and iOS, and keep patching it.
Turn it on
-
Set it in overpush.yaml
obfuscate: true
Use this setting rather than passing Flutter's own obfuscation flags yourself: OverPush needs to know, so it can obfuscate every patch the same way.
-
Release again
Run
overpush release androidoverpush release ios. Turning obfuscation on or off makes a new release, so it goes to the store like any other. -
Patch as usual
overpush patchobfuscates the patch the same way as its release. There's nothing extra to pass.
Platforms
| Android | Supported, from Mac, Windows or Linux. |
| iOS | Supported, from Apple silicon and Intel Macs. |
Reading crash reports
Stack traces from an obfuscated app show renamed symbols. The files to decode them are kept for each release and each patch, on the computer that built them. Keep them with your build artifacts, and use the ones for the release and patch the crashing device was running. OverPush.currentPatchNumber() tells you which patch that was; see Update strategies.