首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DexOpt:使用Gson TypeToken进行非法方法访问

DexOpt:使用Gson TypeToken进行非法方法访问
EN

Stack Overflow用户
提问于 2016-08-31 22:12:11
回答 1查看 340关注 0票数 3

我不知道从什么时候开始,但现在当我将我的应用程序部署到android设备上时,我在logcat控制台中看到了以下日志:

代码语言:javascript
复制
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

似乎没有任何相关的问题,我的应用程序仍然在工作,但我不喜欢看到启动顺序中的错误,我担心它以后会隐藏一些bug。

ClapService类简单地导入TypeToken包,如下所示:

代码语言:javascript
复制
import com.google.gson.reflect.TypeToken;

并以各种方式使用它,就像这样:

代码语言:javascript
复制
private Object getPartialConfig(String settingName, TypeToken<?> typeToken) {
...
}

或者类似这样的东西:

代码语言:javascript
复制
private LocalizationConfig getLocalizationConfig() {
        return (LocalizationConfig)getPartialConfig("localizationSettings", new TypeToken<LocalizationConfig>() {});
    }

如果有人能给我解释这个错误,并告诉我如何摆脱它,我会非常感激。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-01-16 22:10:03

尝试将空构造函数添加到ClapService

代码语言:javascript
复制
public ClapService() {
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39252016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档