私の実際のデバイスでデバッグする際、エミュレータでうまく動作する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の出力、最終的な例外など) –
logcat ouputは関連性のある有用な情報を出力しません。例外はありません。私はこの質問があいまいであることを十分に認識しています。例外がある場合は、把握するのがずっと簡単でした。私にとって気になるのは、明らかに、デバッグとサインすることとは何か関係があり、他の人が同様の問題に遭遇した可能性があるということです。 – Eivind