Proguard 删除方法参数
Proguard deletes method parameters
最近我发现 ProGuard 很奇怪。我有这个代码片段
如您所见,方法 showTipHoodLock 有 2 个参数,fragmentManager 和 top (一些偏移量)
但是在我使用 minifyEnabled true
编译应用程序之后
我在点击回调时得到了这个
这是Utils.showTipHoodLock方法
如您所见,proguard 从方法签名中删除了第二个参数(名为 top),并将它的出现替换为 0 文字。
这是错误、功能,还是我遗漏了什么?
P.S. 如果我更改行
中的值
int coords[] = {0, 0}
任何其他数字,然后一切正常,没有任何内容被删除。此外,应用程序不同部分(其他片段)中的相同代码片段(copy-pasted)开始工作。
Is it a bug, or a feature, or did I miss something?
这 不是 错误,这是一个 功能 来优化您的代码。
根据您的代码,第二个参数被以下逻辑引用为 READ ONLY 并且其值为 FIXED 0。
Proguard 将使用此 KNOWN FIXED 值以简化调用流程。
最近我发现 ProGuard 很奇怪。我有这个代码片段
如您所见,方法 showTipHoodLock 有 2 个参数,fragmentManager 和 top (一些偏移量)
但是在我使用 minifyEnabled true
编译应用程序之后我在点击回调时得到了这个
这是Utils.showTipHoodLock方法
如您所见,proguard 从方法签名中删除了第二个参数(名为 top),并将它的出现替换为 0 文字。
这是错误、功能,还是我遗漏了什么?
P.S. 如果我更改行
中的值int coords[] = {0, 0}
任何其他数字,然后一切正常,没有任何内容被删除。此外,应用程序不同部分(其他片段)中的相同代码片段(copy-pasted)开始工作。
Is it a bug, or a feature, or did I miss something?
这 不是 错误,这是一个 功能 来优化您的代码。
根据您的代码,第二个参数被以下逻辑引用为 READ ONLY 并且其值为 FIXED 0。
Proguard 将使用此 KNOWN FIXED 值以简化调用流程。