android studio:总是失败[INSTALL_FAILED_DEXOPT]

时间:2015-01-03 18:57:22

标签: android-studio

我开始使用android studio,并且我成功地在模拟器上运行我的应用程序,
在有时成功之后,当我想再次运行我的申请时, 我收到错误
失败[INSTALL_FAILED_DEXOPT]
并要求我在模拟器中卸载我的应用程序。

点击OK后,我收到错误
未知的失败

当我尝试再次点击运行应用程序时,我收到另一个错误 失败[INSTALL_FAILED_UID_CHANGED]

我可以通过重建项目成功解决我的程序,并手动删除/ data / data和/ data / local / tmp中的包。
但经过几次运行后,问题又一次又一次地存在 我应该做些什么来阻止这个问题,因为它使我的调试非常困难。

以下是我收到的错误消息:

Waiting for device.
Target device: Nexus_4_API_19 [emulator-5554]
Uploading file
    local path: C:\Users\brian_000\AndroidStudioProjects\MyApplication\app\build\outputs\apk\app-debug.apk
    remote path: /data/local/tmp/com.example.brian.myapp
Installing com.example.brian.myapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.brian.myapp"
pkg: /data/local/tmp/com.example.brian.myapp
Failure [INSTALL_FAILED_DEXOPT]


DEVICE SHELL COMMAND: pm uninstall com.example.brian.myapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.brian.myapp"
pkg: /data/local/tmp/com.example.brian.myapp
Failure [INSTALL_FAILED_DEXOPT]


DEVICE SHELL COMMAND: pm uninstall com.example.brian.myapp
Unknown failure

4 个答案:

答案 0 :(得分:2)

Android SDK工具版本24.0.2遇到了同样的问题,似乎是工具版本24.0.2的问题。

如果你使用相同的,你可以尝试下面提到的解决方案,解决了我的问题。

从此处下载SDK r23版本

https://dl.google.com/android/android-sdk_r23.0.2-windows.zip

解压缩,打开SDK管理器并下载所有必需的sdk平台,支持存储库和Google存储库(如果需要)。

从“项目结构”对话框中将Android Studio项目指向此新SDK目录并运行您的应用程序。

这解决了我的问题。

您也可以尝试从Android工作室的adb命令安装应用程序,我没试过。

答案 1 :(得分:1)

似乎,如果您没有足够的空间来安装应用,那么我们就会收到此错误。 如果我卸载其他应用程序&然后尝试安装应用程序,问题得到解决。

答案 2 :(得分:0)

问题不在于SDK toole 24.0.2,而是在安装SDK工具时出现,并且未将项目设置为构建工具22.0.1。那样做,它会再次发挥作用。

答案 3 :(得分:0)

我有同样的问题,我通过清理项目并清理app文件夹中的build文件夹来修复它,然后我重新启动设备并且问题消失了,

你也可以做一些补丁并更改应用程序ID

android {
    compileSdkVersion Integer.valueOf(COMPILE_SDK_VERSION)
    buildToolsVersion String.valueOf(BUILD_TOOLS_VERSION)
    defaultConfig {
        applicationId "your application ID"
        versionName = VERSION_NAME
        versionCode = Integer.valueOf(VERSION_CODE)
        minSdkVersion  Integer.valueOf(MINIMUM_SDK)
        targetSdkVersion  Integer.valueOf(COMPILE_SDK_VERSION)
    }

希望这会有所帮助。