2015-03-31 97 views
17

我安装了Android的工作室,当我尝试从gradle这个导入项目此决心错误显示出来:Android Studio中无法加载类的org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'

无法加载“org.codehaus.groovy.runtime.typehandling.ShortTypeHandling”类 。

我删除了用户.gradle文件夹中的文件,并尝试了不同的gradle版本。我不知道如何解决这个问题。

+2

检查了这一点http://stackoverflow.com/questions/28923716/getting-resolve -error-while-imported-project-in-android-studio-unable-load- – 2015-04-05 00:40:05

回答

6

This页面可能有助于解决问题。他们说的是:

所以我们利用这个版本添加了一个新的神器,名为 groovy-backports-compat23。这神器不应该是必要的 你们中的大多数,但如果你面对类似的错误:

Caused by: java.lang.ClassNotFoundException: 
org.codehaus.groovy.runtime.typehandling.ShortTypeHandling at 
java.net.URLClassLoader$1.run(URLClassLoader.java:372) 
在你的项目

,那么就意味着一类已编译的Groovy 2.3+而是你试图使用Groovy的旧版本 。通过在类路径中添加此jar,您可以让您的程序运行 。对于Gradle用户 而言,这可能特别有趣,它们想要在Gradle 2+上使用基于Gradle 2+的插件,并且可能会面临此错误。添加下面一行到他们的构建 文件应该有所帮助:

buildscript { 
    // ... 
    dependencies { 
     classpath 'some plugin build on gradle 2' 
     classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5' 
    } } 

请注意,目前,这个罐子只包含ShortTypeHandlingClass。未来版本可能包含更多。 - 更多详情,请参阅:http://glaforge.appspot.com/article/groovy-2-3-5-out-with-upward-compatibility#sthash.mv7Y8XQv.dpuf

4

我可以使用这三种方法修复此错误消息。

  1. 使用最新版本的Gradle
  2. 使用最新的Android SDK和工具。
  3. 使用proguard-rules.pro

的build.gradle(项目:XXXXX)

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.2.3' 
    } 
} 

allprojects { 
    repositories { 
     mavenCentral() 
    } 
} 

的build.gradle(模块:APP)

apply plugin: 'android' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     minSdkVersion 11 
     targetSdkVersion 19 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:+' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 
4

我有同样的问题。我从命令行运行gradle,并且确实有效。 之后,我发现文件 - >设置 - >构建,执行,部署 - >构建工具 - > Gradle。有“使用本地gradle分发”活动。将其更改为“使用默认gradle包装(推荐)”,它工作。

+0

非常感谢!我升级到Studio 1.3.1,并在水中死了几个小时,直到我找到你的答案!!!!!!! – 2015-08-15 18:58:23

+0

你救了我的命!从1.4.1升级到Studio 1.5.1后,我遇到了这个问题。这个答案有效。 – 2015-12-23 05:51:38

0

我有同样的问题。我找到了一个解决方案。

原因

此问题是由机器人gradle这个插件引起的不匹配gradle这个版本。

解决方案

编辑项目中的build.gradle。 gradle插件版本必须满足android studio的要求。

dependencies { 
    classpath 'com.android.tools.build:gradle:1.1.0' 
} 

并在gradle/wrapper/gradle-wrapper.properties编辑distrubutionUrl。 gradle版本必须满足gradle插件的要求。

distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip 

你可以找到Android的工作室,机器人gradle这个插件和gradle这个版本之间的兼容性在此页面

https://stackoverflow.com/a/29695756/3675925

相关问题