安装失败,因为设备可能有与当前版本不匹配的陈旧dexed jar(dexopt错误)

时间:2015-04-11 11:26:48

标签: android-studio android-2.3-gingerbread failed-installation dexopt

我无法从Android工作室运行app到运行android 2.3.6的samsumg手机。我正在获取应用程序安装失败的弹出窗口参见下面的屏幕截图。

enter image description here

当我点击OK时,我在日志中得到以下错误

Failure [INSTALL_FAILED_DEXOPT]
DEVICE SHELL COMMAND: pm uninstall my.package.name
Unknown failure

我添加了名为" App Engine后端与Google Cloud Messaging"的Google云端模块后遇到了麻烦。

这与堆栈溢出问题here

之一中描述的问题完全相同

我尝试了接受的答案。

Ran dex-method-counts 我得到的应用程序"总方法计数:24474"在终端。我不明白接下来该做什么?

(注意:同样的应用程序正在我在kitkat上运行的其他设备上运行。)

请帮助解决此问题。我过去两天都在苦苦挣扎。我知道有很多类似的问题,但没有任何帮助。

内置 - >清洁无效。

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "my.package.name"
        minSdkVersion 9
        targetSdkVersion 19
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}


dependencies {
    compile files('libs/libGoogleAnalyticsServices.jar')
    compile project(path: ':gcmAppEngineBackend', configuration: 'android-endpoints')
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.0.0'

}

提前致谢!

8 个答案:

答案 0 :(得分:10)

这通常是因为您的设备内存空间不足。

删除部分应用并重试

答案 1 :(得分:3)

看来您的模拟器的磁盘空间不足。但是,增加磁盘空间后,仍然会出错。

我遇到了同样的问题,增加了磁盘空间,并且模拟器的出厂重置对我来说也工作得很好。要重置模拟器,请进入模拟器内的“设置”->“备份和还原”,然后重置。

答案 2 :(得分:2)

禁用Instant Run

Android Studio -> Preferences -> Instant Run

答案 3 :(得分:0)

我也有同样的问题。为了使它工作,我不得不从依赖项中删除“第三方库”。 或者试试这个:https://developer.android.com/tools/building/multidex.html

答案 4 :(得分:0)

替换这个'编译文件(' libs / libGoogleAnalyticsServices.jar')'使用这个com.google.android.gms:play-services-analytics:8.3.0'

答案 5 :(得分:0)

如果它是一个Android模拟器,向您发送“过期消息”,this在Mac上为我提供了帮助:

  1. 停止模拟器
  2. cd〜/ .android / avd / [仿真器名称] .avd
  3. rm * .lock
  4. 擦除模拟器
  5. 启动模拟器

答案 6 :(得分:0)

出现此错误时,我正在AVD-Manager中使用Nexus 4。默认情况下,此设备是使用500MB内部存储创建的。 我将存储增加到2048MB,“过期过期”错误消失了。

要增加内部存储空间:

  1. 转到ADV管理器
  2. 在“操作”下选择相应设备的“编辑”按钮
  3. 点击“显示高级设置”
  4. 增加内部存储空间

答案 7 :(得分:0)

我通过擦除数据解决了这个问题。

  

Android Studio-> AVD Manager->操作->擦除数据