Принципиально невозможно защитить ваш двоичный файл на 100%. Но вы можете повысить сложность декомпиляции декомпиляции исходного кода.
Если вы разрабатываете свое приложение для Android с использованием JAVA / Kotlin, то инженер-реверс может легко декомпилировать ваш исходный код, даже если вы используете Proguard / dexguard для запутывания своего кода.
Итак, лучшим вариантом является использование NDK для разработки вашей бизнес-логики и доступа к ней в коде java / kotlin. Обратному инженеру будет сложнее декомпилировать ваш файл so.