我用的是最新的adt-bundle-windows-x86_64-20130717
, with
- Android SDK 工具 - 22.0.4
- Android SDK 平台工具 - 18
我曾尝试在模拟器 2.3.3 上安装应用程序,适用于 ARM 和 Intel。然而,它不再起作用(在我使用最新的 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@[email protected]@classes.dex' res = 11
请注意,如果我使用模拟器 4.1.2,则不会出现该问题
大多数时候与 LinearAlloc 值过高有关。为 logcat 设置详细模式可以为您提供更多详细信息(甚至可以查明问题)。
我听说没有明确的修复方法。有时可以通过擦除 AVD 来修复,有些仅通过增加 SD 卡来修复,有些必须重新创建新的 AVD,有些通过重新安装 ADT 来修复,人们谈论的修复有很多,答案可以根据实际问题而变化。
有时问题可能是文件损坏或应用程序安装条目导致 Android 混淆应用程序是否已安装。或者使用复杂的库,甚至编译器本身的问题。
Google 没有提供关于此错误的大量明确信息,他们表示这与 Android 操作系统中的一个错误有关,该错误在某些情况下不会释放文件句柄。然而,当查看 logcat 时,它总是连接到一些 dex 文件。以及DDMS和编译器。
我建议您尝试我所说的所有修复,另请参阅给定的链接
问题 22586:Dexopt 因深层接口层次结构“超出 LinearAlloc”而失败
从 iftable 中清理冗余接口以避免过度使用 LinearAlloc
问题 42538:INSTALL_FAILED_DEXOPT 通过 dex.disable.merger=true 解决
如果一切失败,请输入您的详细 logcat
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)