作为前言,我已经在StackOverflow和网络上查找了所有类似的问题,但都没有成功。我已经使用真实设备进行开发数月,没有任何问题。昨天我更新了之前使用的Android Studio到版本0.5.4。这次更新需要我升级Gradle版本到0.9,因为构建系统有一些重大变化。自从升级我的IDE后,当我尝试在设备上运行项目时,在运行控制台中会得到以下输出:
运行控制台输出
Waiting for device.
Target device: samsung-sch_i605-42f7bff119a3bf69
Uploading file
local path: C:\Users\student\Android studioProjects\DrunkModeAndroid\DrunkMode\build\apk\DrunkMode-debug-unaligned.apk
remote path: /data/local/tmp/com.launchfuture.drunk_mode
Installing com.launchfuture.drunk_mode
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.launchfuture.drunk_mode"
pkg: /data/local/tmp/com.launchfuture.drunk_mode // this line is red
Failure [INSTALL_FAILED_DEXOPT] // this line is also red
日志输出
04-06 14:44:00.066 8040-8040/? D/Finsky﹕ [1] WorkerTask.onPreExecute: Verification Requested for id = 21, data=file:///data/local/tmp/com.launchfuture.drunk_mode flags=114 fromVerificationActivity=false
04-06 14:44:01.586 12740-12740/? W/dalvikvm﹕ DexOptZ: zip archive '/data/app/com.launchfuture.drunk_mode-1.apk' does not include classes.dex
04-06 14:44:01.591 2001-2001/? W/installd﹕ DexInv: --- END '/data/app/com.launchfuture.drunk_mode-1.apk' --- status=0xff00, process failed
04-06 14:44:01.591 2001-2001/? E/installd﹕ dexopt failed on '/data/dalvik-cache/data@app@com.launchfuture.drunk_mode-1.apk@classes.dex' res = 65280
04-06 14:44:01.591 2410-2621/? W/PackageManager﹕ Package couldn't be installed in /data/app/com.launchfuture.drunk_mode-1.apk
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.code.gson:gson:2.2.+'
compile files('libs/Parse-1.4.0.jar')
compile files('libs/GoogleAnalyticsServicesAndroid_3.01/libGoogleAnalyticsServices.jar')
compile 'com.google.android.gms:play-services:4.1.32'
}
android {
compileSdkVersion 19
buildToolsVersion '19.0.0'
defaultConfig {
minSdkVersion 13
targetSdkVersion 19
}
}
我的安卓设备已经获取了Root权限,因此我可以查看指定位置的文件系统。需要注意的是,在/data/dalvik-cache/
目录中并没有提到data@app@com.launchfuture.drunk_mode-1.apk@classes.dex
。你们有没有处理这个问题的经验?
/data/dalvik-cache
上有多少可用空间? - Eugen Rieck0.9.+
更改为0.9.0
。插件的0.9.1和0.9.2存在一些问题。我不记得它们有这些症状,但是值得一试,因为只需要更改一个字符。 :-) - CommonsWare/data/dalvik-cache
下没有DEX文件,因为在尝试创建它时dexopt失败了。does not include classes.dex
表示你的APK文件中没有"classes.dex"条目--可以使用Zip工具自行检查它。 - faddenclasses.dex
文件会自动生成。那么我该如何确保在未来的APK文件编译中包含classes.dex
文件呢? - Philip Liberato