我正在为Java jar文件使用Allatori混淆器,当声明期间没有初始化的变量但只有初始化的变量而不是final生成异常时,它可以很好地工作:[ERROR] Only final fields may have an initial value!
我不想取消初始化变量,应该怎么做才能跳过此异常?
有什么建议吗
最佳答案
据报道,这已经由Allatori供应商(Smardec Inc)确认为错误。 Mahmoud M.Hammad在其博士论文Self-Protection of Android Systems from Inter-Component Communication Attacks 2018中陈述了以下内容。
“例如,Allatori提出了这个例外:“ com.allatori.IiIIIIiiii:只有最终字段才可以具有初始值!”在许多应用程序上,我们就此例外情况与Allatori提供商联系,后者告知我们该问题已由其他用户报告,但无法重现。因此,我们帮助他们重现了该问题,以改进其产品。该异常主要是由于使用dex2jar引起的,尽管该异常的修复仍在进行中。”
在Hammad的论文中,我没有提到Allatori的特定版本,但是很有可能该错误已在最新版本中修复。检查您是否正在使用该工具的最新版本。您也可以就此与供应商联系。
如何跳过错误?
我认为你不能。
1 ...假设您拥有合法副本。有人(假设!)使用盗版或不受支持的专有混淆器副本来保护自己的软件的想法很讽刺。