proguard规则对某些Java文件不起作用。

问题描述 投票:0回答:1

我使用的是房间数据库库,界面上的方法是

@Query(Select * from employee where deptName = :DeptName)
List<Employee> getAllEmployeeFrom(deptName: String);

我已经应用了proguard规则。

-keep interface androidx.* { *; }
-keepclasseswithmembernames public interface packagename.dao.*{*;}
-keepclasseswithmembernames public class packagename.dao.*$DefaultImpls{*;}

但最后生成的类在经过proguard混淆后是:

@Query(Select * from employee where deptName = :DeptName)
List getAllEmployeeFrom(deptName: String);

这里没有List。请帮我理解为什么要改变List类型。同样的代码用Kotlin写的也能正常工作。我无法将Java文件迁移到Kotlin中。必须为java文件写proguard规则。

java android kotlin proguard android-room
1个回答
0
投票

选项-keep指定了需要保留的应用程序的入口点。

-keep class packageName.Employee ** { *; }
-keepclassmembers class packageName.Employee ** { *; }
© www.soinside.com 2019 - 2024. All rights reserved.