复现前提
1、Android-debug打包正常,但release打包异常。
log提示信息
proguard.ParseException: Expecting class member name before '@' in Android
原因分析
1、很显然,是混淆导致的;
2、但是我们没有手动写过
-keepclassmembers class * { *** @{click::OnClick}(android.view.View); }
而且也无法搜索到相关的混淆逻辑
3、那就只有可能是android自己生成的,事实也的确如此,它是由于使用了dataBinding自动生成的
4、那为什么突然报错呢,因为在使用
android:onClick="@{click::OnClick}"
的时候没有声明click导致的
image.png
5、如上图所示,删除即可。









网友评论