今天我遇到这个问题,当我使用android运行程序时。 Gradle 会犯这样的错误:
Error:Execution failed for task ':app:createAnzhiDebugMainDexClassList'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: java -Xmx1024M -cp /Users/Hades/Library/Android/sdk/build-tools/21.1.2/lib/dx.jar com.android.multidex.ClassReferenceListBuilder /Users/Hades/Work/Code/RentAgent/RentAgent/app/build/intermediates/multi-dex/anzhi/debug/componentClasses.jar /Users/Hades/Work/Code/RentAgent/RentAgent/app/build/intermediates/multi-dex/anzhi/debug/allclasses.jar Error Code: 1 Output: Unable to locate a Java Runtime to invoke.
你能帮帮我吗?
最佳答案
将您的应用开发项目设置为使用 multidex 配置需要您对应用开发项目进行一些修改。特别是您需要执行以下步骤:
- 更改 Gradle 构建配置以启用 multidex
- 修改 list 以引用 MultiDexApplication 类
修改您的应用 Gradle 构建文件配置以包含支持库并启用 multidex 输出。
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
阅读关于官方文档 MultiDex
如果您的 Application 类正在扩展某个其他类,而您不想或不能更改它,请override attachBaseContext()
,如下所示:
public class MyApplication extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
关于Android studio 无法运行命令 : java -Xmx1024M -cp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666261/