Java編譯器不保留任何接口的參數名稱,除非使用較新的編譯器選項-parameter(我不確定如何在android studio中使用它) - 請參考下面的示例。Android Studio - 實現方法和參數名稱
由於java編譯器不保存參數名稱,因此Android Studio「代碼 - >實現方法」無法使用原始參數名稱生成代碼。
問題是,如何實現一個庫模塊,以便Android Studio Menu,Code-> Implement Methods能夠正確生成包含所有原始參數名稱的代碼。
例如,以下是一個簡單的類和一個接口。這個課程在一個單獨的模塊中。當應用程序使用此AAR時,實現TablaListener並要求AndroidStudio生成接口方法存根,參數名稱不會保留。
請注意,不使用proguard。
任何想法?
public class TablaCore {
public interface TablaListener {
/**
* @param params
* @param data
* @return
*/
boolean TablaCore_onAction(String params, byte[] data);
}
private static TablaListener mListener = null;
public static void setListener(TablaListener myListener) {
mListener = myListener;
}
public TablaListener getListener() {
return mListener;
}
}
通過編譯和反編譯以上類很容易。這是反編譯版本
public class TablaCore
{
private static TablaListener mListener = null;
public static void setListener(TablaListener myListener)
{
mListener = myListener;
}
public TablaListener getListener()
{
return mListener;
}
public static abstract interface TablaListener
{
public abstract boolean TablaCore_onAction(String paramMessageParams, byte[] paramArrayOfByte);
}
}