如何阻止Proguard删除types参数?

我目前正试图混淆一系列图书馆。 我的基本库包含几个使用types参数的类和方法,由于Proguard混淆处理删除了types参数,所以其他代码无法使用它。 消除混淆消除了这些问题。 我已阅读了所有的ProGuard使用说明文档,示例和疑难解答,但一直未能find有关如何处理types参数或ProGuard的哪些方面去除types参数的任何文档。

构造器types参数问题:

库1包含以下类:

public abstract class AbstractFactoryFactory<T> 

库2包含几个扩展上述类的类,但构造函数抛出一个编译器错误,指出:

 error: type AbstractFactoryFactory does not take parameters 

返回types参数问题:

库1具有以下方法的Foo类:

 public List<String> doSomething() 

Libary 2尝试使用doSomething方法,但是在混淆之后,该方法返回一个无types的列表,该列表生成以下编译器错误,该错误指出:

 error: incompatible types Object 

Proguard.cfg

 -dontoptimize -renamesourcefileattribute SourceFile -keepparameternames -keepattributes Exceptions,*Annotation*,InnerClasses,SourceFile,LineNumberTable,Deprecated -keep public class * { public protected *; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembernames class * { java.lang.Class class$(java.lang.String); java.lang.Class class$(java.lang.String, boolean); } -keepclasseswithmembernames class * { native <methods>; } -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } 

Solutions Collecting From Web of "如何阻止Proguard删除types参数?"