MVPHelper外掛之混淆報錯 ClassCastException: Object cannot be case to xxx
阿新 • • 發佈:2018-11-12
之前在android stduio裡用mvphelper自動生成,最近要發包,加了混淆
打了個release包開啟直接崩了,檢視日誌顯示是獲取的model為null。
以為是泛型的問題,但是加了過濾泛型
-keepattributes Signature
最後想了很多都是不知道為什麼
打log跟進類的轉換
public static <T> T getT(Object o, int i) { try { return ((Class<T>) ((ParameterizedType) (o.getClass() .getGenericSuperclass())).getActualTypeArguments()[i]) .newInstance(); } catch (InstantiationException e) { } catch (IllegalAccessException e) { } catch (ClassCastException e) { } return null; }
還是不行,但是網上有人不是混淆的原因,還是貼出來供大家參考自己的原因
最後猛然醒悟是混淆的原因把Model類給混淆了,所以object不能轉換成model型別。
在混淆裡
-keep class xxxx.model類
至此完美解決,多思多想,不要拘泥於一個小地方抓著不放