我有兩個接口Proguard的藏在心裏擴展另一個接口
public interface Base {
void methA();
void methB();
void methC();
}
和
public interface Sub extends Base {
@MyAnnotation("a")
void methA();
@MyAnnotation("b")
void methB();
@MyAnnotation("c")
void methC();
@MyAnnotation("d")
void methD();
@MyAnnotation("e")
void methE();
}
的ProGuard後,我有這樣的兩個接口接口重寫的方法
public interface a{
void a();
void b();
void c();
}
和
public interface b extends a{
@MyAnnotation("d")
void d();
@MyAnnotation("e")
void e();
}
但對於第二個我需要
public interface b extends a{
@MyAnnotation("a")
void a();
@MyAnnotation("b")
void b();
@MyAnnotation("c")
void c();
@MyAnnotation("d")
void d();
@MyAnnotation("e")
void e();
}
這意味着,我需要thier註解重寫方法。我不在乎方法名稱,我只需要註釋。
我無法設置的註解a
,b
和c
在基本接口,因爲我有2個,對於@MyAnnotation
所以設置其他值(也許以後更多)子接口,有沒有辦法告訴proguard將重複的方法名稱保留在子接口中?
我有 '-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*'它已經應該禁用合併了嗎?以感嘆號「!」開頭的優化被排除在與過濾器中後續優化名稱匹配的進一步嘗試之外。 – Dodge
甚至當我評論我的'-optimizations'行並添加'-dontoptimize'時,方法被刪除:( – Dodge
hmmm,這意味着實際原因不是優化。嘗試禁用'-dontshrink'縮小 – Jk1