Understand LSParanoid sample project configurations
masterThe samples directory demonstrates different ways to apply LSParanoid obfuscation across libraries and applications. Understanding these patterns helps you decide how to integrate the tool into your own build pipeline:
Library-level Obfuscation
- Standard Library: A normal project with no LSParanoid integration.
- Selective Obfuscation (
library-may-obfuscate): Uses theorg.lsposed.lspanoid:coredependency. You can target specific classes for obfuscation by annotating them with@Obfuscate. Classes without this annotation remain unobfuscated. - Global Library Obfuscation (
library-obfuscate): Uses LSParanoid to turn onglobalobfuscation, meaning the entire.aaris obfuscated.
Application-level Obfuscation
- Dependency-aware Obfuscation (
application): An application that uses@Obfuscateon its own classes and enablesincludeDependencies. In this mode, the build process will obfuscate the application classes and specific annotated classes within its dependencies (likeLibraryObfuscateandLibraryMayObfuscate), while leaving unannotated classes (likeLibraryorLibraryMayNotObfuscate) intact. - Global Application Obfuscation (
application-global-obfuscate): An application that enablesglobalobfuscation. This results in all classes within the resulting release APK being obfuscated.