Android Studio无法加载类'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'该怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我安装了Android Studio,当我尝试从gradle导入项目时,出现了这个解决错误

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

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

提问于
用户回答回答于

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

所以我们利用这个版本添加了一个名为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用户,这可能特别有趣。将以下行添加到其构建文件应该有所帮助: buildscript { // ... dependencies { classpath 'some plugin build on gradle 2' classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5' } } 请注意,目前这个jar只包含ShortTypeHandlingClass。未来的版本可能包含更多。- 详情请参阅:http : //glaforge.appspot.com/article/groovy-2-3-5-out-with-upward-compatibility#sthash.mv7Y8XQv.dpuf

用户回答回答于

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

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

build.gradle:

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

allprojects {
    repositories {
        mavenCentral()
    }
}

build.gradle:

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'])
}

扫码关注云+社区