Regular de4dot is stagnant. If you're hitting a wall with modern string encryption or control-flow proxies, de4dotEx is the community-maintained fork you need to use.
Xposed is great for persistent 'quality of life' mods because it hooks once and stays there, but it's very easy for a packer to detect the modified zygote. Frida is the standard for research because it's 'on-the-fly' and harder to catch if you use a private server. Use Xposed for your personal phone mods; use Frida for actual binary analysis and research.
Frida is like a surgical knife—you inject it into a live game and hook exactly what you want. Qiling is a full sandbox; it emulates the whole OS environment so you can run a suspicious loader without worrying about it wiping your disk. Use Frida for live game research, use Qiling for 'cold' analysis of unknown binaries.
Procyon is a pattern-matching decompiler that tries to make Java code look 'original' and pretty. Krakatau is a semantic decompiler; it doesn't care about looking like the original source, it just wants the logic to be correct. If Procyon crashes on obfuscated bytecode, Krakatau is your best bet for a logical recovery.
Triton is the library that does the heavy lifting for symbolic execution and MBA simplification. Qsynthesis is the tool built on top of it that actually tries to 'synthesize' clean code from a mess of obfuscated instructions. Use Triton if you're writing your own devirtualizer; use Qsynthesis if you want to automate the cleanup of a specific function.
DexGuard is the well-known choice for general Android protection, but DexProtector has been shifting the goalposts by moving core logic into custom ELF loaders (libdexprotector.so). These loaders derive decryption keys from the system linker state at runtime, making them extremely hard to solve with static tools. If you're hitting a wall with static DEX analysis, you're likely dealing with DexProtector's RASP layers.
Bytecode Viewer is a massive multi-tool that runs five different decompilers at once so you can compare the output. Recaf is more of a surgeon's tool—it lets you edit the bytecode directly and rename things on the fly. Use Bytecode Viewer for initial analysis, use Recaf when you're ready to start renaming and rebuilding.