当我在虚拟设备中上传我的应用时,我遇到了问题,如何解决? 虚拟设备: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]
我使用擦除用户数据运行虚拟设备,但它不会帮助我。
在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
答案 0 :(得分:4)
问题的最常见原因是android上的dex限制。有两种限制,首先是你可以拥有的方法数量,第二种是缓存大小(以某种方式直接相关)
Google在此处记录了此问题:http://code.google.com/p/android/issues/detail?id=22586
所以第一个问题是你要安装哪个Android版本。然后使用dexdump工具(在android SDK中的构建工具中)并找出你拥有的方法的数量。