gpt4 book ai didi

android - Proguard with Butterknife 防止混淆类名

转载 作者:行者123 更新时间:2023-11-30 00:31:22 28 4
gpt4 key购买 nike

由于 Butterknife 使用反射来生成与每个使用的 activityfragment 关联的类。由于 Proguard 会忽略这些类并且不会在其规则中对其进行混淆。

找到一个解决方法是使用 Butterknife 生成的类,方法是将 ButterKnife.bind(this) 替换为新的 Whatever_ViewBinder(this) 并在我的代码中使用它们。这确实有效,Progurad 混淆了我的类(class)。但这里唯一的问题是我必须将它们从 Debug 文件夹复制到我的包中,以免被更改/删除。并在我每次添加/删除 View 时更新它。 source

我发现的另一个问题说使用数据绑定(bind)更好 Butterknife vs Data Binding .但现在更改整个代码为时已晚

如果您发现任何解决方法,请分享。我正在使用 Butterknife v8.6.0。如果这有任何帮助

最佳答案

您甚至使用 #746 链接到您自己的答案.

[...] until I remove all imports of Butter Knife from the class, Proguard doesn't work on it.

这是因为在 9.0 版之前,Proguard 规则是随 Butter Knife 本身一起提供的。

The ProGuard rules will be separated in 9.0 when using the generated code API becomes stable.

所以基本上不可能轻松地完成您打算做的事情。最好的办法是 fork Butter Knife 并从 build.gradle 中删除 consumerProguardFiles 定义。然后等9.0版本出来再用原来的。

关于android - Proguard with Butterknife 防止混淆类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44276007/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com