失败[INSTALL_FAILED_DEXOPT]

Vla*_*lad 16 android android-studio

当我在虚拟设备上传我的应用程序时,我有一个问题,如何修复它?虚拟设备:Nexus S,CPU:Intel Atom x86.我使用的是Android Studio

Waiting for device.
Target device: emulator-5554
Uploading file
    local path: D:\git\Genius\app\build\apk\app-debug-unaligned.apk
    remote path: /data/local/tmp/com.vlad.genius.app
Installing com.vlad.genius.app
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.vlad.genius.app"
pkg: /data/local/tmp/com.vlad.genius.app
Failure [INSTALL_FAILED_DEXOPT]
Run Code Online (Sandbox Code Playgroud)

我使用擦除用户数据运行虚拟设备,但它不帮助我.

在Logcat中,我看到了这一行:

05-04 16:44:49.940    1775-1775/? W/dalvikvm? DexOptZ: zip archive '/data/app/com.vlad.genius.app-1.apk' does not include classes.dex
05-04 16:44:49.940      956-956/? W/installd? DexInv: --- END '/data/app/com.vlad.genius.app-1.apk' --- status=0xff00, process failed
05-04 16:44:49.940      956-956/? E/installd? dexopt failed on '/data/dalvik-cache/data@app@com.vlad.genius.app-1.apk@classes.dex' res = 65280
Run Code Online (Sandbox Code Playgroud)

laz*_*wiz 4

该问题最常见的原因是 Android 上的 dex 限制。有两种限制,首先是可以拥有的方法数量,其次是缓存大小(以直接相关的方式)

谷歌在这里记录了这个问题:http://code.google.com/p/android/issues/detail?id =22586

所以第一个问题是你想安装哪个 Android 版本。然后使用 dexdump 工具(在 android SDK 的 build-tool 中)并找出您拥有的方法数量。