MrB*_*yte 6 java obfuscation android proguard
我试图手动混淆我的Android应用程序(是的,我知道,这是一个痛苦)和我必须保持我还没有实现也同时使用ProGuard混淆他们的所有方法.
我试过像这样更改配置:
-keep class com.project.x.* {
}
Run Code Online (Sandbox Code Playgroud)
但它保留了所有类名和方法名,仍然删除了我未使用的代码.
我该怎么做才能解决这个问题?
提前致谢!
Eri*_*une 14
作为CommonsWare解释,似乎不太可能,你想保留未使用的方法,但他们的名字混淆,但ProGuard的支持,如下所示:
-keepclassmembers,allowobfuscation class com.project.x.** {
<methods>;
}
Run Code Online (Sandbox Code Playgroud)
这种强行保持在指定的包(及其子包)的所有方法(但并非所有的类),但仍允许被扰乱他们的名字.
使用 keep 选项修饰符 - 请参阅此处
我想你会做这样的事情:
-keep,allowoptimization class com.project.x.* {
}
Run Code Online (Sandbox Code Playgroud)
但引用文档:“这个修饰符仅对实现不寻常的要求有用。”
您是否尝试过逆向工程来看看这是您需要做的事情?我对 keep 的印象是,它将保留该类作为应用程序的入口点,但它不会阻止它在内部优化和混淆这些类的方法。
也许您想要的只是-keepnames查看上面的链接以了解详细信息。
| 归档时间: |
|
| 查看次数: |
5986 次 |
| 最近记录: |