5

我使用最新adt-bundle-windows-x86_64-20130717

  • Android SDK 工具 - 22.0.4
  • Android SDK 平台工具 - 18

我曾尝试在 ARM 和 Intel 模拟器 2.3.3 上安装应用程序。但是,它不再起作用(在我使用最新的 adt 之前,它曾经在我的同一台 Win64 机器上工作)

Installation error: INSTALL_FAILED_DEXOPT
Please check logcat output for more details.
Launch canceled!

我的模拟器设置如下。

在此处输入图像描述

我已经按照如何解决 INSTALL_FAILED_DEXOPT 这个错误?. 这对我的情况没有帮助。

请注意,带有 4.1.2 的模拟器非常适合 Intel。我什至尝试通过电子邮件发送 APK,然后从模拟器下载 -> 安装。但是,这就是我得到的Application not installed

在此处输入图像描述

有什么办法可以克服这个问题吗?

我的 logcat 有这样的日志记录

E/PackageManager(855): Package org.yccheok.jstock.gui has mismatched uid: 10031 on disk, 10033 in settings
E/dalvikvm(1241): LinearAlloc exceeded capacity (5242880), last=468
E/dalvikvm(1241): VM aborting
E/installd(798): dexopt failed on '/data/dalvik-cache/data@app@org.yccheok.jstock.gui-1.apk@classes.dex' res = 11

请注意,如果我使用的是模拟器 4.1.2,则不会出现此问题

4

4 回答 4

2

大多数时间与 LinearAlloc 的值过高有关。为 logcat 设置详细模式可以为您提供更多详细信息(甚至可以查明问题)。

我听说没有明确的修复方法。有时可以通过擦除 AVD 来修复,有的只通过增加 SD 卡来修复,有的必须重新创建新的 AVD,有的通过重新安装 ADT 来修复,人们谈到的修复方法很多,回答可以根据实际问题变化。

有时问题可能是文件损坏,或者是应用程序安装条目,这使 android 混淆了是否安装了应用程序。或者通过使用复杂的库,甚至是编译器本身的问题。

谷歌没有太多关于这个错误的明确信息,他们说这与 Android 操作系统中的一个错误有关,该错误在某些情况下不会释放文件句柄。然而,在寻找 logcat 时,它总是连接到一些 dex 文件。以及DDMS和编译器。

我建议您尝试我所说的所有修复,同时参考给定的链接

问题 22586:Dexopt 失败并显示“LinearAlloc 超出”以获取深层接口层次结构

从 iftable 中清理冗余接口以避免过度使用 LinearAlloc

问题 42538:由 dex.disable 解决的 INSTALL_FAILED_DEXOPT .merger=true


如果一切都失败了,请把你的详细 logcat

于 2013-07-31T06:05:10.733 回答
1

在重新安装之前尝试卸载您的应用程序。根据这个,它似乎已经解决了一些问题

于 2013-07-26T19:43:03.797 回答
1

升级 ADT 后我也遇到了同样的问题,我被这个问题卡住了将近半天。在每种 HIT 和 TRY 方法都找到了解决方案之后。

**

图书馆项目建设目标之一高于我的项目,只是将图书馆项目建设目标更改为 3.0,我的项目建设目标更改为 4.0.3 并且它消失了。

**

如果将来可以帮助其他人,请发布我的解决方案。

于 2013-09-06T05:52:09.500 回答
0

从您提供的信息中很难找出错误所在。

尝试以下

祝你好运!

于 2013-08-03T08:25:31.507 回答