android - 如何让 Proguard 到达整个包的 `keepclassmembers`

标签 android eclipse proguard

如标题所述:如何让 Proguard 对整个包进行keepclassmembers?也可以删除带有 void 签名的方法。

最佳答案

保留给定包及其所有子包中所有类的所有类成员(字段和方法):

-keepclassmembers class mypackage.** { *; }

这包括 void 方法。只保留所有无效方法:

-keepclassmembers class mypackage.** { void *(...); }

但这些设置并不常见,因为保留所有类成员或所有 void 方法(甚至不保留所有类)似乎是一个非常随机的要求。

对于大多数配置,-keep-keepclassmembers更合适,相关类通常只有public类(匹配public class),相关类通常扩展特定类或接口(interface)(例如匹配 extends somepackage.SomeClass),相关类成员通常是一组非常具体的公共(public)方法(例如 public setters,匹配 public void set *(***)).

关于android - 如何让 Proguard 到达整个包的 `keepclassmembers`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16369374/

相关文章:

android - 如何更改 NavigationView 的项目文本大小?

java - 从 URL ionic 库加载图像时的适配器行为

java - runtime.getruntime.exec 无法识别可执行文件

android - 什么优化是安全的,仍然允许 -assumenosideeffects 去除

java - Spring 应用程序的混淆值得尝试吗?

javascript - WebView 代码在 Android 4.4.2 (API 19) 模拟器上生成 Uncaught TypeError 和 Uncaught ReferenceError 错误

android - Cordova navigator.camera.getPicture 在 Android 4.4 KitKat 上以意外格式从图库返回 FILE_URI

php - 用于在 php 中注释/取消注释代码的 aptana 快捷方式

css - 在 Eclipse 中更改 css 样式表的格式

java - 使用 Proguard GUI 进行混淆,在没有配置文件的情况下保持类