Я работаю над приложением Android, и мы работаем как команда. Я сталкиваюсь с серьезной проблемой. И именно тогда, когда я пытаюсь получить данные из намерения, это дает мне следующее исключение
Посылка android .os. Parcel@355932a: Unmarshalling неизвестный код типа 4784211 по смещению 712
Я знаю, что на SO есть много вспомогательных материалов, связанных с этой проблемой, но мой случай отличается и тихий ум ошеломляет .....
Вот быстрый код, чтобы увидеть, как я получаю свой объект
try {
if (data.hasExtra("KEY_MY_MODEL")) {
MyCustomModel newSelectedModel = data.getParcelableExtra("KEY_MY_MODEL");
//DO SOME THING WITH OBJECT
}
} catch (Exception e) {
e.printStackTrace();
}
Case1: Я получаю исключение на первая строка if (data.hasExtra ("KEY_MY_MODEL")) {
, и это довольно забавно, потому что, когда я проверяю объект намерения (данные) во время отладки и если я смотрю на объект намерения используя отладку, я вижу все свои объекты.
Ключи получения объекта одинаковы, если в любом случае ключ неправильный, я думаю, что код внутри условия if не должен запускаться. как он вернет ложь.
Но вместо того, чтобы возвращать false, он дает вышеупомянутое исключение.
Case2: Как я уже говорил, мы работаем в команде, тот же набор кода отлично работает в другой системе, но когда я запускаю приложение из своей системы и устанавливаю приложение на устройство, это исключение, которое я упомянул выше.
Это очень расстраивает. Я думаю, что с proguard что-то не так, как я читаю на SO, но это все равно не помогает Любая идея, почему это происходит? Это выглядит как большая ошибка.
Примечание: я использую AS 3.5, и в другой системе используется AS 3.5, даже если у нас такой же набор sdk, конфигурации и другие вещи тихие идентичны с обеих сторон ...