Android proguard rule for databinding

50 Views Asked by At

I have used onclick databinding in my layout files

 <data>

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

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

My interface file

package com.example.ui

import android.view.View

interface ClickHandler {
    fun onClick(view: View)
}

Whenever i try to build the project i get following error

Expected field or method name at D:\Second Repo\app\build\intermediates\aapt_proguard_file\release\aapt_rules.txt:480:33 -keepclassmembers class * { *** @{(v)-> clickHandler.onClick(v)}(android.view.View); } ^

1

There are 1 best solutions below

0
sgjesse On

AAPT2 expects a method name for the android:onClick attribute, and will generate keep rules based on that assumption.

See https://issuetracker.google.com/296914102.