Fix proguard keep rule for constructors.
Proguard expects either the full qualified name or <init> for constructors.
Before (invalid keep rule):
-keep class com.google.android.Foo {
Foo(java.lang.String);
}
After:
-keep class com.google.android.Foo {
<init>(java.lang.String);
}
Change-Id: I9d7feaafe112fafb1f58ae534ed915e69033a36c
diff --git a/src/com/google/doclava/Stubs.java b/src/com/google/doclava/Stubs.java
index fa82802..65aa8d8 100644
--- a/src/com/google/doclava/Stubs.java
+++ b/src/com/google/doclava/Stubs.java
@@ -1537,9 +1537,7 @@
static void writeConstructorKeepList(PrintStream keepListWriter, MethodInfo mi) {
keepListWriter.print(" ");
- String name = mi.name();
- name = name.replace(".", "$");
- keepListWriter.print(name);
+ keepListWriter.print("<init>");
writeParametersKeepList(keepListWriter, mi, mi.parameters());
keepListWriter.print(";\n");