如何解决INSTALL_FAILED_DEXOPT这个错误?
我正在开发android应用程序使用android 2.2,我的应用程序的apk大小是22.5 mb,现在我想为三星tablet.I得到这个错误
INSTALL_FAILED_DEXOPT
如何解决这种错误。
从Android SDK and AVD Manager
重新启动模拟器,并select“ Wipe User Data
”选项已经解决了我的这个问题。
您可以在下面给出的图像中突出显示该选项:
您正在安装的应用程序的旧版本具有已更改的相关库/jar子。 在更新我的应用程序正在进行的其他jar文件时,我遇到了这个问题。
您将需要卸载旧版本,然后你应该没有更多的问题…
设置 – >应用程序 – >pipe理应用程序 – > [查找和卸载您的应用程序]
INSTALL_FAILED_DEXOPT错误不应该爆发。 喜欢
[2011-06-14 01:23:40 - ProtectYourself] Installing ProtectYourself.apk... [2011-06-14 01:24:26 - ProtectYourself] Installation error: INSTALL_FAILED_DEXOPT [2011-06-14 01:24:26 - ProtectYourself] Please check logcat output for more details. [2011-06-14 01:24:26 - ProtectYourself] Launch canceled!
呃胡。
如果您正在使用Android Studio ,请尝试清理您的项目:
build立>清洁项目
看起来这个错误信息可能有许多不同的原因。 我遇到的情况是在一个真正的设备(所以模拟器的基础解决scheme不适用)。
基本上,如果发生这种情况,请将Logcat筛选器设置为“ 详细”或“ 警告” ,这将有助于获取有关原因的更多信息。
就我而言,在我正在进行的项目(一个大的现有代码库)中包含了多个或冲突的JUnit版本。 我试图部署的Android应用程序有几个库项目作为依赖关系,我错误地设置了包含多个JUnit jar文件的东西。
我发现这是基于一系列Logcat消息。 请注意,WARN行给出了原因:
DEBUG/dalvikvm(4808): DexOpt: 'Ljunit/framework/TestSuite$1;' has an earlier definition; blocking out 11-06 14:30:10.973: WARN/dalvikvm(4808): Invalid file flags in class Ljunit/runner/Sorter$Swapper;: 0209 11-06 14:30:10.973: null/libc(4808): Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 4808 (dexopt)
试试我的答案https://stackoverflow.com/a/34918549/3737254
如果你使用android studio 2.0,则禁用即时运行。
仅供参考,即时运行是来自android studio 2.0的新function(我从来没有使用>。)
如何禁用:首选项 – >构build,执行和部署 – >即时运行 – >禁用,然后像魔术一样工作
请享用!
我需要禁用即时运行来解决这个问题。 要在OS X上禁用即时运行,请转至Android Studio > 首选项 > 生成,执行,部署 > 即时运行,然后从“ Enable Instant Run to hot swap code/resource changes on deploy (default enabled)
删除勾号Enable Instant Run to hot swap code/resource changes on deploy (default enabled)
。
我正在使用Android Studio,并有相同的错误。
删除主Modul的生成文件夹帮助。 删除一切后恢复正常。
在构build中启用jumboMode标志( dex.force.jumbo=true
)后,我遇到了这个问题。 在新的Android设备上一切正常,但姜饼安装失败。
因此,如果您的应用程序由于恼人的65k限制而需要巨型模式,请尝试剪切一些未使用的代码/string,并将巨型模式设置为false。
classes.dex
不会使它到最后的.apk
。 运行gradlew --offline clean && gradlew --offline assembleDebug
每次都为我修改了一些东西。 从这一点开始,您可以再次从Android Studio启动应用程序。
编辑:之前我说上面去任务pipe理器,并杀死所有cmd.exe
和conhost.exe
进程(或只是一个在哪个卡住)。 否则, aapt
启动时, aapt
会从现在开始崩溃,并且声名-1073741819
错误-1073741819
。
我改变了模拟器的RAM大小和内部存储容量。 现在IT工作…在Eclipse的AVDpipe理器
INSTALL_FAIL_DEXOPT通常与对classes.dex的限制有关。 在任何情况下,任何超过5MB的ICS dexopt都将失败。 Android的最新版本使用8或16 MB的缓冲区。
检查APK中classes.dex的大小。 看看你的方法数量是多less,因为dex有65536个方法/域限制。
参考文献:
安装应用程序时出错(INSTALL_FAILED_DEXOPT)
如何缩小代码 – 65k的方法限制在dex
我卸载了该应用程序,但仍然收到INSTALL_FAILED_DEXOPT错误。 如果你正在使用Android Studio / gradle: gradle clean对我来说是个诀窍,干杯。
我得到了同样的错误,并通过增加内部存储的大小来修复它。
内部存储设备最初设置为32MB(我知道),然后我安装了几个apks,这比安装所需的空间less。
在build.gradle更改编译并构build到最新版本。 它为我工作。
================
android { compileSdkVersion 22 buildToolsVersion "22"
试图在2.3设备上安装时遇到此问题(在4.0.3上正常)。 它最终是由于我使用的一个lib项目有多个jar子已经在Android的东西,例如HttpClient和XMLparsing器等。看着logcat
导致我find这个,因为它告诉我,它正在跳过类,因为他们已经在场。 好的无益的原始错误那里!
我有一个真正的设备上的错误testing。 清理caching/卸载,重新启动一切都不适合我,删除生成文件夹的内容做:)(Android工作室)
有没有通用的解决scheme,你必须find你的Logcat上报告的错误,以便能够弄清楚。 有时,由于使用指定的目标API上不可用的类,因此无法“排除”类。 或者它可能是一个你在代码中引用的类,但是它所在的库没有被打包。
考虑使用proguard来缩小你的APK。 我有同样的问题,如果我尝试在旧的三星Galaxy Ace 2.3.6设备上安装一个大的25MB + APK没有与proguard缩小/优化代码。
超大模式并重新启动设备不起作用。
当我的方法名称中有一些Unicode字符(由于所有的事情,从一个Powerpoint文件复制/粘贴)Dalvik不喜欢,我有这个问题。 您可以通过在尝试安装APK时查看Logcat输出来看到这一点。
这是一个真正的设备。
通过在电话上更正date时间(这是一些默认date01.01.1980)解决,并清理项目。
我改变了我的版本的Android版本4支持sdk 21,并有这个错误。 所以我回到了旧版本的支持版本(21之前),它的工作。 该错误只发生在android 2.3
当我试图更新新的构build工具24.0.1时遇到了这个问题。 互联网连接丢失,工具没有成功下载,之后,我得到了这个错误,并花了很多时间试图解决它。 但是,当我成功地更新构build工具 – 问题解决了。 祝你好运。
确保你已经安装了所有的SDK,Gradle的目标是正确的版本。
我遇到了同样的问题,但是这是由于我将设备更新到Android 5.0,然后忘记更改我的所有版本以达到目标。
我尝试在这个线程和所有类似的线程说,但问题仍然存在的所有方法! 我的源代码中有15个Java接口; 消除他们解决我的问题 !
我遇到了这个问题,因为我使用的库有一些不匹配
通过更新android sdk解决最新。 检查SDKpipe理器,如果它显示更新,然后完全更新,清理您的项目,然后运行,它将工作:)
通过删除主应用程序的生成文件夹,该错误得到解决。它会再次重新创build。
由于这似乎是一个问题,我自己遇到了很多次,这次共享解决scheme没有帮助我,我仍然会发布什么帮助我个人和我相信可能会帮助别人在未来:
转到你的项目目录,findbuild / intermediates / dex-cache / cache文件。 删除它 – 顾名思义,它是一个caching的dex文件,如果您已经对项目的依赖关系进行了更改,则可能会过时。
如果您有错误INSTALL_FAIL_DEXOPT,请参阅manifest android:targetSdkVersion。 设置版本<21样本:
机器人:targetSdkVersion = “19”
这对我有效。
在android studio中点击File – > Invalidate caches / restart。 当我得到这个错误,当我在设备而不是模拟器上出现这个错误时,这对我来说是骗人的。
对于我来说,在一些使用Android 5.x的三星设备上导致了INSTALL_FAILED_DEXOPT。
也就是说,我不得不把这个添加到proguard – 不知道为什么它有帮助。
-keepattributes LocalVariableTable
- 在Android中进行实时audio录制和播放以及线程和callback处理
- Android:GridView auto_fit如何find列数?
- 内容提供者INSTALL_FAILED_CONFLICTING_PROVIDER(安装内容提供者作为一个单独的apk)
- 在ExecutorService上调用shutdown()的原因
- Android模拟器上的蓝牙支持
- Dagger2依赖 – Gradle
- 如何Android Holo主题样式对话框button
- java.io.FileNotFoundException:该文件不能作为文件描述符打开; 它可能是压缩的
- 在android中的活动之间传递非原始types的数据