如何在安卓中加密类文件 (.class)



>请参阅此处的第二点(加密类文件(如何使apk安全。防止反编译 如何在 Android 中加密和解密类文件?

您可以使用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$* { *; }

通常在库自述文件中,他们会编写您必须编写的内容,以防止对某些类进行混淆。还要考虑你只能让它变得更难,但并非不可能。

代码签名是确保您的 apk 文件安全的一种选择。它确保源代码的真实性和完整性。您可以通过以下链接了解更多详情

对应用进行签名

现在来谈谈您关于保护apk文件不被反编译的问题,这是不可能的,但您仍然可以使用一些预防措施来使其变得困难。请通过以下链接

如何避免对APK文件进行逆向工程?

如果你想要更高级别的混淆,你可以试试这个工具:Bg+ 反反编译器/混淆器

最新更新