2012-01-31 4 views
0

У меня есть приложение для Android, которое разбивается со следующей ошибкой.GSON NoSuchFieldError Exception in Android

Caused by: java.lang.NoSuchFieldError: com.google.gson.FieldNamingPolicy.IDENTITY 
at ir.<init>(App:72) 
ja.a(App:653) 
at ja.doInBackground(App:1) 
at android.os.AsyncTask$2.call(AsyncTask.java) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
... 4 more 
App crashed! Process: com.company.app 

Это не врезаться на моем Nexus S работает Android 4.0 ICS, однако это происходит сбой на другом тестовом устройстве бета, что у меня нет доступа. Я использую библиотеку Google GSON 2.1.

Я также использую ProGuard однако, если это было причиной проблемы, я думаю, что также вызовет проблемы на моем Nexus S.

Любая идея, почему это не произошло бы на моем тестовом устройстве и как я могу решить проблема?

+0

http://developer.android.com/reference/java/lang/NoSuchFieldError.html -> «Обратите внимание, что это может произойти только тогда, когда несовместимые файлы классов ». Возможно, проблема с версией для Android? – joni

+0

Как бы файлы классов были непоследовательными? Поле, на которое оно ссылается, является библиотекой, которую я распространяю с помощью приложения, com.google.gson v2.1 – Luke

+0

Я не знаю, как это было написано в справочнике Android ... – joni

ответ

2

Эта проблема вызвана пользовательским Android-ROM, я предполагаю, что непоследовательные файлы классов в ПЗУ вызывали проблему, как было предложено в комментариях к вопросу.

2

Я установил его, пропустив GSON от обфускации.

-keep класс com.google.gson.Gson {*}

+0

Добро пожаловать на SO. Возможно, вы могли бы добавить больше объяснений этому решению. Пожалуйста, ознакомьтесь с FAQ: http://stackoverflow.com/faq, чтобы узнать, как сделать хороший пост :) С уважением – ForceMagic