我製作了一個在模擬器中正常工作並在我的實際設備上進行調試的Android應用程序。與GSON的Android應用程序在調試模式下工作,但不是在運行簽名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輸出,最終異常等) – 2011-12-27 11:41:59
logcat輸出不會產生任何相關和有用的信息,我也沒有任何例外。我完全意識到這個問題是模糊的,如果有例外情況會更容易弄清楚。令我困擾的是,顯然它與簽署vs調試有關,我認爲也許其他人遇到過類似的問題。 – Eivind 2011-12-27 12:03:16