android – Proguard保留接口和抽象类的参数名称

前端之家收集整理的这篇文章主要介绍了android – Proguard保留接口和抽象类的参数名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图阻止proguard从混淆接口(或抽象类)方法参数.

让我说我的lib中有这个接口:

package com.mypackage;
public interface MyLibListener {
    void onSomething(boolean success,String message); 
}

这个proguard文件

-keepparameternames
-keep interface com.mypackage.MyLibListener {
    *;
}

然后我组装发布,我得到:

package com.mypackage;
public interface MyLibListener {
    void onSomething(boolean var1,String var2);
}

抽象类或使用@Keep注释也是如此.混淆选项keepparameternames似乎只适用于常规类.任何的想法?谢谢!

(相关SO:How to not obfuscate interface methods & it’s parameters using Progaurd in android?Proguard keep interface method variable names)

解决方法

将ProGuard options添加到您的配置中.

-keepattributes MethodParameters

如果您的类文件是hava方法参数元数据(使用Java8 -parameters等编译而成……),ProGuard将保留元数据.

猜你在找的Android相关文章