如您所见,方法 showTipHoodLock 具有两个参数,分别是 fragmentManager 和 top (有些偏移)
但是在我使用 minifyEnabled true
编译应用程序之后如您所见,proguard从方法签名中删除了第二个参数(名为 top ),并用 0 文字替换了它的出现。
是错误还是功能,还是我错过了什么?
PS (如果我更改了
行中的值) 100 200
2018-10-17T06:31:21.364556Z 0 [Warning] InnoDB: New log files created, LSN=2939944
wampmysqld64: Table 'mysql.plugin' doesn't exist
2018-10-17T06:31:21.748646Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2018-10-17T06:31:21.749764Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-10-17T06:31:21.754394Z 0 [Warning] Failed to open optimizer cost constant tables
2018-10-17T06:31:21.803432Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2018-10-17T06:31:21.804295Z 0 [ERROR] Aborting
到任何其他数字,则一切正常,并且不删除任何内容。而且,在应用程序的不同部分(在另一个片段中)的相同代码片段(已复制粘贴)开始工作。
答案 0 :(得分:1)
是错误还是功能,还是我错过了什么?
这是不是错误,这是用于优化代码的功能。
根据您的代码段,第二个参数被以下逻辑引用为只读,其值为固定为 0 。
Proguard会使用以下 KNOWN FIXED (已知固定)值删除此参数(一种Proguard优化:删除未使用的参数或传播常量参数)。简化调用流程。