用于数据绑定的 Android proguard 规则

Android proguard rule for databinding

提问人:Aagam Shah 提问时间:10/5/2023 更新时间:10/9/2023 访问量:21

问:

我在布局文件中使用了 onclick 数据绑定

 <data>

        <variable
            name="clickHandler"
            type="com.example.ui.ClickHandler" />
 </data>

<TextView
        android:onClick="@{(v)-> clickHandler.onClick(v)}"/>   <!-- used it like this -->

我的接口文件

package com.example.ui

import android.view.View

interface ClickHandler {
    fun onClick(view: View)
}

每当我尝试构建项目时,我都会收到以下错误

D:\Second Repo\app\build\intermediates\aapt_proguard_file\release\aapt_rules.txt:480:33 处的预期字段或方法名称 -keepclassmembers class * { *** @{(v)-> clickHandler.onClick(v)}(android.view.View); ^

安卓 proguard android-databinding android-r8

评论


答:

0赞 sgjesse 10/9/2023 #1

AAPT2 需要属性的方法名称,并将根据该假设生成保留规则。android:onClick

请参见 https://issuetracker.google.com/296914102