- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我不知道从什么时候开始,但现在当我将我的应用程序部署到 Android 设备时,我在 logcat 控制台中看到了这些日志:
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
似乎没有任何与此相关的问题,我的应用程序仍在运行,但我不想看到启动顺序中的错误,我担心它可能会在以后隐藏一些错误。
ClapService
类只需像这样导入 TypeToken 包:
import com.google.gson.reflect.TypeToken;
并以各种方式使用它,例如:
private Object getPartialConfig(String settingName, TypeToken<?> typeToken) {
...
}
或者像这样:
private LocalizationConfig getLocalizationConfig() {
return (LocalizationConfig)getPartialConfig("localizationSettings", new TypeToken<LocalizationConfig>() {});
}
如果有人能向我解释这个错误并告诉我如何摆脱它,我将不胜感激。谢谢!
最佳答案
尝试向 ClapService
添加一个空构造函数
public ClapService() {
}
关于android - DexOpt : illegal method access with Gson TypeToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39252016/
最近,我将我的 gradle 版本从 4.0.0 更新到了 7.0.3。此更新后,获取 dexOptions 已过时警告。尽管如此,我仍然可以编译该项目,但不知道如何修复此警告。这就是我目前的实现,
我正在生成一个用于测试的应用程序,但最终它显示错误 java.lang.OutOfMemoryError: GC 开销限制超出错误。 为了解决这个问题,我遵循了此link上的解决方案. 我已在模块 b
我的 Android 构建 ~~ 是 ~~ 非常慢。 3-5 分钟。 我删除了很多依赖项,现在可以在没有 multidex 的情况下构建 - 耶。 尽管如此,我问自己手动设置巨型模式是否有意义....
我在 Android Studio 中使项目使用一些 .so 文件。我犯了一个错误,我更改了项目中的 .so 文件。我在 eclipse 中有类似的项目,我将 .so 文件复制到 Android st
dexOptions.incremental等是什么意思任何机构都可以向我解释。 dex options android { dexOptions { incremental
尝试运行 gradle build 时,我在 Android Studio 2.2 中收到以下警告: 警告:android.dexOptions.incremental 属性已弃用,它对构建过程没有影
Google 正在从 Dalvik 迁移到 ART(Android 运行时)。 我试图了解它将如何提高性能。 我找到的最好的解释是下图: 其中一个发生变化的主要组件是 dexopt 到 dex2oat
首先,我在主模块(:app)上设置了完整版的Gradle设置,其他模块是:核心,常量,反馈......等 当 Gradle 构建运行时,标题中提到的所有设置都会应用于其他模块(从:app,到:core
Android shell 命令 dexopt 的作用是什么? 我在哪里可以找到手册? 最佳答案 dexopt 是一个系统内部工具,用于生成优化的 dex files . 源代码可在此处获得:http
我不知道从什么时候开始,但现在当我将我的应用程序部署到 Android 设备时,我在 logcat 控制台中看到了这些日志: 08-31 10:01:45.437 2157-2219/com.comp
在 build.gradle 中,我们可以添加该参数 android { dexOptions { incremental preDexLibraries
我无法从 android studio 运行应用程序到运行 android 2.3.6 的 samsumg 手机。我收到应用程序安装失败弹出窗口,请参阅下面的屏幕截图。 当我单击“确定”时,日志中出现
根据 this post它允许在 dex 文件中使用更多的字符串,但我真的不明白它的含义以及对构建的影响。 最佳答案 Jumbo mode pertains to the number of stri
我迁移到 Android studio 3.0。因此,该项目无法编译名为“:animator”的模块,并显示此错误: Error:Unable to resolve dependency for
我有一个非常大的 Android 项目,其中包含多个大型第 3 方 jar(如 Android 库)。 我相信我已经达到了 Dex 的最大方法限制(通过 eclipse 编译): [2012-11-1
我是一名优秀的程序员,十分优秀!