См. Второй пункт здесь (Шифрование файлов классов) Как сделать apk Secure. Защита от декомпилирования Как я могу зашифровать и дешифровать файл класса в android?Как я могу зашифровать файл класса (.class) в andorid?
ответ
Подпись кода - один из способов сделать ваш файл apk безопасным. Это гарантирует подлинность и целостность исходного кода. Вы можете пройти ссылку ниже для более подробной информации
Сейчас подходит к вашему вопросу о защите файла АПК из-де-компиляции, не представляется возможным полностью, но вы можете использовать некоторые профилактические меры, чтобы сделать это жесткий. Пожалуйста, перейдите по ссылке ниже
Подписание APK не предотвращает декомпиляцию, что и ищет OP. – BackSlash
Моя точка зрения была больше связана с обеспечением файла apk, который был частью исходного вопроса. И да, как вы сказали, это не остановится от декомпилирования файла apk в любом случае – Sravya
OP сказал «secure», но указал, что он хочет шифровать и дешифровать файлы классов, чтобы предотвратить декомпиляцию: этот ответ не отвечает на вопрос. – BackSlash
Вы можете запутать код proguard (бесплатно) и dexgaurd (предприятия)
в вашем приложении Gradle:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFile 'proguard-google-play-services.pro'
proguardFile 'proguard-butter-knife.pro'
proguardFile 'proguard-volley.pro'
}
debug {
minifyEnabled false
}
}
с этим кодом в режиме выпуска ваш код запутывается.
некоторые файлы не должны затемнять, так что вы можете создать несколько файлов в корне папки приложения и на том, что вы можете установить, какой файл не должен затемнять
файлы Залп, например:
-keep class com.android.volley.** {*;}
-keep class com.android.volley.toolbox.** {*;}
-keep class com.android.volley.Response$* { *; }
-keep class com.android.volley.Request$* { *; }
-keep class com.android.volley.RequestQueue$* { *; }
-keep class com.android.volley.toolbox.HurlStack$* { *; }
-keep class com.android.volley.toolbox.ImageLoader$* { *; }
обычно в библиотеках readme они пишут, что вы должны писать, чтобы предотвратить запутывание для некоторых классов. также считают, что вы можете сделать это сложнее, но не невозможно.
Вы можете попробовать этот инструмент, если вы хотите более высокий уровень для запутывания: Bg+ Anti Decompiler/Obfuscator
Вы не можете. Вы можете запутать его, есть разные инструменты, которые позволяют это сделать (ProGuard является одним из них) – BackSlash