PreEmptive logo

DashO 10 Beta 2: Android Support, Rebuilt From the Ground Up

PreEmptive protection - DashO Android support has been rebuilt from the ground up for even better performance.

Last month we blogged about R8 and Google’s build architecture changes and hinted at things to come in PreEmptive Protection – DashO, our powerful Java obfuscation and application protection tool that integrates tightly with Android. Today, we’re excited to announce a public beta of our next major release: DashO 10 (Beta 2).

This new version of DashO works together with R8 to protect Android apps and libraries. R8 does what it is best at: minification (renaming & removal) and performance (build and runtime), while DashO provides strong protection: Control FlowString Encryption, and runtime Checks for TamperDebugRootEmulators, and more. Together you get the best of both worlds.

To accomplish this new way of integrating, we rethought DashO from the ground up, creating a brand new Android Mode with big changes to UI, build-time behaviors, and the way DashO integrates into a Gradle build. It’s DashO unlike you’ve ever known it: even easier to integrate, easier to understand and configure, and easier to keep up to date as your code and Android evolve.

The new Android Mode also comes with a new DashO Android Gradle Plugin that:

  • Integrates more naturally into Gradle.
  • Can automatically generate an Android-Mode DashO project file.
  • Automatically identifies which components should be processed and automatically passes them to DashO – no more hand-managing inputs!

Note that the original DashO Gradle Plugin is still available, and still works like it always has. This Beta includes a new version (v3.4) of that plugin with support for Android Gradle Plugin v3.4, and a v4.0 version (of the DashO Gradle Plugin) that drops support for Android in favor of the new DashO Android Gradle Plugin. The 4.0 version will continue to be maintained with support for Java projects.

For existing users, we’ve provided detailed documentation on how to migrate an existing project to Android Mode. Don’t be daunted by the size of that page – most of it is “in case you need it”. For most users, the migration will just take a few brief steps.

Please note that this is a true Beta – some features are incomplete, some parts of the product will be changed, and there are known issues. We will provide support to customers who want to try the Beta, and you are welcome to ship software that is protected by it, but you should carefully read the detailed overview of the Beta, first.

We also encourage you to check out the new documentation; it too has been rethought from the ground up.

While we’re here, we’d like to draw your attention to another bit of R8-related work we’ve been doing: The Unofficial R8 Documentation. There are some gaps in Google’s documentation about R8, and some undocumented differences between R8 and ProGuard, and that site is our attempt to fill them. If you’re migrating to R8, we hope you find that site useful.

Also, some of us will be at Google I/O next week. If you’ll be there too, we’d love to meet you! Please reach out to me directly if you’d like to meet up.

As always – but especially with this Beta – we encourage you to send us your feedback. We want to hear what works and doesn’t work for you with this release. Please download DashO and let us know what you think! (And don’t forget to read the detailed Beta notes, too!)