ProGuard 包名称缩写

ProGuard package name shortening

我正在开发一个 Android 项目,当我打包分发时,它会自动 运行 通过 ProGuard。

使用 Android 默认设置,ProGuard 将 class 和包名称混淆为大多数单个字母,但保留包层次结构。所以,如果我有一个像

这样的包

com.example.foo.bar.something.else.my.class.net

包含 class Blah,ProGuard 会将其变成类似

的内容

a.b.b.c.a.c.a.a.b.a

其中最后一个 a 代表 class 名称 Blah

是否有一些开关告诉 ProGuard 将整个包层次结构折叠成一个标识符,即将上面的示例变成类似 dw.a 的东西,而不是 dw 代表 a.b.b.c.a.c.a.a.b

找到了:

-flattenpackagehierarchy

不提供 package_name 就可以了。