Я запускаю ProGuard для моей сборки релиза и стараюсь как можно больше оптимизировать его. Единственными настраиваемыми правилами, которые я добавил до сих пор, являются Serialization и Facebook. Теперь я запускаю свою сборку релизов, и я получаю трассировку стека, и то, что она отображает, действительно отбрасывает меня. Вот мой трассировки стека:Android - ошибка Proguard со статической строкой
java.lang.NullPointerException
E/AndroidRuntime(10842): at com.myapp.android.myapp.dh.a(Unknown Source)
E/AndroidRuntime(10842): at android.support.v4.app.Fragment.b(Unknown Source)
E/AndroidRuntime(10842): at android.support.v4.app.w.a(Unknown Source)
E/AndroidRuntime(10842): at android.support.v4.app.p.onCreatePanelMenu(Unknown Source)
E/AndroidRuntime(10842): at android.support.v7.a.g.a(Unknown Source)
E/AndroidRuntime(10842): at android.support.v7.a.m.a(Unknown Source)
E/AndroidRuntime(10842): at android.support.v7.a.g.onCreatePanelMenu(Unknown Source)
В отображении com.myapp.android.myapp.dh.a является:
com.myapp.android.myapp.LocalFragment -> com.myapp.android.myapp.dh:
java.lang.String USER_ACCOUNT -> a
В моем фактическом коде это:
public static String USER_ACCOUNT = "com.myapp.android.myapp.LocalFragment.user_account";
сейчас эта константа используется в нескольких местах по всему фрагменту, но она никогда не должна быть нулевой. Кто-нибудь видел такую проблему раньше? Есть ли у Proguard странные вещи со статикой?
Редактировать: Эта ошибка возникает, и приложение падает в основном, как только я принимаю действие, которое будет загружать этот фрагмент.
EDIT AGAIN После немного большего расследования я ошибался в отношении того, что было. a был Статический член, но a также является методом. Это метод onCreate. Я также видел эту ошибку в LogCat перед NPE брошен в OnCreate:
W/SupportMenuInflater(10842): Cannot instantiate class: android.support.v7.widget.SearchView
W/SupportMenuInflater(10842): java.lang.NoSuchMethodException: <init> [class android.content.Context]
W/SupportMenuInflater(10842): at java.lang.Class.getConstructorOrMethod(Class.java:472)
W/SupportMenuInflater(10842): at java.lang.Class.getConstructor(Class.java:446)
W/SupportMenuInflater(10842): at android.support.v7.internal.view.e.a(Unknown Source)
W/SupportMenuInflater(10842): at android.support.v7.internal.view.e.a(Unknown Source)
W/SupportMenuInflater(10842): at android.support.v7.internal.view.c.a(Unknown Source)
W/SupportMenuInflater(10842): at android.support.v7.internal.view.c.inflate(Unknown Source)
W/SupportMenuInflater(10842): at com.myapp.android.myapp.dh.a(Unknown Source)