Mik*_*mov 3 obfuscation android proguard
为了了解ProGuard它是如何工作的,我创建了一个小Android示例,添加了一些示例jar,编写了几行代码,启用ProGuard等等。
接下来是我的 ProGuard 选项
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
-optimizationpasses 5
-optimizations !class/unboxing/enum
Run Code Online (Sandbox Code Playgroud)
因此,在对我的 APK 名称进行逆向工程后,所有Object方法(例如toString()、hashCode()、 )equals()保持不变。除了Object的方法之外,Externalizable方法的名称也保留
那么您知道为什么会发生这种情况吗?是否可以解决?
ProGuard 无法混淆并非源自您的类的方法(其中“您的”包括您编译的 JAR/AAR)。
您从框架提供的类重写的任何内容都需要保持不变。否则,框架无法调用这些方法,因为 ProGuard 不会混淆约 15 亿 Android 设备上固件安装的框架类。
| 归档时间: |
|
| 查看次数: |
560 次 |
| 最近记录: |