2012-05-03 3 views
0

私のインタフェースを逆コンパイルした後で、私の実装したメソッドが上層のインタフェースに複製されていることが分かりました。proguardのメソッドをコピーするには

がここ

package com.company.project.f.a.a; 


import java.util.List; 
import org.apache.log4j.Logger; 

@Component(value="ServiceImpl") 
public class a 
{ 

    public b a(int i) 
    { 
     if((i = b.a(i)) != null) 
     { 
      if(i.size() == 0) 
      { 
       a_.fatal("It is expected at least one record."); 
       return null; 
      } else 
      { 
       return (b)i.get(0); 
      } 
     } else 
     { 
      return null; 
     } 
    } 

    public a() 
    { 
     a_ = Logger.getLogger(getClass()); 
    } 

    public com.company.project.b.a.a a() 
    { 
     return b; 
    } 

    public void a(com.company.project.b.a.a a1) 
    { 
     b = a1; 
    } 

    private com.company.project.b.a.a b; 
    Logger a_; 
} 

(でも実装から注釈を追加したことProGuardのに注意してください)私のインターフェースは難読化後にどのように見えるかだ同じ問題同じコンポーネントを持つクラスへのインタフェースを変換する以下のクラス(ProGuardので起こりました名前)

@Component("testDao") 
public class TestDaoImpl implements TestDao { 

    @Override 
    public void testing() { 
     // TODO Auto-generated method stub 

    } 

答えて

0

はそれを解決: は、MRエリックlafortuneによれば、オプティマイザは、インターフェースおよびクラスをマージされます。 私は

-dontoptimize 
関連する問題