На самом деле нет способа защитить какой-либо код на стороне клиента, будь то Android * .apk, файл Java * .jar или немного кода JavaScript, который запускается в браузере вашего пользователя.Лучший способ защитить себя от пиратства - сделать приложение зависимым от некоторых серверных вычислений, которые вы предоставляете.
Поскольку вы используете RMS, похоже, вам уже требуются вычисления на стороне сервера.Вместо того, чтобы мешать пользователям вводить код активации, почему бы вам не связать этот код активации с адресом электронной почты пользователя при покупке приложения, а затем почему бы вам не использовать OAuth с его учетной записью Google, чтобы убедиться, что у пользователя естьадрес электронной почты, который, как известно, приобрел приложение?