Я создал приложение для Android, которое отлично работает в эмуляторе и при отладке на моем самом устройстве.Android-приложение с GSON работает в режиме отладки, но не при запуске подписанного apk
Однако при запуске подписанного apk на устройстве моя десериализация GSON не работает.
Проблема возникает в этом коде:
public static void parseLanguage(String response) {
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setFieldNamingStrategy(new MyFieldNamingStrategy());
Gson gson = gsonBuilder.create();
_Helper.s = gson.fromJson(response, _Strings.class);
}
Я также использовать этот класс:
class MyFieldNamingStrategy implements FieldNamingStrategy {
//Translates the Java field name into its JSON element name representation.
@Override
public String translateName(Field field) {
return field.getName();
}
}
Я проверил, что строка с именем «ответ» является действительной строкой JSON, но фактическое заполнение _Strings.class не работает, и все строки, содержащиеся в _Strings.class, остаются пустыми.
Есть ли у кого-нибудь идеи, почему это происходит? Это происходит только при запуске подписанного apk, а вывод Logcat не показывает никаких исключений или трассировки стека вообще.
Никто. Если вы не публикуете больше информации (вывод logcat, возможные исключения и т. Д.) –
Вывод logcat не дает никакой важной и полезной информации, и я не получаю никаких исключений. Я полностью осознаю, что этот вопрос расплывчатый, и если бы было исключение, было бы намного легче разобраться. Меня беспокоит то, что, по-видимому, он что-то делает с подписанием vs debug, и я подумал, что, возможно, другие столкнулись с подобными проблемами. – Eivind