Ich weiß nicht, seit wann, aber jetzt, wenn ich meine App zu einem Android-Gerät bereitstellen, sehe ich diese Protokolle in der logcat Konsole:DexOpt: illegale Methode Zugang mit Gson TypeToken
08-31 10:01:45.437 2157-2219/com.company.clap I/dalvikvm: DexOpt: illegal method access (call Lcom/google/gson/reflect/TypeToken;.<init> (Ljava/lang/reflect/Type;)V from Lcom/company/clapcore/service/ClapService$2;)
08-31 10:01:45.437 2157-2219/com.company.clap I/dalvikvm: Could not find method com.google.gson.reflect.TypeToken.<init>, referenced from method com.company.clapcore.service.ClapService$2.<init>
08-31 10:01:45.437 2157-2219/com.company.clap W/dalvikvm: VFY: unable to resolve direct method 15655: Lcom/google/gson/reflect/TypeToken;.<init> (Ljava/lang/reflect/Type;)V
08-31 10:01:45.437 2157-2219/com.company.clap D/dalvikvm: VFY: replacing opcode 0x70 at 0x0033
08-31 10:01:45.767 2157-2219/com.company.clap I/dalvikvm: DexOpt: illegal method access (call Lcom/google/gson/reflect/TypeToken;.<init> (Ljava/lang/reflect/Type;)V from Lcom/company/clapcore/service/ClapService$1;)
08-31 10:01:45.767 2157-2219/com.company.clap I/dalvikvm: Could not find method com.google.gson.reflect.TypeToken.<init>, referenced from method com.company.clapcore.service.ClapService$1.<init>
08-31 10:01:45.767 2157-2219/com.company.clap W/dalvikvm: VFY: unable to resolve direct method 15655: Lcom/google/gson/reflect/TypeToken;.<init> (Ljava/lang/reflect/Type;)V
08-31 10:01:45.767 2157-2219/com.company.clap D/dalvikvm: VFY: replacing opcode 0x70 at 0x0033
doesn Es‘ Es scheint, als ob irgendein Problem damit verbunden ist, meine App funktioniert immer noch, aber ich hasse es, Fehler in der Boot-Sequenz zu sehen, und ich befürchte, dass sie später einige Bugs verbergen könnte.
Die ClapService
Klasse einfach importieren Sie die TypeToken Paket wie folgt aus:
import com.google.gson.reflect.TypeToken;
Und es auf vielfältige Weise verwenden, wie diese:
private Object getPartialConfig(String settingName, TypeToken<?> typeToken) {
...
}
oder etwas wie folgt aus:
private LocalizationConfig getLocalizationConfig() {
return (LocalizationConfig)getPartialConfig("localizationSettings", new TypeToken<LocalizationConfig>() {});
}
Wenn mir jemand diesen Fehler erklären und mir sagen kann, wie ich ihn los werde, würde ich wirklich ap beurteile es. Vielen Dank!
Ich habe so ziemlich das gleiche Problem. Hast du eine Lösung gefunden? –
Noch nicht. Habe immer noch dieselben Informationen in den Logs! –