You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建Release版本时aapt_rules.txt报错,求正确ProGuard规则

解决DataBinding点击事件的ProGuard规则错误

你遇到的构建错误来自AAPT自动生成的ProGuard规则格式问题,针对XML布局中通过android:onClick="@{listener::onClick}"绑定点击事件的场景,可通过以下正确规则解决:

核心规则

因为你的listener是android.view.View.OnClickListener接口类型,直接保留该接口的onClick方法即可:

-keepclassmembers class android.view.View.OnClickListener {
    public void onClick(android.view.View);
}

如果你的listener是自定义的实现类,可使用更精准的规则(替换为你的类全路径):

-keepclassmembers class com.your.package.YourClickListenerImpl {
    public void onClick(android.view.View);
}

补充规则(可选)

添加通用DataBinding保留规则,避免其他相关类被混淆:

-keep class * extends androidx.databinding.ViewDataBinding {
    public static * inflate(android.view.LayoutInflater);
    public static * inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean);
}

说明

当使用@{listener::onClick}这种方法引用时,ProGuard若混淆或移除onClick方法,会导致运行时找不到方法崩溃。上述规则强制保留目标方法,确保DataBinding能正常调用。

内容的提问来源于stack exchange,提问作者Deepak Rattan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:10:24