У меня есть приложение, опубликованное в магазине игр с включенными правилами proguard, и я получаю некоторые отчеты об ошибках из Android версий 4.4 и 4.2 с этой ошибкой трассировки
java.lang.IllegalStateException:
at android.view.View$1.onClick (View.java:3949)
at android.view.View.performClick (View.java:4633)
at android.view.View$PerformClick.run (View.java:19270)
at android.os.Handler.handleCallback (Handler.java:733)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:146)
at android.app.ActivityThread.main (ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative (Method.java)
at java.lang.reflect.Method.invoke (Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1099)
at dalvik.system.NativeStart.main (NativeStart.java)
Caused by: java.lang.NoSuchMethodException:
at java.lang.Class.getConstructorOrMethod (Class.java:472)
at java.lang.Class.getMethod (Class.java:857)
at android.view.View$1.onClick (View.java:3942)
at android.view.View.performClick (View.java:4633)
at android.view.View$PerformClick.run (View.java:19270)
at android.os.Handler.handleCallback (Handler.java:733)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:146)
at android.app.ActivityThread.main (ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative (Method.java)
at java.lang.reflect.Method.invoke (Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1099)
at dalvik.system.NativeStart.main (NativeStart.java)
Поскольку нет ссылки на method
, который называется, или Activity
, и я не могу его воспроизвести, я понятия не имею, как я мог это исправить. (Большая часть проекта написана на Java, хотя некоторые классы на kotlin)
В файле proguard я исключил модели доменов и некоторые модификации, например:
# Application classes that will be serialized/deserialized over Gson
-keep class com.example.mypackage.DataModel.** { *; }
-keep class com.example.mypackage.WS.** { *; }
Заранее спасибо!