DexGuard by Guardsquare is designed to streamline the secure software development lifecycle and make developers’ lives easier while providing robust protection. DexGuard's static and dynamic analysis protections are achieved through layered obfuscation and encryption techniques complemented by automated runtime application self-protection (RASP) checks and built-in malware defenses. It obfuscates all checks, including Android NDK - C/C++ native libraries. DexGuard generates a Protection Report for each mobile app build that incorporates its protections. This report assesses your app’s security configuration against key risk categories and provides recommendations to improve security efficacy. Backwards compatible with ProGuard and R8, it allows re-use of existing optimization configuration files when upgrading to DexGuard, considering its additional functionality, including RASP and obfuscation capabilities. DexGuard ensures your code is resistant to reverse engineering if decompiled. It provides obfuscation for classes, fields, arithmetic instructions, and more; code virtualization; API call hiding; and additional security features. Its protection is polymorphic, with each app build having a different Android obfuscation configuration, preventing threat actors from reusing prior knowledge. DexGuard automatically injects runtime application self-protection (RASP) checks, preventing tampering with apps at runtime, with different RASP checks in different locations for each build. It injects checks like root detection, certificate checks, and hook detection. DexGuard’s defenses against static and dynamic analysis reinforce one another, providing more robust protection overall than any individual approach would offer. When a malicious user runs your app from a debugger or emulator, RASP checks end the user's session, crash the application, and deploy other defensive actions. DexGuard obfuscates these checks, preventing attackers from learning how the application detects integrity violations. It hardens broad areas of the app's code and uses a diverse library of integrity violation checks to prevent attackers. Its polymorphic and automatic techniques ensure no two builds have the same protections, resetting the clock on attackers. DexGuard also shrinks apps and improves performance by removing redundant code, logging codes, metadata, unused resources, and native libraries.